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"

Allow a user to register himself to the service.

POST /auth/register

Responses

  • 201

    Registration successful

  • 400

    Invalid password or email

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




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

  • 200

    Password reset

  • 400

    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"
































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 pre-register a FIDO device.

PUT /auth/fido

Responses

  • 200

    FIDO device pre-registered.

  • 400

    Invalid password Wrong or expired token Inactive user

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








Resource to allow a user to login with SAML SSO.

POST /auth/saml/sso

Responses

  • 302

    Login successful, redirect to the home page.

  • 400

    Wrong parameter

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

















Retrieve all entities that are not shot, sequence, episode, or edit.

GET /data/assets/all

Adds project name and asset type name.

Responses

  • 200

    All assets

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




























































Retrieve all asset types for given project.

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

Path parameters

  • project_id Required

Responses

  • 200

    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"
















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"

Retrieve all shared assets used in project.

GET /data/projects/{project_id}/assets/shared-used

Path parameters

  • project_id Required

Responses

  • 200

    All shared assets used in project

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




Breakdown





























Retrieve all entity links related to given project.

GET /data/projects/{project_id}/entity-links


Results can be paginated using page and limit query parameters. If you
prefer a more accurate pagination, you can use and
cursor_created_at to get the next page.

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












Retrieve all camera instances linked to scene.

GET /data/scenes/{scene_id}/camera-instances

Path parameters

  • scene_id Required

Responses

  • 201

    All camera instances linked to scene

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

Retrieve all asset instances linked to shot.

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

Path parameters

  • shot_id Required

Responses

  • 200

    All assets linked to shot

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

Add an asset instance to given shot.

POST /data/shots/{shot_id}/asset-instances

Path parameters

  • shot_id Required

Responses

  • 201

    Asset instance added to given shot

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





























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 a model corresponding at given ID and return it as a JSON object.

GET /data/persons/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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








Create a model with data given in the request body.

POST /data/projects

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

Responses

  • 200

    Model created

  • 400

    Error

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








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

DELETE /data/projects/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

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












Retrieve all entries for given model.

GET /data/entity-types

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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




















Create a model with data given in the request body.

POST /data/entities

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

Responses

  • 200

    Model created

  • 400

    Error

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

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

GET /data/entities/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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

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

Responses

  • 200

    Model created

  • 400

    Error

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




















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

GET /data/task-status/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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




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

GET /data/file-status/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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








Retrieve all entries for given model.

GET /data/output-files

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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




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"




Create a model with data given in the request body.

POST /data/output-types

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

Responses

  • 200

    Model created

  • 400

    Error

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




Update a model with data given in the request body.

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

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












































Retrieve all entries for given model.

GET /data/status-automations/

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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
































Retrieve all entries for given model.

GET /data/playlists/

Filters can be specified in the query string.

Responses

  • 200

    All entries for given model

  • 400

    Format error

  • 403

    Permission denied

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








Update a model with data given in the request body.

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




















































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

GET /data/search-filters/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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
























































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

GET /data/news/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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












































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

DELETE /data/metadata-descriptors/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    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"




















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/preview-background-files

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

Responses

  • 200

    Model created

  • 400

    Error

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

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

GET /data/preview-background-files/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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
















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

GET /data/studios/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

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

















































Retrieve all edit entries.

GET /data/edits

Filters can be specified in the query string.

Query parameters

  • project_id
  • name
  • force

Responses

  • 200

    All edit entries

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




































Retrieve all tasks related to a given episode.

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

Path parameters

  • episode_id Required

Responses

  • 200

    All tasks related to given episode

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






















Retrieve last events.

GET /data/events/last

Query parameters

  • after
  • before
  • only_files
  • limit
  • project_id

Responses

  • 200

    All login logs

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






































































Get next revision for given asset instance, output type, task type and name.

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

Path parameters

  • asset_instance_id Required
  • temporal_entity_id Required

Responses

  • 200

    Next revision for given asset instance, output type, task type and name

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








Get all output files for given asset instance and given output type.

GET /data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-types/{output_type_id}/output-files

Path parameters

  • asset_instance_id Required
  • temporal_entity_id Required
  • output_type_id Required

Responses

  • 200

    All output files for given asset instance and given output type

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




































Get all output files for given asset instance and given output type.

GET /data/asset-instances/{asset_instance_id}/output-files

Path parameters

  • asset_instance_id Required

Query parameters

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

Responses

  • 200

    All output files for given asset instance and given temporal entity (shot, sequence, etc.)

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












Define a template file to use for given project.

POST /actions/projects/{project_id}/set-file-tree

Template files are located on the server side. Each template has a name which means that you just have to give a name to "select" the template to link with the project.

Path parameters

  • project_id Required

Responses

  • 200

    Template file defined

  • 400

    Selected tree not available

POST /actions/projects/{project_id}/set-file-tree
curl \
 --request POST 'http://api.example.com/actions/projects/{project_id}/set-file-tree' \
 --header "Authorization: $API_KEY"








Import

















































Import shotgun error resource.

GET /import/shotgun/errors

Responses

  • 200

    Resource imported

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








Delete error.

DELETE /import/shotgun/errors/{error_id}

Path parameters

  • error_id Required

Responses

  • 204

    Error deleted

  • 404

    Error non-existant or Statement error

DELETE /import/shotgun/errors/{error_id}
curl \
 --request DELETE 'http://api.example.com/import/shotgun/errors/{error_id}' \
 --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/scene

Responses

  • 204

    Instance removed

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












Import remove instance.

POST /import/shotgun/remove/projectconnection

Responses

  • 204

    Instance removed

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

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

Path parameters

  • project_id Required

Responses

  • 201

    The lists of imported assets.

  • 400

    The .csv file is not properly formatted.

POST /import/csv/projects/{project_id}/shots
curl \
 --request POST 'http://api.example.com/import/csv/projects/{project_id}/shots' \
 --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/entities

Responses

  • 200

    Resource imported

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












Index

























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"


















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"












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"
















Get ended shots used for quota calculation of this month.

GET /data/persons/{person_id}/quota-shots/month/{year}/{month}

Path parameters

  • person_id Required
  • year Required
  • month Required

Query parameters

  • count_mode Required

Responses

  • 200

    Ended shots used for quota calculation of this month

  • 404

    Wrong date format

GET /data/persons/{person_id}/quota-shots/month/{year}/{month}
curl \
 --request GET 'http://api.example.com/data/persons/{person_id}/quota-shots/month/{year}/{month}' \
 --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"

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"

Remove a user from given department.

DELETE /actions/persons/{person_id}/departments/{department_id}

Path parameters

  • person_id Required
  • department_id Required

Responses

  • 204

    User removed from given department

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





































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

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

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail downloaded

  • 403

    Access not allowed

  • 404

    Object instance not found

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
































































Projects

























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"








Remove a task status from a production.

DELETE /data/projects/{project_id}/settings/task-status/{task_status_id}

Path parameters

  • project_id Required
  • task_status_id Required

Responses

  • 204

    Empty response

DELETE /data/projects/{project_id}/settings/task-status/{task_status_id}
curl \
 --request DELETE 'http://api.example.com/data/projects/{project_id}/settings/task-status/{task_status_id}' \
 --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"
















































































Delete a budget entry for given production and budget.

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

Path parameters

  • project_id Required
  • budget_id Required
  • entry_id Required

Responses

  • 204

    empty response

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





Search for resource

POST /data/search

Responses

  • 200

    List of entities that contain the query

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









































Retrieve data versions of given shot.

GET /data/shots/{shot_id}/versions

Path parameters

  • shot_id Required

Responses

  • 204

    Data versions of given shot

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
























































































Delete given sequence.

DELETE /data/sequences/{sequence_id}

Path parameters

  • sequence_id Required

Responses

  • 204

    Given sequence deleted

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

Retrieve all tasks related to a given sequence.

GET /data/sequences/{sequence_id}/shot-tasks

Path parameters

  • sequence_id Required

Responses

  • 200

    All task types related to given sequence

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












Create a scene for given project.

POST /data/projects/{project_id}/scenes

Path parameters

  • project_id Required

Responses

  • 201

    Scene created for given project

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




















Retrieve number of tasks by status, task_types and episodes for given project.

GET /data/projects/{project_id}/episodes/retake-stats

Path parameters

  • project_id Required

Responses

  • 200

    Number of tasks by status, task types and episodes for given project

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

Retrieve quotas statistics for shots.

GET /data/projects/{project_id}/quotas/{task_type_id}

Path parameters

  • project_id Required
  • task_type_id Required

Query parameters

  • count_mode Required
  • studio_id

Responses

  • 200

    Quotas statistics for shots

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








Tasks





































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

GET /data/persons/{person_id}/done-tasks

It return only tasks related to open projects.

Path parameters

  • person_id Required

Responses

  • 200

    Tasks assigned to user that are done

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












Remove all assignations set to given task.

PUT /actions/tasks/clear-assignation

Responses

  • 200

    All assignations removed

PUT /actions/tasks/clear-assignation
curl \
 --request PUT 'http://api.example.com/actions/tasks/clear-assignation' \
 --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.

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

Path parameters

  • task_id Required

Responses

  • 200

    Time spent on given task

  • 404

    Wrong date format

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












Add preview metadata to given task. The preview file itself should be

POST /actions/tasks/{task_id}/comments/{comment_id}/add-preview

uploaded afterward.

Revision is automatically set: it is equal to last revision + 1. It can
be also set manually.

Path parameters

  • task_id Required
  • comment_id Required

Responses

  • 201

    Preview metadata added to given task

POST /actions/tasks/{task_id}/comments/{comment_id}/add-preview
curl \
 --request POST 'http://api.example.com/actions/tasks/{task_id}/comments/{comment_id}/add-preview' \
 --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 tasks requiring feedback for current user departments.

GET /data/user/tasks-to-check


If the user is not a supervisor, it returns an empty list.

Responses

  • 200

    Tasks requiring feedback in current user departments.

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

Return tasks currently assigned to current user and of which status has

GET /data/user/done-tasks

is_done attribute set to true.

Responses

  • 200

    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"












Delete given filter if it's owned by current user.

DELETE /data/user/filters/{filter_id}

Path parameters

  • filter_id Required

Responses

  • 204

    Empty response

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
































































Create a subscription entry for given task and current user.

POST /actions/user/tasks/{task_id}/subscribe

When a user subscribes, he gets notified everytime a comment is posted on the task.

Path parameters

  • task_id Required

Responses

  • 201

    Subscription entry created

POST /actions/user/tasks/{task_id}/subscribe
curl \
 --request POST 'http://api.example.com/actions/user/tasks/{task_id}/subscribe' \
 --header "Authorization: $API_KEY"

















































Entity








































Retrieve all previews related to a given concept.

GET /data/concepts/{concept_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

  • concept_id Required

Responses

  • 200

    All previews related to given episode

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

Retrieve all concepts related to a given project.

GET /data/projects/{project_id}/concepts

Path parameters

  • project_id Required

Responses

  • 200

    All concepts related to given project

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