Resource to allow a user to change his password when he forgets it.

PUT /auth/reset-password

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

Responses

  • Password reset

  • Invalid password Wrong or expired token Inactive user

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
















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

Responses

  • OTP by email sent

  • Invalid password Wrong or expired token Inactive user

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









































































Responses

  • All tasks related to given asset

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

Responses

  • All task types of tasks related to given asset

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








Responses

  • Modification of assets linked to given asset

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
























Retrieve all asset types for given project.

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

Responses

  • All asset types for given project

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













































Resource to retrieve the casting of shots from given sequence.

GET /data/projects/{project_id}/sequences/{sequence_id}/casting

Responses

  • Casting of shots from given sequence

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






















































































































































































































Update a model with data given in the request body.

PUT /data/task-status/{instance_id}

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

Responses

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




















Create a model with data given in the request body.

POST /data/departments

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

Responses

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
























































































































































Retrieve all entries for given model.

GET /data/attachment-files

Filters can be specified in the query string.

Responses

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
















Retrieve all entries for given model.

GET /data/comments

Filters can be specified in the query string.

Responses

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




















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




































































































































































































Update a model with data given in the request body.

PUT /data/schedule-items/{instance_id}

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

Responses

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
























Retrieve all entries for given model.

GET /data/milestones/

Filters can be specified in the query string.

Responses

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
































Responses

  • Model deleted

  • Statement or integrity error

  • Instance non-existant

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




























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
















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

Responses

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




Responses

  • 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 new output file linked to assets through an instance of this asset for a given shot.

POST /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/new

Some output files are linked to assets through an instance of this asset for a given shot. 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 instance. 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.

Path parameters

Responses

  • New output file created

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

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




















Responses

  • All working files for given entity and possibly a task and a name

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





























































Import shotgun resource.

POST /import/shotgun/projects

Responses

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

Responses

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
















Responses

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




















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




















































































Import the estimations of task-types for given episode of given project.

POST /import/csv/projects/{project_id}/episodes/{episode_id}/task-types/{task_type_id}/estimations

Path parameters

Responses

POST /import/csv/projects/{project_id}/episodes/{episode_id}/task-types/{task_type_id}/estimations
curl \
 --request POST 'http://api.example.com/import/csv/projects/{project_id}/episodes/{episode_id}/task-types/{task_type_id}/estimations' \
 --header "Authorization: $API_KEY"








Responses

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








Responses

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






































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

















Responses

  • CSV file containing the presence logs based on a daily basis

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








Get aggregated time spents for given person and year.

GET /data/persons/{person_id}/time-spents/year/{year}

Responses

  • Aggregated time spents for given person and year

  • Wrong date format

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
































Responses

  • Table giving time spent by user and by week for given year

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












Return all day off recorded for given month and person.

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

Responses

  • All day off recorded for given month and person

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






















































































































Download a generic file preview as attachment.

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

Responses

  • Generic file preview downloaded as attachment

  • Instance not allowed

  • 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}.png

Responses

  • Thumbnail downloaded

  • Access not allowed

  • 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

Responses

  • Thumbnail created

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









































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




























































Get a metadata descriptor.

GET /data/projects/{project_id}/metadata-descriptors/{descriptor_id}

Descriptors serve to describe extra fields listed in the data attribute of entities.

Responses

  • Metadata descriptor

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




















































Delete a budget for given production

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

Responses

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"


















































































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




































































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








































Responses

  • All sequences related to given project

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

Create a sequence for given project.

POST /data/projects/{project_id}/sequences

Path parameters

Responses

  • Sequence created for given project

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






















































































































































































Responses

  • Tasks related to given asset for current user

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




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




































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












Responses

  • Finished tasks currently assigned to current user

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
















Responses

  • Filter groups for current user and only for open projects

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

Responses

  • Filter groups for the current user and only for open projects created.

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

































































































Create a new chat message.

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

Path parameters

  • entity_id Required

    ID of the entity related to the chat

Responses

  • Chat message created

  • Not participant of the chat

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
























Retrieve all concept entries.

GET /data/concepts

Filters can be specified in the query string.

Responses

  • All concept entries

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








Delete given concept.

DELETE /data/concepts/{concept_id}

Responses

  • Given concept deleted

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