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"




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 change his password when he forgets it.

POST /auth/reset-password

It uses a classic scheme: a token is sent by email to the user. Then he can change his password.

Responses

  • 200

    Reset token sent

  • 400

    Email not listed in database

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





















































































Delete given asset.

DELETE /data/assets/{asset_id}

Path parameters

  • asset_id Required

Responses

  • 204

    Empty response

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

Retrieve all assets linked to given asset.

GET /data/assets/{asset_id}/assets

Path parameters

  • asset_id Required

Responses

  • 200

    All assets linked to given asset

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
















































Retrieve all asset types of assets casted in given shot.

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

Path parameters

  • shot_id Required

Responses

  • 200

    All asset types of assets casted in given shot

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














































































Delete attachment linked to a comment matching given ID.

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

Path parameters

  • task_id Required
  • comment_id Required
  • attachment_id Required

Responses

  • 204

    Empty response

DELETE /data/tasks/{task_id}/comments/{comment_id}/attachments/{attachment_id}
curl \
 --request DELETE 'http://api.example.com/data/tasks/{task_id}/comments/{comment_id}/attachments/{attachment_id}' \
 --header "Authorization: $API_KEY"
































Creates new comments for given task. Each comments requires a task_id,

POST /actions/tasks/batch-comment

text, a task_status and a person as arguments.

Responses

  • 201

    New comments created

POST /actions/tasks/batch-comment
curl \
 --request POST 'http://api.example.com/actions/tasks/batch-comment' \
 --header "Authorization: $API_KEY"

















































Update a model with data given in the request body.

PUT /data/project-status/{instance_id}

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

Path parameters

  • instance_id Required

Responses

  • 200

    Model updated

  • 400

    Error

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
















































































































































Update a model with data given in the request body.

PUT /data/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 model corresponding at given ID and return it as a JSON

GET /data/output-files/{instance_id}

object.

Path parameters

  • output_file_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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
































Create a model with data given in the request body.

POST /data/preview-files

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

Responses

  • 200

    Model created

  • 400

    Error

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




































































































































































































Update a model with data given in the request body.

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




















































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

GET /data/search-filter-groups/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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




















































Create a model with data given in the request body.

POST /data/metadata-descriptors/

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

Responses

  • 200

    Model created

  • 400

    Error

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

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

GET /data/metadata-descriptors/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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

Update a model with data given in the request body.

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

Create a model with data given in the request body.

POST /data/entity-links/

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

Responses

  • 200

    Model created

  • 400

    Error

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
















Create a model with data given in the request body.

POST /data/chats/

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

Responses

  • 200

    Model created

  • 400

    Error

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













































































































































Retrieve all previews related to a given edit.

GET /data/edits/{edit_id}/preview-files

It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.

Path parameters

  • edit_id Required

Responses

  • 200

    All previews related to given edit

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






































Retrieve all login logs.

GET /data/events/login-logs/last

Query parameters

  • before
  • limit

Responses

  • 200

    All login logs

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






































































































Return all types of output generated for given entity.

GET /data/entities/{entity_id}/output-types

Path parameters

  • entity_id Required

Responses

  • 200

    All types of output generated for given entity

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

Get all output files for given entity and given output type.

GET /data/entities/{entity_id}/output-types/{output_type_id}/output-files

Path parameters

  • entity_id Required
  • output_type_id Required

Responses

  • 200

    All output files for given entity and given output type

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





























































Import shotgun resource.

POST /import/shotgun/assets

Responses

  • 200

    Resource imported

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








Import shotgun resource.

POST /import/shotgun/tasks

Responses

  • 200

    Resource imported

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












Serialize shotgun error resource.

POST /import/shotgun/errors

Responses

  • 200

    Resource serialized

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

POST /import/csv/projects/{project_id}/edits

Path parameters

  • project_id Required

Responses

  • 201

    Edits imported

  • 400

    Format error

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

























































Retrieve API name, version and status as txt.

GET /status.txt

Responses

  • 200

    API name, version and status as txt

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


























Retrieve desktop login logs.

GET /data/persons/{person_id}/desktop-login-logs

Desktop login logs can only be created by current user.

Path parameters

  • person_id Required

Responses

  • 200

    Desktop login logs

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




















































































Add a user to given department.

POST /actions/persons/{person_id}/departments/add

Path parameters

  • person_id Required

Responses

  • 201

    User added to given department

POST /actions/persons/{person_id}/departments/add
curl \
 --request POST 'http://api.example.com/actions/persons/{person_id}/departments/add' \
 --header "Authorization: $API_KEY"




Allow admin to change password for given user.

POST /actions/persons/{person_id}/change-password

Prior to modifying the password, it requires to be admin. An admin can't change other admins password. The new password requires a confirmation to ensure that the admin didn't make a mistake by typing the new password.

Path parameters

  • person_id Required

Responses

  • 200

    Password changed

  • 400

    Invalid password or inactive user

POST /actions/persons/{person_id}/change-password
curl \
 --request POST 'http://api.example.com/actions/persons/{person_id}/change-password' \
 --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 task type linked to a production.

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

Path parameters

  • project_id Required

Responses

  • 201

    Task type added to production

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
















Remove a preview background file from a production.

DELETE /data/projects/{project_id}/settings/preview-background-files/{preview_background_file_id}

Path parameters

  • project_id Required
  • preview_background_file_id Required

Responses

  • 204

    Empty response

DELETE /data/projects/{project_id}/settings/preview-background-files/{preview_background_file_id}
curl \
 --request DELETE 'http://api.example.com/data/projects/{project_id}/settings/preview-background-files/{preview_background_file_id}' \
 --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 all task types related to a given scene.

GET /data/scenes/{scene_id}/task-types

Path parameters

  • scene_id Required

Responses

  • 200

    All task types related to given scene

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

















































































































Return previews linked to given task.

GET /data/tasks/{task_id}/previews

Path parameters

  • task_id Required

Responses

  • 200

    Previews linked to given task

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