curl \
--request POST 'http://api.example.com/import/shotgun/projectconnections' \
--header "Authorization: $API_KEY"
Kitsu API
0.20.42
http://api.example.com
Welcome to the Kitsu API specification
Version: 0.20.42
The Kitsu API allows to store and manage the data of your animation/VFX production. Through it you can link all the tools of your pipeline and make sure they are all synchronized.
An easy to use Python client to access this API is available: Python Kitsu Client documentation
Authentication
Before you can use any of the endpoints outline below, you will have to get a JWT token to authorize your requests.
You will find the information to retrieve it in the Zou documentation.
This is version 0.20.42
of this API documentation.
Last update on May 16, 2025.
This API is provided under license AGPL 3.0.
Retrieve all task types related to a given asset.
Path parameters
-
asset_id
Required
curl \
--request GET 'http://api.example.com/data/assets/{asset_id}/task-types' \
--header "Authorization: $API_KEY"
Retrieve all shared assets used in project.
curl \
--request GET 'http://api.example.com/data/projects/{project_id}/assets/shared-used' \
--header "Authorization: $API_KEY"
Create an asset instance on given scene.
Path parameters
-
scene_id
Required
curl \
--request POST 'http://api.example.com/data/scenes/{scene_id}/asset-instances' \
--header "Authorization: $API_KEY"
Retrieve all entries for given model.
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/projects' \
--header "Authorization: $API_KEY"
Update a model with data given in the request body.
JSON format is expected. Model performs the validation automatically when fields are modified.
Path parameters
-
instance_id
Required
curl \
--request PUT 'http://api.example.com/data/projects/{instance_id}' \
--header "Authorization: $API_KEY"
Delete a model corresponding at given ID and return it as a JSON object.
Path parameters
-
instance_id
Required
curl \
--request DELETE 'http://api.example.com/data/entity-types/{instance_id}' \
--header "Authorization: $API_KEY"
Retrieve a model corresponding at given ID and return it as a JSON object.
Path parameters
-
instance_id
Required
curl \
--request GET 'http://api.example.com/data/departments/{instance_id}' \
--header "Authorization: $API_KEY"
Update a model with data given in the request body.
JSON format is expected. Model performs the validation automatically when fields are modified.
Path parameters
-
instance_id
Required
curl \
--request PUT 'http://api.example.com/data/departments/{instance_id}' \
--header "Authorization: $API_KEY"
Update a model with data given in the request body.
JSON format is expected. Model performs the validation automatically when fields are modified.
Path parameters
-
instance_id
Required
curl \
--request PUT 'http://api.example.com/data/organisations/{instance_id}' \
--header "Authorization: $API_KEY"
Retrieve a model corresponding at given ID and return it as a JSON object.
Path parameters
-
instance_id
Required
curl \
--request GET 'http://api.example.com/data/time-spents/{instance_id}' \
--header "Authorization: $API_KEY"
Retrieve all entries for given model.
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/day-offs/' \
--header "Authorization: $API_KEY"
Delete a model corresponding at given ID and return it as a JSON object.
Path parameters
-
instance_id
Required
curl \
--request DELETE 'http://api.example.com/data/day-offs/{instance_id}' \
--header "Authorization: $API_KEY"
Retrieve all entries for given model.
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/preview-background-files' \
--header "Authorization: $API_KEY"
Retrieve all edits, adds project name and all related tasks.
curl \
--request GET 'http://api.example.com/data/edits/with-tasks' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/export/csv/projects.csv' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/export/csv/tasks.csv' \
--header "Authorization: $API_KEY"
Return all types of output generated for given entity.
Path parameters
-
entity_id
Required
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/output-types' \
--header "Authorization: $API_KEY"
Path parameters
-
working_file_id
Required
curl \
--request GET 'http://api.example.com/data/working-files/{working_file_id}/file' \
--header "Authorization: $API_KEY"
Path parameters
-
working_file_id
Required
curl \
--request POST 'http://api.example.com/data/working-files/{working_file_id}/file' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/import/shotgun/projects' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/import/shotgun/scenes' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/import/shotgun/versions' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/import/shotgun/notes' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/import/shotgun/remove/status' \
--header "Authorization: $API_KEY"
Import the estimations of task-types for given project.
Path parameters
-
project_id
Required -
task_type_id
Required
curl \
--request POST 'http://api.example.com/import/csv/projects/{project_id}/task-types/{task_type_id}/estimations' \
--header "Authorization: $API_KEY"
Get aggregated time spents for given person and year.
curl \
--request GET 'http://api.example.com/data/persons/{person_id}/time-spents/year/{year}' \
--header "Authorization: $API_KEY"
Return all day off recorded for given month and person.
curl \
--request GET 'http://api.example.com/data/persons/{person_id}/day-offs/month/{year}/{month}' \
--header "Authorization: $API_KEY"
Sends an email to given person to invite him/her to connect to Kitsu.
Path parameters
-
person_id
Required
curl \
--request GET 'http://api.example.com/actions/persons/{person_id}/invite' \
--header "Authorization: $API_KEY"
Allow admin to change password for given user.
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
curl \
--request POST 'http://api.example.com/actions/persons/{person_id}/change-password' \
--header "Authorization: $API_KEY"
Retrieve all preview files from open productions with states equals to processing or broken.
curl \
--request GET 'http://api.example.com/data/playlists/preview-files/running' \
--header "Authorization: $API_KEY"
Download the thumbnail representing given attachment file.
Path parameters
-
attachment_file_id
Required
curl \
--request GET 'http://api.example.com/pictures/thumbnails/attachment-files/{attachment_file_id}.png' \
--header "Authorization: $API_KEY"
Download the thumbnail linked to given object instance.
Path parameters
-
instance_id
Required
curl \
--request GET 'http://api.example.com/pictures/thumbnails/projects/{instance_id}' \
--header "Authorization: $API_KEY"
Path parameters
-
project_id
Required
curl \
--request POST 'http://api.example.com/data/projects/{project_id}/team' \
--header "Authorization: $API_KEY"
Retrieve a budget for given production
Path parameters
-
project_id
Required -
budget_id
Required
curl \
--request GET 'http://api.example.com/data/projects/{project_id}/budgets/{budget_id}' \
--header "Authorization: $API_KEY"
Update a budget name for given production
Path parameters
-
project_id
Required -
budget_id
Required
curl \
--request PUT 'http://api.example.com/data/projects/{project_id}/budgets/{budget_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/shots' \
--header "Authorization: $API_KEY"
Path parameters
-
shot_id
Required
curl \
--request DELETE 'http://api.example.com/data/shots/{shot_id}' \
--header "Authorization: $API_KEY"
Path parameters
-
shot_id
Required
curl \
--request GET 'http://api.example.com/data/shots/{shot_id}/tasks' \
--header "Authorization: $API_KEY"
Path parameters
-
scene_id
Required
curl \
--request GET 'http://api.example.com/data/scenes/{scene_id}/tasks' \
--header "Authorization: $API_KEY"
Return a task with many information.
Full details for assignees, full details for task type, full details for task status, etc.
Path parameters
-
task_id
Required
curl \
--request GET 'http://api.example.com/data/tasks/{task_id}/full' \
--header "Authorization: $API_KEY"
Add a preview to given comment.
Path parameters
-
task_id
Required -
comment_id
Required -
preview_file_id
Required
curl \
--request POST 'http://api.example.com/actions/tasks/{task_id}/comments/{comment_id}/preview-files/{preview_file_id}' \
--header "Authorization: $API_KEY"
Create filter for current user and only for open projects.
curl \
--request POST 'http://api.example.com/data/user/filters' \
--header "Authorization: $API_KEY"
Path parameters
-
entity_id
Required ID of the entity related to the chat
-
chat_message_id
Required ID of the chat message
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/chat/messages/{chat_message_id}' \
--header "Authorization: $API_KEY"