Authentication

Jwt authorization (http_api_key)

Format in header: Authorization: Bearer {token}.

Value example: Bearer xxxxx.yyyyy.zzzzz






































Resource to allow a user to enable TOTP.

POST /auth/totp

Responses

  • 200

    TOTP enabled

  • 400

    Invalid password Wrong or expired token Inactive user

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












Resource to allow a user to enable OTP by email.

POST /auth/email-otp

Responses

  • 200

    OTP by email enabled

  • 400

    Invalid password Wrong or expired token Inactive user

POST /auth/email-otp
curl \
 --request POST 'http://api.example.com/auth/email-otp' \
 --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 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/a24a6ea4-ce75-4665-a070-57453082c25/assets' \
 --header "Authorization: $API_KEY"








Retrieve the list of shots that cast given asset.

GET /data/assets/{asset_id}/cast-in

Path parameters

  • asset_id Required

Responses

  • 200

    List of shots that cast given asset

GET /data/assets/{asset_id}/cast-in
curl \
 --request GET 'http://api.example.com/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/cast-in' \
 --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/a24a6ea4-ce75-4665-a070-57453082c25/asset-types' \
 --header "Authorization: $API_KEY"

































Resource to retrieve the casting of assets from given asset type.

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

Path parameters

  • project_id Required
  • asset_type_id Required

Responses

  • 200

    Casting of assets from given asset type

GET /data/projects/{project_id}/asset-types/{asset_type_id}/casting
curl \
 --request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/asset-types/a24a6ea4-ce75-4665-a070-57453082c25/casting' \
 --header "Authorization: $API_KEY"































































































































Retrieve given concept.

GET /data/concepts/{concept_id}

Path parameters

  • concept_id Required

Responses

  • 200

    Given concept

GET /data/concepts/{concept_id}
curl \
 --request GET 'http://api.example.com/data/concepts/a24a6ea4-ce75-4665-a070-57453082c25' \
 --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/tasks/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

GET /data/tasks/{instance_id}
curl \
 --request GET 'http://api.example.com/data/tasks/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"




















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

DELETE /data/departments/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

DELETE /data/departments/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"












































































































Retrieve an output type corresponding at given ID and return it as a

GET /data/output-types/{instance_id}

JSON object.

Path parameters

  • output_type_id Required

Responses

  • 200

    Model as a JSON object

  • 400

    Statement error

  • 404

    Value error

GET /data/output-types/{instance_id}
curl \
 --request GET 'http://api.example.com/data/output-types/{instance_id}' \
 --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/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"












































































































































































































































Update a model with data given in the request body.

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

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

Path parameters

  • instance_id Required

Responses

  • 200

    Model updated

  • 400

    Error

PUT /data/preview-background-files/{instance_id}
curl \
 --request PUT 'http://api.example.com/data/preview-background-files/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"

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

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

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

DELETE /data/preview-background-files/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/preview-background-files/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"












































































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

DELETE /data/production-schedule-versions/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 204

    Model deleted

  • 400

    Statement or integrity error

  • 404

    Instance non-existant

DELETE /data/production-schedule-versions/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/production-schedule-versions/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"








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

DELETE /data/production-schedule-version-task-links/{instance_id}
DELETE /data/production-schedule-version-task-links/{instance_id}
curl \
 --request DELETE 'http://api.example.com/data/production-schedule-version-task-links/a24a6ea4-ce75-4665-a070-57453082c25' \
 --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/a24a6ea4-ce75-4665-a070-57453082c25/edit-tasks' \
 --header "Authorization: $API_KEY"




















































































































































Get all output files for given poject.

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

Path parameters

  • project_id Required

Query parameters

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

Responses

  • 200

    All output files for given project.

GET /data/projects/{project_id}/output-files
curl \
 --request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/output-files?output_type_id=a24a6ea4-ce75-4665-a070-57453082c25&task_type_id=a24a6ea4-ce75-4665-a070-57453082c25&file_status_id=a24a6ea4-ce75-4665-a070-57453082c25&representation=cache' \
 --header "Authorization: $API_KEY"




























Import

































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/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/status

Responses

  • 204

    Instance removed

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

  • project_id Required
  • task_type_id Required
  • episode_id Required

Responses

  • 201

    Estimations imported

  • 400

    Format error

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/a24a6ea4-ce75-4665-a070-57453082c25/episodes/a24a6ea4-ce75-4665-a070-57453082c25/task-types/a24a6ea4-ce75-4665-a070-57453082c25/estimations' \
 --header "Authorization: $API_KEY"

Import an OTIO file to enter frame_in / frame_out / nb_frames (it can

POST /import/otio/projects/{project_id}

be every adapter supported by OpenTimelineIO, for example: EDL, OTIO...
).

Path parameters

  • project_id Required

Responses

  • 201

    .

  • 400

    The .otio file is not properly formatted.

POST /import/otio/projects/{project_id}
curl \
 --request POST 'http://api.example.com/import/otio/projects/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"

Import an OTIO file to enter frame_in / frame_out / nb_frames (it can

POST /import/otio/projects/{project_id}/episodes/{episode_id}

be every adapter supported by OpenTimelineIO, for example: edl, otio...
).

Path parameters

  • project_id Required
  • episode_id Required

Responses

  • 201

    .

  • 400

    The .otio file is not properly formatted.

POST /import/otio/projects/{project_id}/episodes/{episode_id}
curl \
 --request POST 'http://api.example.com/import/otio/projects/a24a6ea4-ce75-4665-a070-57453082c25/episodes/a24a6ea4-ce75-4665-a070-57453082c25' \
 --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"









































Get basic configuration for the current instance.

GET /config

Responses

  • 200

    Configuration object including self-hosted status, Crisp token, indexer configuration, SAML status, and dark theme status.

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


























Get time spents for given person and date.

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

Path parameters

  • person_id Required
  • date Required

Responses

  • 200

    Time spents for given person and date

  • 404

    Wrong date format

GET /data/persons/{person_id}/time-spents/{date}
curl \
 --request GET 'http://api.example.com/data/persons/a24a6ea4-ce75-4665-a070-57453082c25/time-spents/2022-07-12' \
 --header "Authorization: $API_KEY"

























































































Retrieve all playlists related to given project.

GET /data/projects/{project_id}/playlists

Result is paginated and can be sorted.

Path parameters

  • project_id Required

Query parameters

  • page
  • sort_by
  • task_type_id

Responses

  • 200

    All playlists related to given project

GET /data/projects/{project_id}/playlists
curl \
 --request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/playlists' \
 --header "Authorization: $API_KEY"

Retrieve all playlists related to given project.

GET /data/projects/{project_id}/playlists/all

It's mainly used for synchronisation purpose.

Path parameters

  • project_id Required

Responses

  • 200

    All playlists related to given project

GET /data/projects/{project_id}/playlists/all
curl \
 --request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/playlists/all' \
 --header "Authorization: $API_KEY"




































Retrieve all playlists related to given project.

POST /data/projects/{project_id}/playlists/temp

It's mainly used for synchronisation purpose.

Path parameters

  • project_id Required

Responses

  • 200

    All playlists related to given project

POST /data/projects/{project_id}/playlists/temp
curl \
 --request POST 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/playlists/temp' \
 --header "Authorization: $API_KEY"





































































Download the thumbnail linked to given object instance.

GET /pictures/thumbnails/persons/{instance_id}

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail downloaded

  • 403

    Access not allowed

  • 404

    Object instance not found

GET /pictures/thumbnails/persons/{instance_id}
curl \
 --request GET 'http://api.example.com/pictures/thumbnails/persons/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY"




































Create a thumbnail for given object instance.

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

Path parameters

  • instance_id Required

Responses

  • 200

    Thumbnail created

  • 404

    Cannot found related object.

POST /pictures/thumbnails/preview-background-files/{instance_id}.png
curl \
 --request POST 'http://api.example.com/pictures/thumbnails/preview-background-files/a24a6ea4-ce75-4665-a070-57453082c25.png' \
 --header "Authorization: $API_KEY"
















Allow to modify the annotations stored at the preview level.

PUT /actions/preview-files/{preview_file_id}/update-annotations

Modifications are applied via three fields:

  • annotations to give all the annotations that need to be added.

  • updates that list annotations that needs to be modified.

  • deletions to list the IDs of annotations that needs to be removed.

Path parameters

  • preview_file_id Required

Responses

  • 200

    Orders of previews changed for a single revision

PUT /actions/preview-files/{preview_file_id}/update-annotations
curl \
 --request PUT 'http://api.example.com/actions/preview-files/a24a6ea4-ce75-4665-a070-57453082c25/update-annotations' \
 --header "Authorization: $API_KEY"











































































































































































































Update given shot.

PUT /data/shots/{shot_id}

Path parameters

  • shot_id Required
application/json

Body Required

object object

Shot data to update

Responses

  • 200

    Update given shot

PUT /data/shots/{shot_id}
curl \
 --request PUT 'http://api.example.com/data/shots/a24a6ea4-ce75-4665-a070-57453082c25' \
 --header "Authorization: $API_KEY" \
 --header "Content-Type: application/json"
Request examples
{}




























































Retrieve all episode entries.

GET /data/episodes

Filters can be specified in the query string.

Query parameters

  • project_id

Responses

  • 200

    All episode entries

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




Retrieve given episode.

GET /data/episodes/{episode_id}

Path parameters

  • episode_id Required

Responses

  • 200

    Given episode

GET /data/episodes/{episode_id}
curl \
 --request GET 'http://api.example.com/data/episodes/a24a6ea4-ce75-4665-a070-57453082c25' \
 --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/a24a6ea4-ce75-4665-a070-57453082c25/time-spents/2022-07-12' \
 --header "Authorization: $API_KEY"













































































Return tasks related to given sequence for current user.

GET /data/user/sequences/{sequence_id}/tasks

Path parameters

  • sequence_id Required

Responses

  • 200

    Tasks related to given sequence

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