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"








Responses

  • TOTP enabled

  • Invalid password Wrong or expired token Inactive user

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




































Responses

  • Login successful, redirect to the home page.

  • Wrong parameter

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

























































Retrieve all shot asset instances linked to asset.

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

Responses

  • All shot asset instances linked to asset

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




































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





































Resource to retrieve the casting of shots from all sequences of given

GET /data/projects/{project_id}/sequences/all/casting

project.

Responses

  • Casting for all shots from given project.

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

































































Create a new comment for given task.

POST /actions/tasks/{task_id}/comment

It requires a text, 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

  • New comment created

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

















Create a model with data given in the request body.

POST /data/persons

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

Responses

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




























Create a model with data given in the request body.

POST /data/departments

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

Responses

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




































































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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
































































































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




















































































































Create a model with data given in the request body.

POST /data/playlists/

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

Responses

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








































































































































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"
































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







































































































































































































GET /data/events/login-logs/last
curl \
 --request GET 'http://api.example.com/data/events/login-logs/last' \
 --header "Authorization: $API_KEY"









Export casting linked to a given project as csv.

GET /export/csv/projects/{project_id}/casting.csv

Responses

  • Casting exported as csv

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





























































































































































































Delete error.

DELETE /import/shotgun/errors/{error_id}

Responses

  • Error deleted

  • Error non-existant or Statement error

DELETE /import/shotgun/errors/{error_id}
curl \
 --request DELETE 'http://api.example.com/import/shotgun/errors/{error_id}' \
 --header "Authorization: $API_KEY"




















































































Import an OTIO file to enter frame_in / frame_out / nb_frames (it can

POST /import/otio/projects/{project_id}/episodes/{episode_id}

be every adapter supported by OpenTimelineIO, for example: edl, otio...
).

Path parameters

Responses

  • .

  • The .otio file is not properly formatted.

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












Responses

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

























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



































































































































Retrieve all playlists related to given project.

GET /data/projects/{project_id}/playlists/all

It's mainly used for synchronisation purpose.

Responses

  • All playlists related to given project

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




















































































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












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








Preview files related to a given project.

GET /data/projects/{project_id}/preview-files

Responses

  • Preview files related to given project

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




































































Create a new task for given shot and task type.

POST /actions/projects/{project_id}/task-types/{task_type_id}/shots/create-tasks

Path parameters

Responses

  • New task for given shot and task type created

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





































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
























































Responses

  • Filters for current user and only for open projects

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

Responses

  • Filter for current user and only for open projects created

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
















Responses

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

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




















Responses

  • Day off object for current user and given date

  • Wrong date format

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
















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








































































Delete given concept.

DELETE /data/concepts/{concept_id}

Responses

  • Given concept deleted

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