IceProd REST API ================ .. toctree:: :hidden: Datasets Config Jobs Tasks Task Stats Logs Grids Pilots Auth :doc:`Datasets ` -------------------------- ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== GET /datasets get a dict of datasets POST /datasets create new dataset GET /datasets/ get a dataset PUT /datasets//status update dataset status PUT /datasets//description update dataset description PUT /datasets//jobs_submitted update dataset jobs_submitted GET /dataset_summaries/status get dataset ids grouped by status ====== ============================================== ================================================================== :doc:`Config ` ---------------------- ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== GET /config/ get a config PUT /config/ create/update a config ====== ============================================== ================================================================== :doc:`Jobs ` ------------------ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== GET /datasets//jobs get a list of jobs, filtered by dataset_id GET /datasets//jobs/ get a job PUT /datasets//jobs//status set a job status GET /datasets//job_summaries/status get a summary of jobs grouped by status GET /datasets//job_counts/status get a count of jobs grouped by status ====== ============================================== ================================================================== Jobs (internal use only) ^^^^^^^^^^^^^^^^^^^^^^^^ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== POST /jobs create a job GET /jobs/ get a job PATCH /jobs/ update a job ====== ============================================== ================================================================== :doc:`Tasks ` -------------------- ====== ============================================================ ================================================================== Method Path Description ====== ============================================================ ================================================================== GET /datasets//tasks get a list of tasks, filtered by dataset_id, job_id, grid_id GET /datasets//tasks/ get a task PUT /datasets//tasks//status set a task status GET /datasets//task_summaries/status get a summary of tasks grouped by status GET /datasets//task_counts/status get a count of tasks grouped by status GET /datasets//task_counts/name_status get a count of tasks grouped by name and status POST /datasets//task_actions/bulk_status/ set a task status in bulk PATCH /datasets//task_actions/bulk_requirements/ set a task requirement in bulk, by task name GET /datasets//task_stats get simple stats for a dataset GET /datasets//files get all the files in a dataset POST /datasets//files add a file to a dataset, specifying url, job, task name GET /datasets//files/ get files for a task POST /datasets//files/ add a file to a task DELETE /datasets//files/ delete all files from a task ====== ============================================================ ================================================================== Tasks (internal use only) ^^^^^^^^^^^^^^^^^^^^^^^^^ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== POST /tasks create a task GET /tasks/ get a task PATCH /tasks/ update a task POST /tasks//task_actions/reset reset a task POST /tasks//task_actions/complete complete a task POST /task_actions/queue queue some tasks POST /task_actions/process process some tasks ====== ============================================== ================================================================== :doc:`Task Stats ` ------------------------------ ====== ==================================================================== ================================================================== Method Path Description ====== ==================================================================== ================================================================== GET /datasets//tasks//task_stats get a list of task stats GET /datasets//tasks//task_stats/ get a task stat ====== ==================================================================== ================================================================== Task Stats (internal use only) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== POST /tasks//task_stats create a task stat ====== ============================================== ================================================================== :doc:`Logs ` ------------------ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== POST /datasets//logs create a log GET /datasets//logs/ get a log GET /datasets//tasks//logs get logs for a dataset and task ====== ============================================== ================================================================== Logs (internal use only) ^^^^^^^^^^^^^^^^^^^^^^^^ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== POST /logs create a log GET /logs/ get a log ====== ============================================== ================================================================== :doc:`Grids ` -------------------- ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== GET /grids get a list of grids POST /grids create a new grid GET /grids/ get a grid ====== ============================================== ================================================================== :doc:`Pilots ` ---------------------- ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== GET /pilots get a list of pilots, filtered by grid_id POST /pilots create a pilot GET /pilots/ get a pilot PATCH /pilots/ update a pilot DELETE /pilots/ delete a pilot ====== ============================================== ================================================================== :doc:`Auth ` ------------------ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== GET /roles get a list of roles PUT /roles/ create a role GET /roles/ get a role DELETE /roles/ delete a role GET /groups get a list of groups POST /groups add a group GET /groups/ get a group DELETE /groups/ delete a group GET /users get a list of users POST /users add a user GET /users/ get a user DELETE /users/ delete a user GET /users//groups get the groups for a user POST /users//groups add a group to a user PUT /users//groups set the groups for a user PUT /users//roles set the roles for a user POST /ldap create a token from an LDAP username/password lookup POST /create_token create a token from another token ====== ============================================== ================================================================== Internal auth ^^^^^^^^^^^^^ ====== ============================================== ================================================================== Method Path Description ====== ============================================== ================================================================== PUT /auths/ set authorization rules for dataset GET /auths/ get authorization rules for dataset GET /auths//actions/read does the current token have read access to this dataset? GET /auths//actions/write does the current token have write access to this dataset? ====== ============================================== ==================================================================