Authentication

























































Resource to allow a user to disable OTP by email.

DELETE /auth/email-otp

Responses

  • 200

    OTP by email disabled.

  • 400

    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"













































Retrieve all entities that are not shot, sequence, episode, or edit.

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

  • 200

    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 the casting of a given asset.

GET /data/assets/{asset_id}/casting

Path parameters

  • asset_id Required

Responses

  • 200

    Casting of given asset

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




































Retrieve all assets for given project.

GET /data/projects/{project_id}/assets

Path parameters

  • project_id Required

Responses

  • 200

    All assets for given project

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




Share or unshare all assets (or a list of assets) for given project.

POST /actions/projects/{project_id}/assets/share

Path parameters

  • project_id Required

Responses

  • 201

    All assets modified.

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.

Path parameters

  • project_id Required

Responses

  • 200

    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"




















Retrieve all asset instances linked to shot.

GET /data/shots/{shot_id}/asset-instances

Path parameters

  • shot_id Required

Responses

  • 200

    All assets linked to shot

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








Comments

































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

  • task_id Required

Responses

  • 201

    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"





































































































































































































































Update a model with data given in the request body.

PUT /data/softwares/{instance_id}

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

Path parameters

  • instance_id Required

Responses

  • 200

    Model updated

  • 400

    Error

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




























































Delete a model corresponding at given ID and return it as a JSON object.

DELETE /data/output-types/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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




















Retrieve all entries for given model.

GET /data/working-files

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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




























































































































Update a model with data given in the request body.

PUT /data/status-automations/{instance_id}

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

Path parameters

  • instance_id Required

Responses

  • 200

    Model updated

  • 400

    Error

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
























































































Retrieve a model corresponding at given ID and return it as a JSON object.

GET /data/search-filters/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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




































Retrieve a model corresponding at given ID and return it as a JSON object.

GET /data/schedule-items/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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




Retrieve a model corresponding at given ID and return it as a JSON object.

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








































Delete a model corresponding at given ID and return it as a JSON object.

DELETE /data/chat-messages/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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













































































































































Retrieve all task types related to a given edit.

GET /data/edits/{edit_id}/task-types

Path parameters

  • edit_id Required

Responses

  • 200

    All task types related to given edit

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









































Events

Retrieve last events.

GET /data/events/last

Query parameters

  • after
  • before
  • only_files
  • limit
  • project_id

Responses

  • 200

    All login logs

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




Export









































Files






















































































































































































Import remove instance.

POST /import/shotgun/remove/scene

Responses

  • 204

    Instance removed

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








Import remove instance.

POST /import/shotgun/remove/asset

Responses

  • 204

    Instance removed

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
































































Import Kitsu resource.

POST /import/kitsu/entities

Responses

  • 200

    Resource imported

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














































Retrieve all news related to a given project

GET /data/projects/news

Query parameters

  • project_id Required
  • before
  • after
  • page
  • limit
  • person_id
  • task_type_id
  • task_status_id
  • episode_id
  • only_preview

Responses

  • 200

    All news from user open projects.

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


















































































































































Build given playlist as mp4 movie.

GET /data/playlists/{playlist_id}/build/mp4

Path parameters

  • playlist_id Required

Responses

  • 200

    Given playlist built as mp4 movie

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

Download given playlist build as .mp4.

GET /data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4

Path parameters

  • playlist_id Required
  • build_job_id Required

Responses

  • 200

    Given playlist build downloaded as .mp4

  • 400

    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"









Retrieve all preview files from open productions with states equals to processing or broken.

GET /data/playlists/preview-files/running

Responses

  • 200

    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 the thumbnail representing given attachment file.

GET /pictures/thumbnails/attachment-files/{attachment_file_id}.png

Path parameters

  • attachment_file_id Required

Responses

  • 200

    Thumbnail downloaded

  • 403

    Instance not allowed

  • 404

    Picture file not found

GET /pictures/thumbnails/attachment-files/{attachment_file_id}.png
curl \
 --request GET 'http://api.example.com/pictures/thumbnails/attachment-files/{attachment_file_id}.png' \
 --header "Authorization: $API_KEY"












Download a generic file preview as attachment.

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

Path parameters

  • instance_id Required

Responses

  • 200

    Generic file preview downloaded as attachment

  • 403

    Instance not allowed

  • 404

    Standard file not found

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
































































Download a preview background file.

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

Path parameters

  • instance_id Required
  • extension Required

Responses

  • 200

    Preview background file downloaded

  • 404

    Preview background file not found

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

Path parameters

  • preview_file_id Required

Responses

  • 200

    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"





Return all projects listed in database.

GET /data/projects/all

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

Responses

  • 200

    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}

Path parameters

  • project_id Required
  • task_status_id Required

Responses

  • 204

    Empty response

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"


































































































































































Retrieve all task types related to a given shot.

GET /data/shots/{shot_id}/task-types

Path parameters

  • shot_id Required

Responses

  • 200

    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 shot entries for a given sequence.

GET /data/sequences/{sequence_id}/shots

Filters can be specified in the query string.

Path parameters

  • sequence_id Required

Query parameters

  • project_id

Responses

  • 200

    All shot entries for given sequence

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





























































































































Retrieve all subcriptions to tasks related to given project.

GET /data/projects/{project_id}/subscriptions

It's mainly used for synchronisation purpose.

Path parameters

  • project_id Required

Responses

  • 200

    All subcriptions to tasks related to given project

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

Path parameters

  • project_id Required

Responses

  • 200

    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"




































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

  • task_id Required
  • date Required
  • person_id Required

Responses

  • 201

    Given timeframe added to time spent by given person on given task for given day

  • 404

    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"





























































































Return episodes related to given project if the current user has access

GET /data/user/projects/{project_id}/episodes

to it.

Path parameters

  • project_id Required

Responses

  • 200

    Episodes related to given project

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












Return tasks requiring feedback for current user departments.

GET /data/user/tasks-to-check


If the user is not a supervisor, it returns an empty list.

Responses

  • 200

    Tasks requiring feedback in current user departments.

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
















































































































Mark all notifications as read for the current user.

POST /actions/user/notifications/mark-all-as-read

Responses

  • 200

    All notifications marked as read

POST /actions/user/notifications/mark-all-as-read
curl \
 --request POST 'http://api.example.com/actions/user/notifications/mark-all-as-read' \
 --header "Authorization: $API_KEY"





















Departments





















































Retrieve all concepts, adds project name and asset type name and all related tasks.

GET /data/concepts/with-tasks

Query parameters

  • project_id

Responses

  • 200

    All concepts

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