Resource to allow a user to change his password when he forgets it.

PUT /auth/reset-password

It uses a classic scheme: a token is sent by email to the user. Then he can change his password.

Responses

  • Password reset

  • Invalid password Wrong or expired token Inactive user

PUT /auth/reset-password
curl \
 --request PUT 'http://api.example.com/auth/reset-password' \
 --header "Authorization: $API_KEY"

































































GET /data/asset-types
curl \
 --request GET 'http://api.example.com/data/asset-types' \
 --header "Authorization: $API_KEY"




















DELETE /data/assets/{asset_id}
curl \
 --request DELETE 'http://api.example.com/data/assets/{asset_id}' \
 --header "Authorization: $API_KEY"




















































Responses

  • All asset types of assets casted in given shot

GET /data/shots/{shot_id}/asset-types
curl \
 --request GET 'http://api.example.com/data/shots/{shot_id}/asset-types' \
 --header "Authorization: $API_KEY"

Responses

  • All assets for given project

GET /data/projects/{project_id}/assets
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/assets' \
 --header "Authorization: $API_KEY"








Share or unshare all assets for given project and asset type.

POST /actions/projects/{project_id}/asset-types/{asset_type_id}/assets/share

Path parameters

Responses

  • All assets modified.

POST /actions/projects/{project_id}/asset-types/{asset_type_id}/assets/share
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/asset-types/{asset_type_id}/assets/share' \
 --header "Authorization: $API_KEY"

Retrieve all shared assets used in project.

GET /data/projects/{project_id}/assets/shared-used

Responses

  • All shared assets used in project

GET /data/projects/{project_id}/assets/shared-used
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/assets/shared-used' \
 --header "Authorization: $API_KEY"









































Responses

  • All asset instances linked to given scene

GET /data/scenes/{scene_id}/asset-instances
curl \
 --request GET 'http://api.example.com/data/scenes/{scene_id}/asset-instances' \
 --header "Authorization: $API_KEY"
















Remove an asset instance from given shot.

DELETE /data/shots/{shot_id}/asset-instances/{asset_instance_id}

Responses

  • Asset instance removed from given shot

DELETE /data/shots/{shot_id}/asset-instances/{asset_instance_id}
curl \
 --request DELETE 'http://api.example.com/data/shots/{shot_id}/asset-instances/{asset_instance_id}' \
 --header "Authorization: $API_KEY"

















Download attachment file.

GET /data/attachment-files/{attachment_file_id}/file/{file_name}

Responses

  • Attachment file downloaded

  • Download failed

GET /data/attachment-files/{attachment_file_id}/file/{file_name}
curl \
 --request GET 'http://api.example.com/data/attachment-files/{attachment_file_id}/file/{file_name}' \
 --header "Authorization: $API_KEY"

































































Retrieve all entries for given model.

GET /data/project-status

Filters can be specified in the query string.

Responses

GET /data/project-status
curl \
 --request GET 'http://api.example.com/data/project-status' \
 --header "Authorization: $API_KEY"
















Retrieve all entries for given model.

GET /data/entity-types

Filters can be specified in the query string.

Responses

GET /data/entity-types
curl \
 --request GET 'http://api.example.com/data/entity-types' \
 --header "Authorization: $API_KEY"
















































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

DELETE /data/task-types/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/task-types/{instance_id}' \
 --header "Authorization: $API_KEY"




Create a model with data given in the request body.

POST /data/task-status

JSON format is expected. The model performs the validation automatically when instantiated.

Responses

POST /data/task-status
curl \
 --request POST 'http://api.example.com/data/task-status' \
 --header "Authorization: $API_KEY"








Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

DELETE /data/task-status/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/task-status/{instance_id}' \
 --header "Authorization: $API_KEY"
















Create a model with data given in the request body.

POST /data/departments

JSON format is expected. The model performs the validation automatically when instantiated.

Responses

POST /data/departments
curl \
 --request POST 'http://api.example.com/data/departments' \
 --header "Authorization: $API_KEY"








































































Retrieve all entries for given model.

GET /data/output-files

Filters can be specified in the query string.

Responses

GET /data/output-files
curl \
 --request GET 'http://api.example.com/data/output-files' \
 --header "Authorization: $API_KEY"




























































































































Update a model with data given in the request body.

PUT /data/time-spents/{instance_id}

JSON format is expected. Model performs the validation automatically when fields are modified.

Responses

PUT /data/time-spents/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/time-spents/{instance_id}' \
 --header "Authorization: $API_KEY"
















































Create a model with data given in the request body.

POST /data/status-automations/

JSON format is expected. The model performs the validation automatically when instantiated.

Responses

POST /data/status-automations/
curl \
 --request POST 'http://api.example.com/data/status-automations/' \
 --header "Authorization: $API_KEY"
GET /data/status-automations/{instance_id}
curl \
 --request GET 'http://api.example.com/data/status-automations/{instance_id}' \
 --header "Authorization: $API_KEY"

Update a model with data given in the request body.

PUT /data/status-automations/{instance_id}

JSON format is expected. Model performs the validation automatically when fields are modified.

Responses

PUT /data/status-automations/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/status-automations/{instance_id}' \
 --header "Authorization: $API_KEY"

Retrieve all entries for given model.

GET /data/asset-instances/

Filters can be specified in the query string.

Responses

GET /data/asset-instances/
curl \
 --request GET 'http://api.example.com/data/asset-instances/' \
 --header "Authorization: $API_KEY"












































GET /data/events/{instance_id}
curl \
 --request GET 'http://api.example.com/data/events/{instance_id}' \
 --header "Authorization: $API_KEY"

Update a model with data given in the request body.

PUT /data/events/{instance_id}

JSON format is expected. Model performs the validation automatically when fields are modified.

Responses

PUT /data/events/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/events/{instance_id}' \
 --header "Authorization: $API_KEY"
























































Update a model with data given in the request body.

PUT /data/search-filter-groups/{instance_id}

JSON format is expected. Model performs the validation automatically when fields are modified.

Responses

PUT /data/search-filter-groups/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/search-filter-groups/{instance_id}' \
 --header "Authorization: $API_KEY"




































Update a model with data given in the request body.

PUT /data/news/{instance_id}

JSON format is expected. Model performs the validation automatically when fields are modified.

Responses

PUT /data/news/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/news/{instance_id}' \
 --header "Authorization: $API_KEY"












GET /data/milestones/{instance_id}
curl \
 --request GET 'http://api.example.com/data/milestones/{instance_id}' \
 --header "Authorization: $API_KEY"
































































DELETE /data/entity-links/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/entity-links/{instance_id}' \
 --header "Authorization: $API_KEY"




















Retrieve all entries for given model.

GET /data/chat-messages/

Filters can be specified in the query string.

Responses

GET /data/chat-messages/
curl \
 --request GET 'http://api.example.com/data/chat-messages/' \
 --header "Authorization: $API_KEY"




































































Update a model with data given in the request body.

PUT /data/salary-scales/{instance_id}

JSON format is expected. Model performs the validation automatically when fields are modified.

Responses

PUT /data/salary-scales/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/salary-scales/{instance_id}' \
 --header "Authorization: $API_KEY"





































GET /data/edits/{edit_id}
curl \
 --request GET 'http://api.example.com/data/edits/{edit_id}' \
 --header "Authorization: $API_KEY"
DELETE /data/edits/{edit_id}
curl \
 --request DELETE 'http://api.example.com/data/edits/{edit_id}' \
 --header "Authorization: $API_KEY"



























































GET /export/csv/projects/{project_id}/shots.csv
curl \
 --request GET 'http://api.example.com/export/csv/projects/{project_id}/shots.csv' \
 --header "Authorization: $API_KEY"













































Responses

  • Last working files revision for each file name for given task

GET /data/tasks/{task_id}/working-files/last-revisions
curl \
 --request GET 'http://api.example.com/data/tasks/{task_id}/working-files/last-revisions' \
 --header "Authorization: $API_KEY"




































Path parameters

Responses

  • Next revision for given entity, output type, task type and name

POST /data/entities/{entity_id}/output-files/next-revision
curl \
 --request POST 'http://api.example.com/data/entities/{entity_id}/output-files/next-revision' \
 --header "Authorization: $API_KEY"

Responses

  • Last revisions of output files for given entity grouped by output type and file name

GET /data/entities/{entity_id}/output-files/last-revisions
curl \
 --request GET 'http://api.example.com/data/entities/{entity_id}/output-files/last-revisions' \
 --header "Authorization: $API_KEY"




















Generate an output file path from file tree template

POST /data/entities/{entity_id}/output-file-path

Generate file path based on several parameters: entity, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision if not given.

Path parameters

Responses

  • Output file path generated

  • Malformed file tree

POST /data/entities/{entity_id}/output-file-path
curl \
 --request POST 'http://api.example.com/data/entities/{entity_id}/output-file-path' \
 --header "Authorization: $API_KEY"

Download a working file.

GET /data/working-files/{working_file_id}/file

Responses

  • Working file downloaded

GET /data/working-files/{working_file_id}/file
curl \
 --request GET 'http://api.example.com/data/working-files/{working_file_id}/file' \
 --header "Authorization: $API_KEY"




Define a template file to use for given project.

POST /actions/projects/{project_id}/set-file-tree

Template files are located on the server side. Each template has a name which means that you just have to give a name to "select" the template to link with the project.

Path parameters

Responses

  • Template file defined

  • Selected tree not available

POST /actions/projects/{project_id}/set-file-tree
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/set-file-tree' \
 --header "Authorization: $API_KEY"

































Responses

POST /import/shotgun/assets
curl \
 --request POST 'http://api.example.com/import/shotgun/assets' \
 --header "Authorization: $API_KEY"












Responses

POST /import/shotgun/versions
curl \
 --request POST 'http://api.example.com/import/shotgun/versions' \
 --header "Authorization: $API_KEY"
















Delete error.

DELETE /import/shotgun/errors/{error_id}

Responses

  • Error deleted

  • Error non-existant or Statement error

DELETE /import/shotgun/errors/{error_id}
curl \
 --request DELETE 'http://api.example.com/import/shotgun/errors/{error_id}' \
 --header "Authorization: $API_KEY"

Import remove instance.

POST /import/shotgun/remove/project

Responses

POST /import/shotgun/remove/project
curl \
 --request POST 'http://api.example.com/import/shotgun/remove/project' \
 --header "Authorization: $API_KEY"




































































































Responses

POST /import/kitsu/tasks
curl \
 --request POST 'http://api.example.com/import/kitsu/tasks' \
 --header "Authorization: $API_KEY"





















GET /status/test-event
curl \
 --request GET 'http://api.example.com/status/test-event' \
 --header "Authorization: $API_KEY"








GET /data/projects/news
curl \
 --request GET 'http://api.example.com/data/projects/news' \
 --header "Authorization: $API_KEY"




Responses

  • Single given news related to given project

GET /data/projects/{project_id}/news/{news_id}
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/news/{news_id}' \
 --header "Authorization: $API_KEY"














































































































































Download given playlist build as .mp4.

GET /data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4

Responses

  • Given playlist build downloaded as .mp4

  • Build not finished, need to retry later

GET /data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4
curl \
 --request GET 'http://api.example.com/data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4' \
 --header "Authorization: $API_KEY"













Main resource to add a preview.

POST /pictures/preview-files/{instance_id}

It stores the preview file and generates three picture files matching preview when it's possible: a square thumbnail, a rectangle thumbnail and a midsize file.

Path parameters

Responses

POST /pictures/preview-files/{instance_id}
curl \
 --request POST 'http://api.example.com/pictures/preview-files/{instance_id}' \
 --header "Authorization: $API_KEY"








Download a lowdef movie preview.

GET /movies/low/preview-files/{instance_id}.mp4

Responses

  • Lowdef movie preview downloaded

  • Instance not allowed

  • File not found

GET /movies/low/preview-files/{instance_id}.mp4
curl \
 --request GET 'http://api.example.com/movies/low/preview-files/{instance_id}.mp4' \
 --header "Authorization: $API_KEY"












Download a thumbnail.

GET /pictures/originals/preview-files/{instance_id}.png

Responses

  • Thumbnail downloaded

  • Instance not allowed

  • Picture file not found

GET /pictures/originals/preview-files/{instance_id}.png
curl \
 --request GET 'http://api.example.com/pictures/originals/preview-files/{instance_id}.png' \
 --header "Authorization: $API_KEY"
























Download the thumbnail linked to given object instance.

GET /pictures/thumbnails/organisations/{instance_id}.png

Responses

  • Thumbnail downloaded

  • Access not allowed

  • Object instance not found

GET /pictures/thumbnails/organisations/{instance_id}.png
curl \
 --request GET 'http://api.example.com/pictures/thumbnails/organisations/{instance_id}.png' \
 --header "Authorization: $API_KEY"








































Create a thumbnail for given object instance.

POST /pictures/thumbnails/preview-background-files/{instance_id}.png

Path parameters

Responses

  • Thumbnail created

  • Cannot found related object.

POST /pictures/thumbnails/preview-background-files/{instance_id}.png
curl \
 --request POST 'http://api.example.com/pictures/thumbnails/preview-background-files/{instance_id}.png' \
 --header "Authorization: $API_KEY"

Download a preview background file.

GET /pictures/preview-background-files/{instance_id}.{extension}

Responses

  • Preview background file downloaded

  • Preview background file not found

GET /pictures/preview-background-files/{instance_id}.{extension}
curl \
 --request GET 'http://api.example.com/pictures/preview-background-files/{instance_id}.{extension}' \
 --header "Authorization: $API_KEY"








Allow to change orders of previews for a single revision.

PUT /actions/preview-files/{preview_file_id}/update-position

This preview will be used to illustrate the entity.

Responses

  • Orders of previews changed for a single revision

PUT /actions/preview-files/{preview_file_id}/update-position
curl \
 --request PUT 'http://api.example.com/actions/preview-files/{preview_file_id}/update-position' \
 --header "Authorization: $API_KEY"





























Add an asset type linked to a production.

POST /data/projects/{project_id}/settings/asset-types

Path parameters

Responses

  • Asset type added to production

POST /data/projects/{project_id}/settings/asset-types
curl \
 --request POST 'http://api.example.com/data/projects/{project_id}/settings/asset-types' \
 --header "Authorization: $API_KEY"




























Add a status automation linked to a production.

POST /data/projects/{project_id}/settings/status-automations

Path parameters

Responses

  • Status automation added to production

POST /data/projects/{project_id}/settings/status-automations
curl \
 --request POST 'http://api.example.com/data/projects/{project_id}/settings/status-automations' \
 --header "Authorization: $API_KEY"




























Update a metadata descriptor.

PUT /data/projects/{project_id}/metadata-descriptors/{descriptor_id}

Descriptors serve to describe extra fields listed in the data attribute of entities.

Responses

  • Metadata descriptor updated

PUT /data/projects/{project_id}/metadata-descriptors/{descriptor_id}
curl \
 --request PUT 'http://api.example.com/data/projects/{project_id}/metadata-descriptors/{descriptor_id}' \
 --header "Authorization: $API_KEY"




















Retrieve episodes schedule items for given task type

GET /data/projects/{project_id}/schedule-items/{task_type_id}/episodes

Responses

  • All episodes schedule items for given task type

GET /data/projects/{project_id}/schedule-items/{task_type_id}/episodes
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/schedule-items/{task_type_id}/episodes' \
 --header "Authorization: $API_KEY"








































Delete a budget entry for given production and budget.

DELETE /data/projects/{project_id}/budgets/{budget_id}/entries/{entry_id}

Responses

DELETE /data/projects/{project_id}/budgets/{budget_id}/entries/{entry_id}
curl \
 --request DELETE 'http://api.example.com/data/projects/{project_id}/budgets/{budget_id}/entries/{entry_id}' \
 --header "Authorization: $API_KEY"


































GET /data/shots/{shot_id}/assets
curl \
 --request GET 'http://api.example.com/data/shots/{shot_id}/assets' \
 --header "Authorization: $API_KEY"












































































Responses

  • All tasks related to given episode

GET /data/episodes/{episode_id}/tasks
curl \
 --request GET 'http://api.example.com/data/episodes/{episode_id}/tasks' \
 --header "Authorization: $API_KEY"




Responses

  • All shots tasks related to given episode

GET /data/episodes/{episode_id}/shot-tasks
curl \
 --request GET 'http://api.example.com/data/episodes/{episode_id}/shot-tasks' \
 --header "Authorization: $API_KEY"

Responses

  • All assets tasks related to given episode

GET /data/episodes/{episode_id}/asset-tasks
curl \
 --request GET 'http://api.example.com/data/episodes/{episode_id}/asset-tasks' \
 --header "Authorization: $API_KEY"




















Responses

  • All scenes related to given sequence

GET /data/sequences/{sequence_id}/scenes
curl \
 --request GET 'http://api.example.com/data/sequences/{sequence_id}/scenes' \
 --header "Authorization: $API_KEY"








Responses

  • All task types related to given sequence

GET /data/sequences/{sequence_id}/shot-tasks
curl \
 --request GET 'http://api.example.com/data/sequences/{sequence_id}/shot-tasks' \
 --header "Authorization: $API_KEY"
































Responses

  • Number of tasks by status, task types and episodes for given project

GET /data/projects/{project_id}/episodes/stats
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/episodes/stats' \
 --header "Authorization: $API_KEY"

























Responses

  • Comments linked to given task

GET /data/tasks/{task_id}/comments
curl \
 --request GET 'http://api.example.com/data/tasks/{task_id}/comments' \
 --header "Authorization: $API_KEY"

Get comment corresponding at given ID.

GET /data/tasks/{task_id}/comments/{comment_id}

Responses

  • Comment corresponding at given ID

GET /data/tasks/{task_id}/comments/{comment_id}
curl \
 --request GET 'http://api.example.com/data/tasks/{task_id}/comments/{comment_id}' \
 --header "Authorization: $API_KEY"












GET /data/persons/{person_id}/tasks
curl \
 --request GET 'http://api.example.com/data/persons/{person_id}/tasks' \
 --header "Authorization: $API_KEY"




Return task assigned to given user of which status has is_done flag sets to true.

GET /data/persons/{person_id}/done-tasks

It return only tasks related to open projects.

Responses

  • Tasks assigned to user that are done

GET /data/persons/{person_id}/done-tasks
curl \
 --request GET 'http://api.example.com/data/persons/{person_id}/done-tasks' \
 --header "Authorization: $API_KEY"
































































Add given timeframe to time spent by a person on a task for a given day.

POST /actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}/add

Path parameters

Responses

  • Given timeframe added to time spent by given person on given task for given day

  • Wrong date format

POST /actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}/add
curl \
 --request POST 'http://api.example.com/actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}/add' \
 --header "Authorization: $API_KEY"





























































Responses

  • Task types related to given asset for current user

GET /data/user/assets/{asset_id}/task-types
curl \
 --request GET 'http://api.example.com/data/user/assets/{asset_id}/task-types' \
 --header "Authorization: $API_KEY"
















































Responses

  • Finished tasks currently assigned to current user

GET /data/user/done-tasks
curl \
 --request GET 'http://api.example.com/data/user/done-tasks' \
 --header "Authorization: $API_KEY"




Responses

  • Filter for current user and only for open projects created

POST /data/user/filters
curl \
 --request POST 'http://api.example.com/data/user/filters' \
 --header "Authorization: $API_KEY"
PUT /data/user/filters/{filter_id}
curl \
 --request PUT 'http://api.example.com/data/user/filters/{filter_id}' \
 --header "Authorization: $API_KEY"




































Responses

  • Day off object for current user and given date

  • Wrong date format

GET /data/user/day-offs/{date}
curl \
 --request GET 'http://api.example.com/data/user/day-offs/{date}' \
 --header "Authorization: $API_KEY"
































Remove the subscription entry matching given task and current user.

DELETE /actions/user/tasks/{task_id}/unsubscribe

The user will no longer receive notifications for this task.

Responses

  • Subscription entry removed

DELETE /actions/user/tasks/{task_id}/unsubscribe
curl \
 --request DELETE 'http://api.example.com/actions/user/tasks/{task_id}/unsubscribe' \
 --header "Authorization: $API_KEY"













































































Responses

  • All task types related to given concept

GET /data/concepts/{concept_id}/task-types
curl \
 --request GET 'http://api.example.com/data/concepts/{concept_id}/task-types' \
 --header "Authorization: $API_KEY"




Retrieve all previews related to a given concept.

GET /data/concepts/{concept_id}/preview-files

It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.

Responses

  • All previews related to given episode

GET /data/concepts/{concept_id}/preview-files
curl \
 --request GET 'http://api.example.com/data/concepts/{concept_id}/preview-files' \
 --header "Authorization: $API_KEY"