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

  • 200

    Login successful

  • 400

    Login failed

  • 500

    Database not reachable

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












Allow the user to change his password.

POST /auth/change-password

Prior to modifying the password, it requires to give the current password (to make sure the user changing the password is not someone who stealed the session). The new password requires a confirmation to ensure that the user didn't make a mistake by typing his new password.

Responses

  • 200

    Password changed

  • 400

    Invalid password or inactive user

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












Resource to allow a user to pre-enable TOTP.

PUT /auth/totp

Responses

  • 200

    TOTP enabled

  • 400

    Invalid password Wrong or expired token Inactive user

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




















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"

Resource to allow a user to generate new recovery codes.

PUT /auth/recovery-codes

Responses

  • 200

    new recovery codes.

  • 400

    Invalid password Wrong or expired token Inactive user

PUT /auth/recovery-codes
curl \
 --request PUT 'http://api.example.com/auth/recovery-codes' \
 --header "Authorization: $API_KEY"




















Resource to allow a user to login with SAML SSO.

GET /auth/saml/login

Responses

  • 302

    Redirect to the SAML IDP.

  • 400

    Wrong parameter.

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

Retrieve all asset types (entity types that are not shot, sequence or episode).

GET /data/asset-types

Responses

  • 200

    All asset types

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

Retrieve given asset type.

GET /data/asset-types/{asset_type_id}

Path parameters

  • asset_type_id Required

Responses

  • 200

    Given asset type

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 the list of shots that cast given asset.

GET /data/assets/{asset_id}/cast-in

Path parameters

  • asset_id Required

Responses

  • 200

    List of shots that cast given asset

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
























Retrieve all assets for given project and asset type.

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

Path parameters

  • project_id Required
  • asset_type_id Required

Responses

  • 200

    All assets for given project and asset type

GET /data/projects/{project_id}/asset-types/{asset_type_id}/assets
curl \
 --request GET 'http://api.example.com/data/projects/{project_id}/asset-types/{asset_type_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 allow the modification of assets linked to an entity.

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

Path parameters

  • project_id Required
  • entity_id Required

Responses

  • 200

    Modification of assets linked to an entity

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

  • task_id Required
  • comment_id Required

Responses

  • 200

    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"








Delete given comment reply.

DELETE /data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}

Path parameters

  • task_id Required
  • comment_id Required
  • reply_id Required

Responses

  • 200

    Given comment reply deleted

DELETE /data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}
curl \
 --request DELETE 'http://api.example.com/data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}' \
 --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

  • task_id Required
  • comment_id Required

Responses

  • 201

    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"












Create several comments at once.

POST /actions/projects/{project_id}/tasks/comment-many

Each comment requires a text, a task id, 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

  • project_id Required

Responses

  • 201

    Given files added to the comment entry as attachments

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

















































Create a model with data given in the request body.

POST /data/project-status

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

Responses

  • 200

    Model created

  • 400

    Error

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








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

DELETE /data/project-status/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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




















Retrieve all entries for given model.

GET /data/entities

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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








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

DELETE /data/entities/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

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

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

Responses

  • 200

    Model created

  • 400

    Error

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
































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

GET /data/departments/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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








































Update a model with data given in the request body.

PUT /data/file-status/{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/file-status/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/file-status/{instance_id}' \
 --header "Authorization: $API_KEY"












Retrieve a software corresponding at given ID and return it as a

GET /data/softwares/{instance_id}

JSON object.

Path parameters

  • software_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

GET /data/softwares/{instance_id}
curl \
 --request GET '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/softwares/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

DELETE /data/softwares/{instance_id}
curl \
 --request DELETE '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-files/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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

Path parameters

  • instance_id Required

Responses

  • 200

    Model updated

  • 400

    Error

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








Create a model with data given in the request body.

POST /data/working-files

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

Responses

  • 200

    Model created

  • 400

    Error

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

Path parameters

  • instance_id Required

Responses

  • 200

    Model updated

  • 400

    Error

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

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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




















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

GET /data/time-spents/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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
































































Retrieve all entries for given model.

GET /data/asset-instances/

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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




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

GET /data/asset-instances/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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




































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

GET /data/events/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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




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

DELETE /data/events/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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

Retrieve all entries for given model.

GET /data/notifications/

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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








Update a model with data given in the request body.

PUT /data/notifications/{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/notifications/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/notifications/{instance_id}' \
 --header "Authorization: $API_KEY"




































Update a model with data given in the request body.

PUT /data/search-filter-groups/{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/search-filter-groups/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/search-filter-groups/{instance_id}' \
 --header "Authorization: $API_KEY"




Retrieve all entries for given model.

GET /data/schedule-items/

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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

  • 200

    Model created

  • 400

    Error

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.

Path parameters

  • instance_id Required

Responses

  • 200

    Model updated

  • 400

    Error

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

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

DELETE /data/milestones/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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
























































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

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












Update a model with data given in the request body.

PUT /data/preview-background-files/{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/preview-background-files/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/preview-background-files/{instance_id}' \
 --header "Authorization: $API_KEY"
































































Edits





































Retrieve all edits related to a given episode.

GET /data/episodes/{episode_id}/edits

Path parameters

  • episode_id Required

Responses

  • 200

    All efits related to given episode

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








Create an edit for given project.

POST /data/projects/{project_id}/edits

Path parameters

  • project_id Required

Responses

  • 201

    Edit created for given project

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































Export casting linked to a given project as csv.

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

Path parameters

  • project_id Required

Responses

  • 200

    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"





































Create new working file.

POST /data/tasks/{task_id}/working-files/new

A working file is a file used to produce output files. It is the file the CG artist is working on. It is versioned, tied to a task and a software and requires a comment each time it is created. A path is generated for each file created. The path format is defined in the file tree template file.

Path parameters

  • task_id Required

Responses

  • 201

    New working file created

  • 400

    Given working file already exists

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

Return last working files revision for each file name for given task.

GET /data/tasks/{task_id}/working-files/last-revisions

Path parameters

  • task_id Required

Responses

  • 200

    Last working files revision for each file name for given task

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




































































Download a working file.

GET /data/working-files/{working_file_id}/file

Path parameters

  • working_file_id Required

Responses

  • 200

    Working file downloaded

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





































Import shotgun resource.

POST /import/shotgun/scenes

Responses

  • 200

    Resource imported

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




Import shotgun resource.

POST /import/shotgun/steps

Responses

  • 200

    Resource imported

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
























Import shotgun resource.

POST /import/shotgun/projectconnections

Responses

  • 200

    Resource imported

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








Import remove instance.

POST /import/shotgun/remove/person

Responses

  • 204

    Instance removed

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

Import remove instance.

POST /import/shotgun/remove/shot

Responses

  • 204

    Instance removed

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




















Import remove instance.

POST /import/shotgun/remove/step

Responses

  • 204

    Instance removed

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








Import remove instance.

POST /import/shotgun/remove/note

Responses

  • 204

    Instance removed

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

  • project_id Required
  • episode_id Required

Responses

  • 201

    .

  • 400

    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"

Import Kitsu resource.

POST /import/kitsu/comments

Responses

  • 200

    Resource imported

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




Import Kitsu resource.

POST /import/kitsu/entity-links

Responses

  • 200

    Resource imported

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

Import Kitsu resource.

POST /import/kitsu/projects

Responses

  • 200

    Resource imported

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













Retrieve status of database and time.

GET /status/influx

Responses

  • 200

    Status of database, key value, event stream, job queue and time

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

Retrieve date and CPU, memory and jobs stats.

GET /status/resources

Responses

  • 200

    Date and CPU, memory and jobs stats

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






























































































Return all day off recorded for given month.

GET /data/persons/day-offs/{year}/{month}

Path parameters

  • year Required
  • month Required

Responses

  • 200

    All day off recorded for given month

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




































Playlists

Retrieve all playlists related to given project.

GET /data/projects/{project_id}/playlists

Result is paginated and can be sorted.

Path parameters

  • project_id Required

Query parameters

  • page
  • sort_by
  • task_type_id

Responses

  • 200

    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"




Retrieve all playlists related to given episode.

GET /data/projects/{project_id}/episodes/{episode_id}/playlists

The full list is returned because the number of playlists in an episode is not that big.

Path parameters

  • project_id Required
  • episode_id Required

Responses

  • 200

    All playlists related to given episode

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








Retrieve build job related to given playlist.

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

Path parameters

  • playlist_id Required
  • build_job_id Required

Responses

  • 200

    Build job related to given playlist

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













































Download a thumbnail.

GET /pictures/thumbnails/preview-files/{instance_id}.png

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail downloaded

  • 403

    Instance not allowed

  • 404

    Picture file not found

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
















































Create a thumbnail for given object instance.

POST /pictures/thumbnails/persons/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail created

  • 404

    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"
































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"
















Projects









Return the people listed in a production team.

GET /data/projects/{project_id}/team

Path parameters

  • project_id Required

Responses

  • 200

    People listed in a production team

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












Add an asset type linked to a production.

POST /data/projects/{project_id}/settings/asset-types

Path parameters

  • project_id Required

Responses

  • 201

    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"




















































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

  • project_id Required

Responses

  • 201

    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 milestones for given production

GET /data/projects/{project_id}/milestones

Path parameters

  • project_id Required

Responses

  • 200

    All milestones of given production

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

Retrieve schedule items for given production

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

Path parameters

  • project_id Required

Responses

  • 200

    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 episodes schedule items for given task type

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

Path parameters

  • project_id Required
  • task_type_id Required

Responses

  • 200

    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"
































Retrieve a budget entry for given production and budget

GET /data/projects/{project_id}/budgets/{budget_id}/entries/{entry_id}

Path parameters

  • project_id Required
  • budget_id Required
  • entry_id Required

Responses

  • 200

    Budget entry retrieved

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






















Retrieve all shot entries.

GET /data/shots/all

Filters can be specified in the query string.

Query parameters

  • sequence_id
  • project_id
  • parent_id

Responses

  • 200

    All shot entries

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




























Retrieve all previews related to a given shot.

GET /data/shots/{shot_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.

Path parameters

  • shot_id Required

Responses

  • 200

    All previews related to given episode

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




















Retrieve all tasks related to a given scene.

GET /data/scenes/{scene_id}/tasks

Path parameters

  • scene_id Required

Responses

  • 200

    All tasks related to given scene

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








































Retrieve all tasks related to a given episode.

GET /data/episodes/{episode_id}/tasks

Path parameters

  • episode_id Required

Responses

  • 200

    All tasks related to given episode

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








































Retrieve all task types related to a given shot.

GET /data/sequences/{sequence_id}/task-types

Path parameters

  • sequence_id Required

Responses

  • 200

    All task types related to given shot

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









































































Delete a comment corresponding at given ID.

DELETE /data/tasks/{task_id}/comments/{comment_id}

Path parameters

  • task_id Required
  • comment_id Required

Responses

  • 204

    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"




Return a task with many information.

GET /data/tasks/{task_id}/full

Full details for assignees, full details for task type, full details for task status, etc.

Path parameters

  • task_id Required

Responses

  • 200

    Task with many information

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

Return task assigned to given user of which status has is_done flag sets to false.

GET /data/persons/{person_id}/tasks

Path parameters

  • person_id Required

Responses

  • 200

    Tasks assigned to user that are not done

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




















Preview files related to a given project.

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

Path parameters

  • project_id Required

Responses

  • 200

    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"








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"




















Get time spent on a given task and date.

GET /actions/tasks/{task_id}/time-spents/{date}

Path parameters

  • task_id Required
  • date Required

Responses

  • 200

    Time spent on given task and date

  • 404

    Wrong date format

GET /actions/tasks/{task_id}/time-spents/{date}
curl \
 --request GET 'http://api.example.com/actions/tasks/{task_id}/time-spents/{date}' \
 --header "Authorization: $API_KEY"








Delete time spent by a person on a task for a given day.

DELETE /actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}

Path parameters

  • task_id Required
  • date Required
  • person_id Required

Responses

  • 201

    Time spent by given person on given task for given day is removed

  • 404

    Wrong date format

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




























Create a new task for given edit and task type.

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

Path parameters

  • project_id Required
  • task_type_id Required

Responses

  • 201

    New task for given edit and task type created

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

Create a new task for given concept and task type.

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

Path parameters

  • project_id Required
  • task_type_id Required

Responses

  • 201

    New task for given concept and task type created

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









Return context required to properly run a full app connected to the API

GET /data/user/context

(like the Kitsu web client).

Responses

  • 200

    Context to properly run a full app connected to the API

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




Return tasks related to given shot for current user.

GET /data/user/shots/{shot_id}/tasks

Path parameters

  • shot_id Required

Responses

  • 200

    Tasks related to given shot

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
















































Return scenes related to given sequence if the current user has access

GET /data/user/sequences/{sequence_id}/scenes

to it.

Path parameters

  • sequence_id Required

Responses

  • 200

    Scenes related to given sequence

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












Retrieve filters for current user and only for open projects.

GET /data/user/filters

Responses

  • 200

    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"
































































Return chats where user is participant.

GET /data/user/chats

Responses

  • 200

    Chats where user is participant

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













































Get chat messages for an entity.

GET /data/entities/{entity_id}/chat/messages

Path parameters

  • entity_id Required

    ID of the entity related to the chat

Responses

  • 200

    Chat messages

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




Get chat message.

GET /data/entities/{entity_id}/chat/messages/{chat_message_id}

Path parameters

  • entity_id Required

    ID of the entity related to the chat

  • chat_message_id Required

    ID of the chat message

Responses

  • 200

    Chat message

GET /data/entities/{entity_id}/chat/messages/{chat_message_id}
curl \
 --request GET 'http://api.example.com/data/entities/{entity_id}/chat/messages/{chat_message_id}' \
 --header "Authorization: $API_KEY"

Delete chat message.

DELETE /data/entities/{entity_id}/chat/messages/{chat_message_id}

Path parameters

  • entity_id Required

    ID of the entity related to the chat

  • chat_message_id Required

    ID of the chat message

Responses

  • 204

    Empty response

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
























Retrieve given concept.

GET /data/concepts/{concept_id}

Path parameters

  • concept_id Required

Responses

  • 200

    Given concept

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