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"

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

POST /auth/reset-password

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

Responses

  • Reset token sent

  • Email not listed in database

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
























































Responses

  • Redirect to the SAML IDP.

  • Wrong parameter.

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





























































































POST /actions/projects/{project_id}/assets/share
curl \
 --request POST 'http://api.example.com/actions/projects/{project_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"





















Resource to retrieve the casting of shots from given sequence.

GET /data/projects/{project_id}/sequences/{sequence_id}/casting

Responses

  • Casting of shots from given sequence

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













































































Create several comments at once.

POST /actions/projects/{project_id}/tasks/comment-many

Each comment requires a text, a task id, a task_status and a person as arguments. This way, comments keep history of status changes. When the comment is created, it updates the task status with given task status.

Path parameters

Responses

  • Given files added to the comment entry as attachments

POST /actions/projects/{project_id}/tasks/comment-many
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/tasks/comment-many' \
 --header "Authorization: $API_KEY"













Create a model with data given in the request body.

POST /data/persons

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

Responses

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




























































































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
























































































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




















Update a model with data given in the request body.

PUT /data/softwares/{instance_id}

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

Responses

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
















































Create a model with data given in the request body.

POST /data/preview-files

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

Responses

POST /data/preview-files
curl \
 --request POST 'http://api.example.com/data/preview-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"
























Retrieve all entries for given model.

GET /data/custom-actions/

Filters can be specified in the query string.

Responses

GET /data/custom-actions/
curl \
 --request GET 'http://api.example.com/data/custom-actions/' \
 --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"








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




















































Create a model with data given in the request body.

POST /data/schedule-items/

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

Responses

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
































Retrieve all entries for given model.

GET /data/milestones/

Filters can be specified in the query string.

Responses

GET /data/milestones/
curl \
 --request GET 'http://api.example.com/data/milestones/' \
 --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"




Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




























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




















Retrieve all entries for given model.

GET /data/plugins

Filters can be specified in the query string.

Responses

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





Retrieve all edit entries.

GET /data/edits

Filters can be specified in the query string.

Responses

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

























































Responses

  • All time spents linked to given entity

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



































































































Create new output file linked to a given entity.

POST /data/entities/{entity_id}/output-files/new

Output files are linked to entities. Each time a CG artist is satisfied by what he did on a working file, he can create an output file that will be linked to a target entity (an asset, a shot, a sequence, ...). It keeps track of the working file at the origin of the output file. An output type is required for better categorization (textures, caches, ...). A task type can be set too to give the department related to the output file. Revision is automatically set.

Path parameters

Responses

  • New output file created

  • Given output file already exists Given person not found Given output type not found

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












































Update comment on given working file.

PUT /actions/working-files/{working_file_id}/comment

Responses

  • Comment updated on given working file

PUT /actions/working-files/{working_file_id}/comment
curl \
 --request PUT 'http://api.example.com/actions/working-files/{working_file_id}/comment' \
 --header "Authorization: $API_KEY"









Responses

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




















Responses

POST /import/shotgun/steps
curl \
 --request POST 'http://api.example.com/import/shotgun/steps' \
 --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"




Import the estimations of task-types for given project.

POST /import/csv/projects/{project_id}/task-types/{task_type_id}/estimations

Path parameters

Responses

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
























Responses

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













Responses

  • Status of database, key value, event stream, job queue and time

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























































































































































Retrieve all playlists related to given project.

GET /data/projects/{project_id}/playlists/{playlist_id}

Responses

  • All playlists related to given project

GET /data/projects/{project_id}/playlists/{playlist_id}
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/playlists/{playlist_id}' \
 --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"












































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/organisations/{instance_id}.png

Path parameters

Responses

  • Thumbnail created

  • Cannot found related object.

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
















































Extract a frame from a preview_file

GET /actions/preview-files/{preview_file_id}/extract-frame

Responses

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




















































Create a new metadata descriptor

POST /data/projects/{project_id}/metadata-descriptors

It serves to describe extra fields listed in the data attribute of entities.

Path parameters

Responses

  • Create a new metadata descriptor

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

Get a metadata descriptor.

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

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

Responses

  • Metadata descriptor

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








Retrieve milestones for given production

GET /data/projects/{project_id}/milestones

Responses

  • All milestones of given production

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




























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


































































































































































GET /data/sequences/with-tasks
curl \
 --request GET 'http://api.example.com/data/sequences/with-tasks' \
 --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"








Create a shot for given project.

POST /data/projects/{project_id}/shots

Path parameters

Responses

  • Shot created for given project

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













































Query parameters

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




































Responses

  • Tasks related to given entity asset, episode, sequence, shot or scene

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

Retrieve all comments to tasks related to given project.

GET /data/projects/{project_id}/comments

It's mainly used for synchronisation purpose.

Responses

  • All comments to tasks related to given project

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












Retrieve all tasks related to given project.

GET /data/projects/{project_id}/tasks

It's mainly used for synchronisation purpose.

Responses

  • All tasks related to given project

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












































Add preview metadata to given task. The preview file itself should be

POST /actions/tasks/{task_id}/comments/{comment_id}/add-preview

uploaded afterward.

Revision is automatically set: it is equal to last revision + 1. It can
be also set manually.

Path parameters

Responses

  • Preview metadata added to given task

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

Add a preview to given comment.

POST /actions/tasks/{task_id}/comments/{comment_id}/preview-files/{preview_file_id}

Path parameters

Responses

  • Preview added to given comment

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




















Create a new task for given concept and task type.

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

Path parameters

Responses

  • New task for given concept and task type created

POST /actions/projects/{project_id}/task-types/{task_type_id}/concepts/create-tasks
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/task-types/{task_type_id}/concepts/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"





































Responses

  • Tasks related to given sequence for current user

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








































Responses

  • Filters for current user and only for open projects

GET /data/user/filters
curl \
 --request GET '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"




























Create a desktop login log.

POST /data/user/desktop-login-logs

The desktop login log can only be created by the current user.

Responses

  • Desktop login log created

POST /data/user/desktop-login-logs
curl \
 --request POST 'http://api.example.com/data/user/desktop-login-logs' \
 --header "Authorization: $API_KEY"

Get time spents for current user and given date.

GET /data/user/tasks/{task_id}/time-spents/{date}

Responses

  • Time spents for current user and given date

  • Wrong date format

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
















































Return the list of sequence ids to which the current user has

GET /data/user/projects/{project_id}/task-types/{task_type_id}/sequence-subscriptions

subscribed for given task type.

Responses

  • List of sequence ids to which the current user has subscribed for given task type

GET /data/user/projects/{project_id}/task-types/{task_type_id}/sequence-subscriptions
curl \
 --request GET 'http://api.example.com/data/user/projects/{project_id}/task-types/{task_type_id}/sequence-subscriptions' \
 --header "Authorization: $API_KEY"





























Delete chat message.

DELETE /data/entities/{entity_id}/chat/messages/{chat_message_id}

Path parameters

Responses

DELETE /data/entities/{entity_id}/chat/messages/{chat_message_id}
curl \
 --request DELETE 'http://api.example.com/data/entities/{entity_id}/chat/messages/{chat_message_id}' \
 --header "Authorization: $API_KEY"




































Responses

  • All tasks related to given concept

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