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"

















































































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




















GET /data/assets/{asset_id}/casting
curl \
 --request GET 'http://api.example.com/data/assets/{asset_id}/casting' \
 --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 episode.

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

Responses

  • All shared assets used in project episode

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

Resource to retrieve the casting of a given entity.

GET /data/projects/{project_id}/entities/{entity_id}/casting

Responses

  • Casting of given entity

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








Resource to retrieve the casting of shots from given episode.

GET /data/projects/{project_id}/episodes/{episode_id}/sequences/all/casting

Responses

  • Casting for all shots from given episode.

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

Resource to retrieve the casting of shots from all sequences of given

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

project.

Responses

  • Casting for all shots from given project.

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








Delete given comment reply.

DELETE /data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}

Responses

  • Given comment reply deleted

DELETE /data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}
curl \
 --request DELETE 'http://api.example.com/data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}' \
 --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"

































































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
















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












































Retrieve all entries for given model.

GET /data/tasks

Filters can be specified in the query string.

Responses

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




























































Update a model with data given in the request body.

PUT /data/file-status/{instance_id}

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

Responses

PUT /data/file-status/{instance_id}
curl \
 --request PUT '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/output-files/{instance_id}

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

Responses

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

Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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












Update a model with data given in the request body.

PUT /data/output-types/{instance_id}

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

Responses

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

Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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








































Retrieve all entries for given model.

GET /data/attachment-files

Filters can be specified in the query string.

Responses

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




























Update a model with data given in the request body.

PUT /data/comments/{instance_id}

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

Responses

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








GET /data/time-spents/{instance_id}
curl \
 --request GET '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"




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




































Update a model with data given in the request body.

PUT /data/asset-instances/{instance_id}

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

Responses

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












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












Create a model with data given in the request body.

POST /data/events/

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

Responses

POST /data/events/
curl \
 --request POST 'http://api.example.com/data/events/' \
 --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/search-filter-groups/

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

Responses

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








Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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
























































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




Create a model with data given in the request body.

POST /data/metadata-descriptors/

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

Responses

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




Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

DELETE /data/metadata-descriptors/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/metadata-descriptors/{instance_id}' \
 --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/plugins/{instance_id}
curl \
 --request GET 'http://api.example.com/data/plugins/{instance_id}' \
 --header "Authorization: $API_KEY"

















































Responses

  • Data versions of given edit

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












Create an edit for given project.

POST /data/projects/{project_id}/edits

Path parameters

Responses

  • Edit created for given project

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






























































GET /data/files/{file_id}
curl \
 --request GET 'http://api.example.com/data/files/{file_id}' \
 --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 a working file path from file tree template.

POST /data/tasks/{task_id}/working-file-path

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

Path parameters

Responses

  • Working file path generated

  • Malformed file tree

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








Get last revisions of output files for given instance grouped by output type and file name.

GET /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/last-revisions

Responses

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

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

Return all types of output generated for given instance.

GET /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-types

Responses

  • All types of output generated for given instance and temporal_entity

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




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




















































Import remove instance.

POST /import/shotgun/remove/task

Responses

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
























Import project casting links via a .csv file.

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

Path parameters

Responses

  • The lists of imported casting links.

  • The .csv file is not properly formatted.

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




Import the estimations of task-types for given episode of given project.

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

Path parameters

Responses

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








Responses

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

Responses

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
















Responses

  • Configuration object including self-hosted status, Crisp token, indexer configuration, SAML status, and dark theme status.

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




Create desktop login logs.

POST /data/persons/{person_id}/desktop-login-logs

Add a new log entry for desktop logins.

Path parameters

Responses

  • Desktop login log entry created.

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












Get aggregated time spents for given person and year.

GET /data/persons/{person_id}/time-spents/year/{year}

Responses

  • Aggregated time spents for given person and year

  • Wrong date format

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
















Get ended shots used for quota calculation of this week.

GET /data/persons/{person_id}/quota-shots/week/{year}/{week}

Responses

  • Ended shots used for quota calculation of this week

  • Wrong date format

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
















Responses

  • Table giving time spent by user and by day for given year and month

GET /data/persons/time-spents/day-table/{year}/{month}
curl \
 --request GET 'http://api.example.com/data/persons/time-spents/day-table/{year}/{month}' \
 --header "Authorization: $API_KEY"









































Retrieve all playlists related to given project.

GET /data/projects/{project_id}/playlists

Result is paginated and can be sorted.

Responses

  • All playlists related to given project

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












Retrieve all previews related to a given entity.

GET /data/playlists/entities/{entity_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 entity

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




















Download given playlist as zip.

GET /data/playlists/{playlist_id}/download/zip

Responses

  • Given playlist downloaded as zip

GET /data/playlists/{playlist_id}/download/zip
curl \
 --request GET 'http://api.example.com/data/playlists/{playlist_id}/download/zip' \
 --header "Authorization: $API_KEY"

































Download a thumbnail.

GET /pictures/thumbnails-square/preview-files/{instance_id}.png

Responses

  • Thumbnail downloaded

  • Instance not allowed

  • Picture file not found

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