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"












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









































































Responses

  • All assets linked to given asset

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

Responses

  • All tasks related to given asset

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

































































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"
















































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"









Retrieve all entries for given model.

GET /data/persons

Filters can be specified in the query string.

Responses

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












Retrieve all entries for given model.

GET /data/projects

Filters can be specified in the query string.

Responses

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












Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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








Update a model with data given in the request body.

PUT /data/project-status/{instance_id}

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

Responses

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
























































































































































Retrieve all entries for given model.

GET /data/softwares

Filters can be specified in the query string.

Responses

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




Responses

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












Create a model with data given in the request body.

POST /data/output-files

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

Responses

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




































































Create a model with data given in the request body.

POST /data/comments

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

Responses

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
































Create a model with data given in the request body.

POST /data/day-offs/

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

Responses

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




























































































































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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
















































GET /data/schedule-items/{instance_id}
curl \
 --request GET 'http://api.example.com/data/schedule-items/{instance_id}' \
 --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"












































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
























































Update a model with data given in the request body.

PUT /data/chats/{instance_id}

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

Responses

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




















































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




















Responses

  • All efits related to given episode

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



























































Export as csv.

GET /export/csv/projects.csv

Responses

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





































Get next revision for given asset instance, output type, task type and name.

POST /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/next-revision

Path parameters

Responses

  • Next revision for given asset instance, output type, task type and name

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




































































Update working file modification date with current date.

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

Responses

  • Working file modification date updated

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





















































































Import remove instance.

POST /import/shotgun/remove/sequence

Responses

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
























Import remove instance.

POST /import/shotgun/remove/version

Responses

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

Responses

  • The lists of imported persons.

  • The .csv file is not properly formatted.

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




Import project shots via a .csv file.

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

Path parameters

Responses

  • The lists of imported assets.

  • The .csv file is not properly formatted.

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

















































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
















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



































































































































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"

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"




Remove given build job related to given playlist.

DELETE /data/playlists/{playlist_id}/jobs/{build_job_id}

Responses

  • Given build job removed

DELETE /data/playlists/{playlist_id}/jobs/{build_job_id}
curl \
 --request DELETE 'http://api.example.com/data/playlists/{playlist_id}/jobs/{build_job_id}' \
 --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 person to a production team.

POST /data/projects/{project_id}/team

Path parameters

Responses

  • Person added to the production team

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




















































































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"

Retrieve sequences schedule items for given task type

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

Responses

  • All sequences schedule items for given task type

GET /data/projects/{project_id}/schedule-items/{task_type_id}/sequences
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/schedule-items/{task_type_id}/sequences' \
 --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/scenes/{scene_id}
curl \
 --request GET 'http://api.example.com/data/scenes/{scene_id}' \
 --header "Authorization: $API_KEY"




















Delete given shot from given scene.

DELETE /data/scenes/{scene_id}/shots/{shot_id}

Responses

  • Given shot deleted from given scene

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








































Retrieve all sequence entries.

GET /data/sequences

Filters can be specified in the query string.

Responses

  • All sequence entries

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




















Delete all tasks for a given task type and project.

DELETE /actions/projects/{project_id}/task-types/{task_type_id}/delete-tasks

It's mainly used when tasks are created by mistake at the beginning of the project.

Responses

  • All tasks for given task type and project deleted

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








Responses

  • All assignations removed

PUT /actions/tasks/clear-assignation
curl \
 --request PUT 'http://api.example.com/actions/tasks/clear-assignation' \
 --header "Authorization: $API_KEY"
































Delete preview from given comment.

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

Responses

  • Preview deleted from given comment

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

























Responses

  • Avatar file deleted

DELETE /actions/persons/{person_id}/clear-avatar
curl \
 --request DELETE 'http://api.example.com/actions/persons/{person_id}/clear-avatar' \
 --header "Authorization: $API_KEY"

Responses

  • Context to properly run a full app connected to the API

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




















Responses

  • Tasks related to given shot for current user

GET /data/user/shots/{shot_id}/task-types
curl \
 --request GET 'http://api.example.com/data/user/shots/{shot_id}/task-types' \
 --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"


















































Set last preview from given task as main preview of the related entity.

PUT /actions/tasks/{task_id}/set-main-preview

This preview will be used as thumbnail to illustrate the entity.

Responses

  • Given preview set as main preview

PUT /actions/tasks/{task_id}/set-main-preview
curl \
 --request PUT 'http://api.example.com/actions/tasks/{task_id}/set-main-preview' \
 --header "Authorization: $API_KEY"