Authentication

Jwt authorization (http_api_key)

Format in header: Authorization: Bearer {token}.

Value example: Bearer xxxxx.yyyyy.zzzzz


Log in user by creating and registering auth tokens.

POST /auth/login

Login is based on email and password. If no user match given email and a destkop ID, it looks in matching the desktop ID with the one stored in database. It is useful for clients that run on desktop tools and that don't know user email.

Responses

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




















































Responses

  • OTP by email disabled.

  • Invalid password. Wrong or expired token. Inactive user. Wrong 2FA.

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













































































Responses

  • Modification of assets linked to given asset

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




Create new asset with given parameters.

POST /data/projects/{project_id}/asset-types/{asset_type_id}/assets/new

Path parameters

Responses

  • New asset resource created

POST /data/projects/{project_id}/asset-types/{asset_type_id}/assets/new
curl \
 --request POST 'http://api.example.com/data/projects/{project_id}/asset-types/{asset_type_id}/assets/new' \
 --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"

Share or unshare all assets for given project and asset type.

POST /actions/projects/{project_id}/asset-types/{asset_type_id}/assets/share

Path parameters

Responses

  • All assets modified.

POST /actions/projects/{project_id}/asset-types/{asset_type_id}/assets/share
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/asset-types/{asset_type_id}/assets/share' \
 --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"

Create an asset instance on given scene.

POST /data/scenes/{scene_id}/asset-instances

Path parameters

Responses

  • Asset instances created on given scene

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

























































Creates new comments for given task. Each comments requires a text, a

POST /actions/tasks/{task_id}/batch-comment

task_status and a person as arguments.

Path parameters

Responses

  • New comments created

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




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
















































Retrieve all entries for given model.

GET /data/entities

Filters can be specified in the query string.

Responses

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








Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




Create a model with data given in the request body.

POST /data/task-types

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

Responses

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
































Retrieve all entries for given model.

GET /data/tasks

Filters can be specified in the query string.

Responses

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




















Update a model with data given in the request body.

PUT /data/departments/{instance_id}

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

Responses

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












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
































Create a model with data given in the request body.

POST /data/softwares

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

Responses

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




















Responses

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
































Create a model with data given in the request body.

POST /data/preview-files

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

Responses

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




Update a model with data given in the request body.

PUT /data/preview-files/{instance_id}

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

Responses

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

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

Responses

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




Retrieve all entries for given model.

GET /data/comments

Filters can be specified in the query string.

Responses

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
























































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

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

Responses

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




















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
































Create a model with data given in the request body.

POST /data/schedule-items/

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

Responses

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












































Update a model with data given in the request body.

PUT /data/milestones/{instance_id}

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

Responses

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












































Retrieve all entries for given model.

GET /data/entity-links/

Filters can be specified in the query string.

GET /data/entity-links/
curl \
 --request GET 'http://api.example.com/data/entity-links/' \
 --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/preview-background-files

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

Responses

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




































Create a model with data given in the request body.

POST /data/salary-scales

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

Responses

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





























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




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































































Export a given playlist as csv.

GET /export/csv/playlists/{playlist_id}

Responses

  • Playlist exported as csv

GET /export/csv/playlists/{playlist_id}
curl \
 --request GET 'http://api.example.com/export/csv/playlists/{playlist_id}' \
 --header "Authorization: $API_KEY"













































Get next revision for given asset instance, output type, task type and name.

POST /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/next-revision

Path parameters

Responses

  • Next revision for given asset instance, output type, task type and name

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




























Responses

  • Last revisions of output files for given entity grouped by output type and file name

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












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













































Responses

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




















































Responses

  • The lists of imported persons.

  • The .csv file is not properly formatted.

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

Import project assets via a .csv file.

POST /import/csv/projects/{project_id}/assets

Path parameters

Responses

  • The lists of imported assets.

  • The .csv file is not properly formatted.

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








Import project casting links via a .csv file.

POST /import/csv/projects/{project_id}/casting

Path parameters

Responses

  • The lists of imported casting links.

  • The .csv file is not properly formatted.

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




























Responses

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























































































































































Allow admin to disable two factor authentication for given user.

DELETE /actions/persons/{person_id}/disable-two-factor-authentication

Prior to disable two factor authentication, it requires to be admin. An admin can't disable two factor authentication for other admins.

Responses

  • Two factor authentication disabled

  • Inactive user

DELETE /actions/persons/{person_id}/disable-two-factor-authentication
curl \
 --request DELETE 'http://api.example.com/actions/persons/{person_id}/disable-two-factor-authentication' \
 --header "Authorization: $API_KEY"