Authentication

Jwt authorization (http_api_key)

Format in header: Authorization: Bearer {token}.

Value example: Bearer xxxxx.yyyyy.zzzzz










































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




























Responses

  • FIDO device registered.

  • Invalid password Wrong or expired token Inactive user

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

Responses

  • FIDO device unregistered.

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

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









Resource to retrieve the casting of a given entity.

GET /data/projects/{project_id}/entities/{entity_id}/casting

Responses

  • Casting of given entity

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




Resource to retrieve the casting of assets from given asset type.

GET /data/projects/{project_id}/asset-types/{asset_type_id}/casting

Responses

  • Casting of assets from given asset type

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
















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"
















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"





































































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

Update a model with data given in the request body.

PUT /data/project-status/{instance_id}

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

Responses

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








































Retrieve all entries for given model.

GET /data/task-types

Filters can be specified in the query string.

Responses

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








Update a model with data given in the request body.

PUT /data/task-types/{instance_id}

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

Responses

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




Retrieve all entries for given model.

GET /data/task-status

Filters can be specified in the query string.

Responses

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
























































































Retrieve all entries for given model.

GET /data/softwares

Filters can be specified in the query string.

Responses

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




Responses

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




























Retrieve all entries for given model.

GET /data/output-types

Filters can be specified in the query string.

Responses

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
































Retrieve all entries for given model.

GET /data/attachment-files

Filters can be specified in the query string.

Responses

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

Create a model with data given in the request body.

POST /data/attachment-files

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

Responses

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




























































































Create a model with data given in the request body.

POST /data/status-automations/

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

Responses

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








































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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








































Retrieve all entries for given model.

GET /data/search-filters/

Filters can be specified in the query string.

Responses

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

Create a model with data given in the request body.

POST /data/entity-links/

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

Responses

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








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

















































































































































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

  • Data versions of given edit

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








Export as csv.

GET /export/csv/tasks.csv

Responses

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

Generate an output file path from file tree template

POST /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path

Generate file path based on several parameters: asset instance, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision in case no revision is given in parameter.

Path parameters

Responses

  • Output file path generated

  • Malformed file tree

POST /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path
curl \
 --request POST 'http://api.example.com/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path' \
 --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/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"




























Import remove instance.

POST /import/shotgun/remove/person

Responses

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




















































































Responses

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




Responses

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































































Get time spents for given person and date.

GET /data/persons/{person_id}/time-spents/{date}

Responses

  • Time spents for given person and date

  • Wrong date format

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






















































































































































Download a movie preview.

GET /movies/originals/preview-files/{instance_id}/download

Responses

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

Path parameters

Responses

  • Thumbnail created

  • Cannot found related object.

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





































































































































Create a new metadata descriptor

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

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

Path parameters

Responses

  • Create a new metadata descriptor

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




























Retrieve episodes schedule items for given task type

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

Responses

  • All episodes schedule items for given task type

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












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






























































































































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




















































































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"








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"

Change a task status to "to review".

PUT /actions/tasks/{task_id}/to-review

It creates a new preview file entry and set path from the hard disk.

Responses

  • Task status changed to "to review"

  • Given person not found

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