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

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





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








Retrieve all entities that are not shot or sequence.

GET /data/assets/with-tasks

Adds project name and asset type name and all related tasks. If episode_id is given as parameter, it returns assets not linked to an episode and assets linked to given episode.

Responses

  • All assets with tasks

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




































Retrieve all scene asset instances linked to asset.

GET /data/assets/{asset_id}/scene-asset-instances

Responses

  • All scene asset instances linked to asset

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




Create an asset instance inside given asset.

POST /data/assets/{asset_id}/asset-asset-instances

Path parameters

Responses

  • Asset instance created inside given asset

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




















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
























Responses

  • All attachment files related to given task

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

































































































































































































































































































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
































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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












































































































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"
































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"








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"








































































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"













































































































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"
































































































































































































Responses

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
































POST /import/shotgun/errors
curl \
 --request POST 'http://api.example.com/import/shotgun/errors' \
 --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 aggregated time spents for given person and day.

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

Path parameters

Responses

  • Aggregated time spents for given person and day

  • Wrong date format

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




















Allow admin to change password for given user.

POST /actions/persons/{person_id}/change-password

Prior to modifying the password, it requires to be admin. An admin can't change other admins password. The new password requires a confirmation to ensure that the admin didn't make a mistake by typing the new password.

Path parameters

Responses

  • Password changed

  • Invalid password or inactive user

POST /actions/persons/{person_id}/change-password
curl \
 --request POST 'http://api.example.com/actions/persons/{person_id}/change-password' \
 --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"
































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




























































































Set given preview as main preview of the related entity.

PUT /actions/preview-files/{preview_file_id}/set-main-preview

This preview will be used to illustrate the entity.

Responses

  • Given preview set as main preview

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

















Return all projects listed in database.

GET /data/projects/all

Ensure that user has at least the manager level before that.

Responses

  • All projects listed in database

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








































Remove a task status from a production.

DELETE /data/projects/{project_id}/settings/task-status/{task_status_id}

Responses

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
























Get all metadata descriptors

GET /data/projects/{project_id}/metadata-descriptors

It serves to describe extra fields listed in the data attribute of entities.

Responses

  • All metadata descriptors

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




Retrieve asset types schedule items for given task type

GET /data/projects/{project_id}/schedule-items/{task_type_id}/asset-types

Responses

  • All asset types schedule items for given task type

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






























































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








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












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"




























































Responses

  • All task types related to given episode

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
































Responses

  • All tasks related to given shot

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




























































































































For schedule usages, for each active person, it returns the first start

GET /data/persons/task-dates

date of all tasks of assigned to this person and the last end date.

Responses

  • For each person, the first start date of all tasks of assigned to this person and the last end date.

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