Authentication

Jwt authorization (http_api_key)

Format in header: Authorization: Bearer {token}.

Value example: Bearer xxxxx.yyyyy.zzzzz






Log user out by revoking his auth tokens.

GET /auth/logout

Once logged out, current user cannot access the API anymore.

Responses

  • Logout successful

  • Access token not found

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
































































Responses

  • FIDO device registered.

  • Invalid password Wrong or expired token Inactive user

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






































































































































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
















Delete given entity link.

DELETE /data/projects/{project_id}/entity-links/{entity_link_id}

It's mainly used for synchronisation purpose.

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






















































































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"

Create a model with data given in the request body.

POST /data/projects

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

Responses

POST /data/projects
curl \
 --request POST '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"




Create a model with data given in the request body.

POST /data/project-status

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

Responses

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
























































































































Retrieve all entries for given model.

GET /data/organisations

Filters can be specified in the query string.

Responses

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








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/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/day-offs/

Filters can be specified in the query string.

Responses

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








































































































































































































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

Update a model with data given in the request body.

PUT /data/entity-links/{instance_id}

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

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








Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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








































Retrieve all entries for given model.

GET /data/studios

Filters can be specified in the query string.

Responses

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





































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




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

Responses

  • All news linked to given entity

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



























































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












































Responses

  • All output files for given asset instance and given temporal entity (shot, sequence, etc.)

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





Responses

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

Responses

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




































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




















































Import remove instance.

POST /import/shotgun/remove/note

Responses

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
























































Responses

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





































































Get ended shots used for quota calculation of this month.

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

Responses

  • Ended shots used for quota calculation of this month

  • Wrong date format

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
























Responses

  • All day off recorded for given month

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




Return all day off recorded for given month and person.

GET /data/persons/{person_id}/day-offs/month/{year}/{month}

Responses

  • All day off recorded for given month and person

GET /data/persons/{person_id}/day-offs/month/{year}/{month}
curl \
 --request GET 'http://api.example.com/data/persons/{person_id}/day-offs/month/{year}/{month}' \
 --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"

Retrieve all playlists related to given project.

POST /data/projects/{project_id}/playlists/temp

It's mainly used for synchronisation purpose.

Path parameters

Responses

  • All playlists related to given project

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






















































































































































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




















Add a task type linked to a production.

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

Path parameters

Responses

  • Task type added to production

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
















Remove a preview background file from a production.

DELETE /data/projects/{project_id}/settings/preview-background-files/{preview_background_file_id}

Responses

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




















































Retrieve time spents for given production

GET /data/projects/{project_id}/time-spents

Responses

  • All time spents of given production

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


























































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
















Retrieve all previews related to a given shot.

GET /data/shots/{shot_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/shots/{shot_id}/preview-files
curl \
 --request GET 'http://api.example.com/data/shots/{shot_id}/preview-files' \
 --header "Authorization: $API_KEY"
































Path parameters

Responses

  • Given scene marked as source of given shot

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












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




























Responses

  • All episodes related to given project

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
















Retrieve quotas statistics for shots.

GET /data/projects/{project_id}/quotas/persons/{person_id}

Responses

  • Quotas statistics for shots

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





































































































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

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

Path parameters

Responses

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

  • Wrong date format

POST /actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}
curl \
 --request POST 'http://api.example.com/actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}' \
 --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"

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"












Change a task status to "to review".

PUT /actions/tasks/{task_id}/to-review

It creates a new preview file entry and set path from the hard disk.

Responses

  • Task status changed to "to review"

  • Given person not found

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





















































































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
























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

Responses

  • Filter groups for current user and only for open projects

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

Responses

  • Filter groups for the current user and only for open projects created.

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












































DELETE /actions/user/clear-avatar
curl \
 --request DELETE 'http://api.example.com/actions/user/clear-avatar' \
 --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"





























Get chat message.

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

Path parameters

Responses

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




Entity