Authentication

Jwt authorization (http_api_key)

Format in header: Authorization: Bearer {token}.

Value example: Bearer xxxxx.yyyyy.zzzzz










Returns information if the user is authenticated else it returns a 401

GET /auth/authenticated

response.

Responses

  • 200

    User authenticated

  • 401

    Person not found

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




































Resource to allow a user to pre-enable OTP by email.

PUT /auth/email-otp

Responses

  • 200

    OTP by email enabled

  • 400

    Invalid password Wrong or expired token Inactive user

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
















Create an asset instance inside given asset.

POST /data/assets/{asset_id}/asset-asset-instances

Path parameters

  • asset_id Required

Responses

  • 201

    Asset instance created inside given asset

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








































Breakdown






















































































Return all attachment files related to given project.

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

Path parameters

  • project_id Required

Responses

  • 200

    All attachment files related to given project

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

























Retrieve all entries for given model.

GET /data/projects

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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
















































































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

GET /data/task-types/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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








Create a model with data given in the request body.

POST /data/organisations

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

Responses

  • 200

    Model created

  • 400

    Error

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












Retrieve all entries for given model.

GET /data/file-status/

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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
















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

DELETE /data/time-spents/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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
































































































































































































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

DELETE /data/schedule-items/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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
























































































































































































Create a model with data given in the request body.

POST /data/salary-scales

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

Responses

  • 200

    Model created

  • 400

    Error

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

























































Retrieve all tasks related to a given edit.

GET /data/edits/{edit_id}/tasks

Path parameters

  • edit_id Required

Responses

  • 200

    All tasks related to given edit

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
















































































































Create new output file linked to a given entity.

POST /data/entities/{entity_id}/output-files/new

Output files are linked to entities. Each time a CG artist is satisfied by what he did on a working file, he can create an output file that will be linked to a target entity (an asset, a shot, a sequence, ...). It keeps track of the working file at the origin of the output file. An output type is required for better categorization (textures, caches, ...). A task type can be set too to give the department related to the output file. Revision is automatically set.

Path parameters

  • entity_id Required

Responses

  • 200

    New output file created

  • 400

    Given output file already exists Given person not found Given output type not found

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





















































































Import shotgun resource.

POST /import/shotgun/status

Responses

  • 200

    Resource imported

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

Responses

  • 200

    Resource imported

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




Index

Get API name and version.

GET /

Responses

  • 200

    API name and version

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





































Retrieve a single given news related to a given project

GET /data/projects/{project_id}/news/{news_id}

Path parameters

  • project_id Required
  • news_id Required

Responses

  • 200

    Single given news related to given project

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









































































































Playlists

































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 a thumbnail.

GET /pictures/thumbnails-square/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-square/preview-files/{instance_id}.png
curl \
 --request GET 'http://api.example.com/pictures/thumbnails-square/preview-files/{instance_id}.png' \
 --header "Authorization: $API_KEY"

Download a thumbnail.

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

Download a generic file preview.

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

Path parameters

  • instance_id Required
  • extension Required

Responses

  • 200

    Generic file preview downloaded

  • 403

    Instance not allowed

  • 404

    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"

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 the thumbnail linked to given object instance.

GET /pictures/thumbnails/projects/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail downloaded

  • 403

    Access not allowed

  • 404

    Object instance not found

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





















































































































































































Delete a budget for given production

DELETE /data/projects/{project_id}/budgets/{budget_id}

Path parameters

  • project_id Required
  • budget_id Required

Responses

  • 204

    Empty response

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








Update a budget entry for given production and budget

PUT /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 updated

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














































































































Retrieve all shots related to a given episode.

GET /data/episodes/{episode_id}/shots

Path parameters

  • episode_id Required

Responses

  • 200

    All shots related to given episode

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





















































































































































Return tasks related to given entity asset, episode, sequence, shot or scene.

GET /data/entities/{entity_id}/task-types/{task_type_id}/tasks

Path parameters

  • entity_id Required
  • task_type_id Required

Responses

  • 200

    Tasks related to given entity asset, episode, sequence, shot or scene

GET /data/entities/{entity_id}/task-types/{task_type_id}/tasks
curl \
 --request GET 'http://api.example.com/data/entities/{entity_id}/task-types/{task_type_id}/tasks' \
 --header "Authorization: $API_KEY"

Retrieve all comments to tasks related to given project.

GET /data/projects/{project_id}/comments

It's mainly used for synchronisation purpose.

Path parameters

  • project_id Required

Query parameters

  • limit

Responses

  • 200

    All comments to tasks related to given project

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












Retrieve all tasks related to given project.

GET /data/projects/{project_id}/tasks

It's mainly used for synchronisation purpose.

Path parameters

  • project_id Required

Query parameters

  • page
  • task_type_id
  • episode_id

Responses

  • 200

    All tasks related to given project

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




















Assign given task lists to given person.

PUT /actions/persons/{person_id}/assign

If a given task ID is wrong, it ignores it.

Path parameters

  • person_id Required

Responses

  • 200

    Given tasks lists assigned to given person

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