Tokens are considered as outdated every two weeks.

GET /auth/refresh-token

This route allows to make their lifetime long before they get outdated.

Responses

  • 200

    Access Token

GET /auth/refresh-token
curl \
 --request GET 'http://api.example.com/auth/refresh-token' \
 --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 unregister a FIDO device.

DELETE /auth/fido

Responses

  • 200

    FIDO device unregistered.

  • 400

    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"




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 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 shot asset instances linked to given asset.

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

Path parameters

  • asset_id Required

Responses

  • 200

    All shot asset instances linked to given asset

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




































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"

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

  • project_id Required
  • asset_type_id Required

Responses

  • 201

    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 shots from given episode.

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

Path parameters

  • project_id Required
  • episode_id Required

Responses

  • 200

    Casting for all shots from given episode.

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


































































































































































































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

DELETE /data/task-types/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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




























Update a model with data given in the request body.

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
















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

DELETE /data/departments/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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
































































Create a model with data given in the request body.

POST /data/output-files

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

Responses

  • 200

    Model created

  • 400

    Error

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




























































Retrieve a working file corresponding at given ID and return it as a

GET /data/working-files/{instance_id}

JSON object.

Path parameters

  • working_file_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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








































Update a model with data given in the request body.

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

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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




























































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"
























































































































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

GET /data/chats/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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
















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

GET /data/chat-messages/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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
















Update a model with data given in the request body.

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




Retrieve all salary scale entries.

GET /data/salary-scales

Retrieve all salary scale entries.

Responses

  • 200

    All salary scale entries

  • 403

    Permission denied

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



























































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"
















Export as csv.

GET /export/csv/tasks.csv

Responses

  • 200

    Exported as csv

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





































Get last revisions of output files for given instance grouped by output type and file name.

GET /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/last-revisions

Path parameters

  • asset_instance_id Required
  • temporal_entity_id Required

Query parameters

  • output_type_id Required
  • task_type_id Required
  • file_status_id Required
  • representation Required

Responses

  • 200

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

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








































Get all output files for given poject.

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

Path parameters

  • project_id Required

Query parameters

  • output_type_id Required
  • task_type_id Required
  • file_status_id Required
  • representation Required

Responses

  • 200

    All output files for given project.

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









































Import shotgun resource.

POST /import/shotgun/sequences

Responses

  • 200

    Resource imported

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

POST /import/shotgun/remove/project

Responses

  • 204

    Instance removed

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












Import remove instance.

POST /import/shotgun/remove/episode

Responses

  • 204

    Instance removed

POST /import/shotgun/remove/episode
curl \
 --request POST 'http://api.example.com/import/shotgun/remove/episode' \
 --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 persons via a .csv file.

POST /import/csv/persons

Responses

  • 201

    The lists of imported persons.

  • 400

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













Retrieve API name, version and status.

GET /status

Responses

  • 200

    API name, version and status

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












Generate a main:test event.

GET /status/test-event

Responses

  • 200

    Success flage

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

Retrieve main stats.

GET /stats

Responses

  • 403

    Permission denied

  • 200

    Main stats

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




News













Persons

















Get day off object for given person and date.

GET /data/persons/{person_id}/day-offs/{date}

Path parameters

  • person_id Required
  • date Required

Responses

  • 200

    Day off object for given person and date

  • 404

    Wrong date format

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
































































Sends an email to given person to invite him/her to connect to Kitsu.

GET /actions/persons/{person_id}/invite

Path parameters

  • person_id Required

Responses

  • 200

    Email sent

GET /actions/persons/{person_id}/invite
curl \
 --request GET 'http://api.example.com/actions/persons/{person_id}/invite' \
 --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.

Path parameters

  • person_id Required

Responses

  • 200

    Two factor authentication disabled

  • 400

    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"


























































Download a movie preview.

GET /movies/originals/preview-files/{instance_id}.mp4

It stores the preview file and generates three picture files matching preview when it's possible: a square thumbnail, a rectangle thumbnail and a midsize file.

Path parameters

  • instance_id Required

Responses

  • 200

    Movie preview downloaded

  • 403

    Instance not allowed

  • 404

    File not found

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








































Download the thumbnail linked to given object instance.

GET /pictures/thumbnails/organisations/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail downloaded

  • 403

    Access not allowed

  • 404

    Object instance not found

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




































Download the thumbnail linked to given object instance.

GET /pictures/thumbnails/projects/{instance_id}.png

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail downloaded

  • 403

    Access not allowed

  • 404

    Object instance not found

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








Create a thumbnail for given object instance.

POST /pictures/thumbnails/preview-background-files/{instance_id}.png

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail created

  • 404

    Cannot found related object.

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








Remove a task type from a production.

DELETE /data/projects/{project_id}/settings/task-types/{task_type_id}

Path parameters

  • project_id Required
  • task_type_id Required

Responses

  • 204

    Empty response

DELETE /data/projects/{project_id}/settings/task-types/{task_type_id}
curl \
 --request DELETE 'http://api.example.com/data/projects/{project_id}/settings/task-types/{task_type_id}' \
 --header "Authorization: $API_KEY"

Return task statuses linked to a production

GET /data/projects/{project_id}/settings/task-status

Path parameters

  • project_id Required

Responses

  • 200

    Task statuses linked to production

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




























Add a preview background file linked to a production.

POST /data/projects/{project_id}/settings/preview-background-files

Path parameters

  • project_id Required

Responses

  • 201

    Preview background file added to production

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






























































































Retrieve all shot entries.

GET /data/shots

Filters can be specified in the query string.

Query parameters

  • sequence_id
  • project_id
  • parent_id

Responses

  • 200

    All shot entries

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












































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

GET /data/scenes/with-tasks

Query parameters

  • project_id

Responses

  • 200

    All scenes

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




Delete given scene.

DELETE /data/scenes/{scene_id}

Path parameters

  • scene_id Required

Responses

  • 204

    Given scene deleted

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




















































Retrieve all shots tasks related to a given episode.

GET /data/episodes/{episode_id}/shot-tasks

Path parameters

  • episode_id Required

Responses

  • 200

    All shots tasks related to given episode

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




Retrieve all sequence entries.

GET /data/sequences

Filters can be specified in the query string.

Query parameters

  • episode_id

Responses

  • 200

    All sequence entries

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

















































































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"




























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"








Delete all tasks for a given task type and project.

DELETE /actions/projects/{project_id}/task-types/{task_type_id}/delete-tasks

It's mainly used when tasks are created by mistake at the beginning of the project.

Path parameters

  • project_id Required
  • task_type_id Required

Responses

  • 204

    All tasks for given task type and project deleted

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








































Add a preview to given comment.

POST /actions/tasks/{task_id}/comments/{comment_id}/preview-files/{preview_file_id}

Path parameters

  • task_id Required
  • comment_id Required
  • preview_file_id Required

Responses

  • 201

    Preview added to given comment

POST /actions/tasks/{task_id}/comments/{comment_id}/preview-files/{preview_file_id}
curl \
 --request POST 'http://api.example.com/actions/tasks/{task_id}/comments/{comment_id}/preview-files/{preview_file_id}' \
 --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"




























































































































Change notification read status.

PUT /data/user/notifications/{notification_id}

Path parameters

  • notification_id Required

Responses

  • 200

    Notification

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















































































Preview background file