Responses

  • OTP by email enabled

  • Invalid password Wrong or expired token Inactive user

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




Responses

  • OTP by email disabled.

  • Invalid password. Wrong or expired token. Inactive user. Wrong 2FA.

DELETE /auth/email-otp
curl \
 --request DELETE 'http://api.example.com/auth/email-otp' \
 --header "Authorization: $API_KEY"

































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




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




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




































Responses

  • All asset instances instantiated inside given asset

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
























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

























Resource to retrieve the casting of assets from given asset type.

GET /data/projects/{project_id}/asset-types/{asset_type_id}/casting

Responses

  • Casting of assets from given asset type

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
































Responses

  • All camera instances linked to scene

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













Acknowledge given comment.

POST /data/tasks/{task_id}/comments/{comment_id}/ack

If it's already acknowledged, remove acknowledgement.

Path parameters

Responses

  • Comment acknowledged

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








































Creates new comments for given task. Each comments requires a task_id,

POST /actions/tasks/batch-comment

text, a task_status and a person as arguments.

Responses

  • New comments created

POST /actions/tasks/batch-comment
curl \
 --request POST 'http://api.example.com/actions/tasks/batch-comment' \
 --header "Authorization: $API_KEY"





































































Update a model with data given in the request body.

PUT /data/entity-types/{instance_id}

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

Responses

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

Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




































































Retrieve all entries for given model.

GET /data/departments

Filters can be specified in the query string.

Responses

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




























Update a model with data given in the request body.

PUT /data/organisations/{instance_id}

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

Responses

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




Retrieve all entries for given model.

GET /data/file-status/

Filters can be specified in the query string.

Responses

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




































































































Create a model with data given in the request body.

POST /data/working-files

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

Responses

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
































Retrieve all entries for given model.

GET /data/comments

Filters can be specified in the query string.

Responses

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












Retrieve all entries for given model.

GET /data/time-spents/

Filters can be specified in the query string.

Responses

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
































































































































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




Create a model with data given in the request body.

POST /data/notifications/

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

Responses

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
























Update a model with data given in the request body.

PUT /data/search-filters/{instance_id}

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

Responses

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
























Retrieve all entries for given model.

GET /data/schedule-items/

Filters can be specified in the query string.

Responses

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
















Retrieve all entries for given model.

GET /data/news/

Filters can be specified in the query string.

Responses

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
















































Update a model with data given in the request body.

PUT /data/metadata-descriptors/{instance_id}

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

Responses

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
















































Create a model with data given in the request body.

POST /data/chats/

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

Responses

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
















Create a model with data given in the request body.

POST /data/chat-messages/

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

Responses

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




















Responses

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












Create a model with data given in the request body.

POST /data/studios

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

Responses

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
























Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




Update a model with data given in the request body.

PUT /data/plugins/{instance_id}

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

Responses

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








Create a model with data given in the request body.

POST /data/plugins

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

Responses

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
















































































































Export as csv.

GET /export/csv/task-types.csv

Responses

GET /export/csv/task-types.csv
curl \
 --request GET 'http://api.example.com/export/csv/task-types.csv' \
 --header "Authorization: $API_KEY"









Create new working file.

POST /data/tasks/{task_id}/working-files/new

A working file is a file used to produce output files. It is the file the CG artist is working on. It is versioned, tied to a task and a software and requires a comment each time it is created. A path is generated for each file created. The path format is defined in the file tree template file.

Path parameters

Responses

  • New working file created

  • Given working file already exists

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




























Generate an output file path from file tree template

POST /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path

Generate file path based on several parameters: asset instance, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision in case no revision is given in parameter.

Path parameters

Responses

  • Output file path generated

  • Malformed file tree

POST /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path
curl \
 --request POST 'http://api.example.com/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path' \
 --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"








Get all output files for given entity and given output type.

GET /data/entities/{entity_id}/output-types/{output_type_id}/output-files

Responses

  • All output files for given entity and given output type

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

























































Responses

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
























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












































































Import project edits.

POST /import/csv/projects/{project_id}/edits

Path parameters

Responses

POST /import/csv/projects/{project_id}/edits
curl \
 --request POST 'http://api.example.com/import/csv/projects/{project_id}/edits' \
 --header "Authorization: $API_KEY"













































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












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




























































































































































































Download a movie preview.

GET /movies/originals/preview-files/{instance_id}/download

Responses

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




























































Responses

  • Thumbnail downloaded

  • Access not allowed

  • Object instance not found

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












































Allow to modify the annotations stored at the preview level.

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

Modifications are applied via three fields:

  • annotations to give all the annotations that need to be added.

  • updates that list annotations that needs to be modified.

  • deletions to list the IDs of annotations that needs to be removed.

Responses

  • Orders of previews changed for a single revision

PUT /actions/preview-files/{preview_file_id}/update-annotations
curl \
 --request PUT 'http://api.example.com/actions/preview-files/{preview_file_id}/update-annotations' \
 --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"




















































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"


























































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




















Responses

  • All task types related to given shot

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
















































































































Responses

  • All tasks related to given shot

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

Responses

  • All task types related to given shot

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





























































































































































Delete time spent by a person on a task for a given day.

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

Responses

  • Time spent by given person on given task for given day is removed

  • Wrong date format

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
























Create a new task for given asset and task type.

POST /actions/projects/{project_id}/task-types/{task_type_id}/assets/create-tasks

Path parameters

Responses

  • New task for given asset and task type created

POST /actions/projects/{project_id}/task-types/{task_type_id}/assets/create-tasks
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/task-types/{task_type_id}/assets/create-tasks' \
 --header "Authorization: $API_KEY"

Create a new task for given edit and task type.

POST /actions/projects/{project_id}/task-types/{task_type_id}/edits/create-tasks

Path parameters

Responses

  • New task for given edit and task type created

POST /actions/projects/{project_id}/task-types/{task_type_id}/edits/create-tasks
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/task-types/{task_type_id}/edits/create-tasks' \
 --header "Authorization: $API_KEY"




Create a new task with given task type for each entity of given

POST /actions/projects/{project_id}/task-types/{task_type_id}/create-tasks/{entity_type}/

entity type.

Path parameters

Responses

  • List of created tasks.

POST /actions/projects/{project_id}/task-types/{task_type_id}/create-tasks/{entity_type}/
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/task-types/{task_type_id}/create-tasks/{entity_type}/' \
 --header "Authorization: $API_KEY"

















































Return assets of which type is given asset type and are listed in given

GET /data/user/projects/{project_id}/asset-types/{asset_type_id}/assets

project if user has access to this project.

Responses

  • Assets of which type is given asset type and are listed in given project

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
















Responses

  • Unfinished tasks currently assigned to current user

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




































































































Return true if current user has subscribed to given sequence and

GET /data/user/entities/{sequence_id}/task-types/{task_type_id}/subscribed

task type.

Responses

  • True if current user has subscribed to given sequence and task type, False otherwise

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