Authentication

Jwt authorization (http_api_key)

Format in header: Authorization: Bearer {token}.

Value example: Bearer xxxxx.yyyyy.zzzzz


















Allow the user to change his password.

POST /auth/change-password

Prior to modifying the password, it requires to give the current password (to make sure the user changing the password is not someone who stealed the session). The new password requires a confirmation to ensure that the user didn't make a mistake by typing his new password.

Responses

  • Password changed

  • Invalid password or inactive user

POST /auth/change-password
curl \
 --request POST 'http://api.example.com/auth/change-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"













Retrieve all entities that are not shot or sequence.

GET /data/assets/all

Adds project name and asset type name.

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

































Add given files to the comment entry as attachments.

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

Path parameters

Responses

  • Given files added to the comment entry as attachments

POST /actions/tasks/{task_id}/comments/{comment_id}/add-attachment
curl \
 --request POST 'http://api.example.com/actions/tasks/{task_id}/comments/{comment_id}/add-attachment' \
 --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"




































Retrieve all entries for given model.

GET /data/entity-types

Filters can be specified in the query string.

Responses

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




















Create a model with data given in the request body.

POST /data/entities

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

Responses

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








































































































































































Responses

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
























Delete a preview file corresponding at given ID and retuns

DELETE /data/preview-files/{instance_id}

a 204 status code.

Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




















Update a model with data given in the request body.

PUT /data/events/{instance_id}

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

Responses

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












































































































Create a model with data given in the request body.

POST /data/milestones/

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

Responses

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












































Retrieve all entries for given model.

GET /data/chats/

Filters can be specified in the query string.

Responses

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




















Update a model with data given in the request body.

PUT /data/studios/{instance_id}

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

Responses

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




Retrieve all salary scale entries.

GET /data/salary-scales

Retrieve all salary scale entries.

Responses

  • All salary scale entries

  • Permission denied

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
















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"

















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








Retrieve all previews related to a given edit.

GET /data/edits/{edit_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 edit

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








Responses

  • All tasks related to given episode

GET /data/episodes/{episode_id}/edit-tasks
curl \
 --request GET 'http://api.example.com/data/episodes/{episode_id}/edit-tasks' \
 --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 all output files for given asset instance and given output type.

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

Responses

  • All output files for given asset instance and given output type

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




Responses

  • All working files for given entity and possibly a task and a name

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

































































Responses

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
















Responses

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












Responses

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








































































































Responses

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






































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 month.

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

Responses

  • Aggregated time spents for given person and month

  • Wrong date format

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




























Responses

  • Table giving time spent by user and by week for given year

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

















































































Download given playlist build as .mp4.

GET /data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4

Responses

  • Given playlist build downloaded as .mp4

  • Build not finished, need to retry later

GET /data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4
curl \
 --request GET 'http://api.example.com/data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4' \
 --header "Authorization: $API_KEY"





















































Download a thumbnail.

GET /pictures/previews/preview-files/{instance_id}.png

Responses

  • Thumbnail downloaded

  • Instance not allowed

  • Picture file not found

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








Create a thumbnail for given object instance.

POST /pictures/thumbnails/organisations/{instance_id}

Path parameters

Responses

  • Thumbnail created

  • Cannot found related object.

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





































































Return the list of projects currently running.

GET /data/projects/open

Most of the time, past projects are not needed.

Responses

  • All running projects

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








































































































































Update a budget entry for given production and budget

PUT /data/projects/{project_id}/budgets/{budget_id}/entries/{entry_id}

Responses

  • Budget entry updated

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


































































































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









































































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"
















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



















Retrieve all concept entries.

GET /data/concepts

Filters can be specified in the query string.

Responses

  • All concept entries

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




















Retrieve all previews related to a given concept.

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




Create a concept for given project.

POST /data/projects/{project_id}/concepts

Path parameters

Responses

  • Concept created for given project

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