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"




















Tokens are considered as outdated every two weeks.

GET /auth/refresh-token

This route allows to make their lifetime long before they get outdated.

Responses

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




















Responses

  • OTP by email enabled

  • Invalid password Wrong or expired token Inactive user

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





























































































Responses

  • All asset instances instantiated inside given asset

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

























































































Responses

  • All attachment files related to given project

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
























































Create a model with data given in the request body.

POST /data/entity-types

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

Responses

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












Create a model with data given in the request body.

POST /data/task-status

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

Responses

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
















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




















































































































































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
























Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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








































Create a model with data given in the request body.

POST /data/asset-instances/

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

Responses

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








































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




































































































































































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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
















































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




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












Update a model with data given in the request body.

PUT /data/plugins/{instance_id}

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

Responses

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























































































































Export as csv.

GET /export/csv/time-spents.csv

Responses

GET /export/csv/time-spents.csv
curl \
 --request GET 'http://api.example.com/export/csv/time-spents.csv' \
 --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 /data/entities/{entity_id}/output-files
curl \
 --request GET 'http://api.example.com/data/entities/{entity_id}/output-files' \
 --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"





Import shotgun resource.

POST /import/shotgun/persons

Responses

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




























Responses

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

Responses

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

























































































































































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

  • 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"




Return all day off recorded for given week and person.

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

Responses

  • All day off recorded for given week and person

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












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"

Responses

  • All preview files from open productions with states equals to processing or broken

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












Download a lowdef movie preview.

GET /movies/low/preview-files/{instance_id}.mp4

Responses

  • Lowdef movie preview downloaded

  • Instance not allowed

  • File not found

GET /movies/low/preview-files/{instance_id}.mp4
curl \
 --request GET 'http://api.example.com/movies/low/preview-files/{instance_id}.mp4' \
 --header "Authorization: $API_KEY"
















Download a generic file preview.

GET /pictures/originals/preview-files/{instance_id}.{extension}

Responses

  • Generic file preview downloaded

  • Instance not allowed

  • Non-movie file not found

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
































































Create a thumbnail for given object instance.

POST /pictures/thumbnails/preview-background-files/{instance_id}.png

Path parameters

Responses

  • Thumbnail created

  • Cannot found related object.

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












Allow to change orders of previews for a single revision.

PUT /actions/preview-files/{preview_file_id}/update-position

This preview will be used to illustrate the entity.

Responses

  • Orders of previews changed for a single revision

PUT /actions/preview-files/{preview_file_id}/update-position
curl \
 --request PUT 'http://api.example.com/actions/preview-files/{preview_file_id}/update-position' \
 --header "Authorization: $API_KEY"









































































































Retrieve schedule items for given production

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

Responses

  • All schedule items of given production

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




































Delete a budget for given production

DELETE /data/projects/{project_id}/budgets/{budget_id}

Responses

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










































Responses

  • All task types related to given shot

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








Responses

  • Data versions of given shot

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

Retrieve all scene entries.

GET /data/scenes/all

Filters can be specified in the query string.

Responses

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




































































































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"









































Delete a comment corresponding at given ID.

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

Responses

  • Comment corresponding at given ID deleted

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




Get time spent on a given task and date.

GET /actions/tasks/{task_id}/time-spents/{date}

Responses

  • Time spent on given task and date

  • Wrong date format

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









































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




























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




















































Responses

  • True if current user has subscribed to given task, False otherwise

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