Tokens are considered as outdated every two weeks.
This route allows to make their lifetime long before they get outdated.
curl \
--request GET 'http://api.example.com/auth/refresh-token' \
--header "Authorization: $API_KEY"
http://api.example.com
Version: 0.20.52
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
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.52
of this API documentation.
Last update on Jun 4, 2025.
This API is provided under license AGPL 3.0.
This route allows to make their lifetime long before they get outdated.
curl \
--request GET 'http://api.example.com/auth/refresh-token' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/auth/saml/login' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/assets/{asset_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/assets/{asset_id}/task-types' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/assets/{asset_id}/casting' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/data/projects/{project_id}/asset-types/{asset_type_id}/assets/new' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/actions/projects/{project_id}/assets/share' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/tasks/{task_id}/comments/{comment_id}/attachments/{attachment_id}' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/tasks/{task_id}/attachment-files' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/entities' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/task-types' \
--header "Authorization: $API_KEY"
JSON format is expected. The model performs the validation automatically when instantiated.
curl \
--request POST 'http://api.example.com/data/task-types' \
--header "Authorization: $API_KEY"
JSON format is expected. Model performs the validation automatically when fields are modified.
curl \
--request PUT 'http://api.example.com/data/output-types/{instance_id}' \
--header "Authorization: $API_KEY"
a 204 status code.
curl \
--request DELETE 'http://api.example.com/data/preview-files/{instance_id}' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/attachment-files' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/attachment-files/{instance_id}' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/attachment-files/{instance_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/comments/{instance_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/news/{instance_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/milestones/{instance_id}' \
--header "Authorization: $API_KEY"
JSON format is expected. The model performs the validation automatically when instantiated.
curl \
--request POST 'http://api.example.com/data/metadata-descriptors/' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/entity-links/{instance_id}' \
--header "Authorization: $API_KEY"
JSON format is expected. The model performs the validation automatically when instantiated.
curl \
--request POST 'http://api.example.com/data/chat-messages/' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/chat-messages/{instance_id}' \
--header "Authorization: $API_KEY"
JSON format is expected. The model performs the validation automatically when instantiated.
curl \
--request POST 'http://api.example.com/data/salary-scales' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/edits/all' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/news' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/preview-files' \
--header "Authorization: $API_KEY"
output file.
curl \
--request GET 'http://api.example.com/data/files/{file_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/tasks/{task_id}/working-files/last-revisions' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/last-revisions' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/output-types/{output_type_id}/output-files' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/import/shotgun/errors/{error_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/status/influx' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/status.txt' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/pictures/originals/preview-files/{instance_id}/download' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/pictures/previews/preview-files/{instance_id}.png' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/pictures/thumbnails/organisations/{instance_id}.png' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/pictures/thumbnails/preview-background-files/{instance_id}.png' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/projects/{project_id}/schedule-items/{task_type_id}/asset-types' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/projects/{project_id}/budgets/{budget_id}' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/projects/{project_id}/budgets/{budget_id}/entries/{entry_id}' \
--header "Authorization: $API_KEY"
It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.
curl \
--request GET 'http://api.example.com/data/shots/{shot_id}/preview-files' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/episodes/{episode_id}/sequences' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/actions/projects/{project_id}/task-types/{task_type_id}/edits/create-tasks' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/user/shots/{shot_id}/tasks' \
--header "Authorization: $API_KEY"
project if user has access to this project.
curl \
--request GET 'http://api.example.com/data/user/projects/{project_id}/asset-types/{asset_type_id}/assets' \
--header "Authorization: $API_KEY"
to it.
curl \
--request GET 'http://api.example.com/data/user/projects/{project_id}/sequences' \
--header "Authorization: $API_KEY"
to it.
curl \
--request GET 'http://api.example.com/data/user/sequences/{sequence_id}/shots' \
--header "Authorization: $API_KEY"
If the user is not a supervisor, it returns an empty list.
curl \
--request GET 'http://api.example.com/data/user/tasks-to-check' \
--header "Authorization: $API_KEY"
is_done attribute set to true.
curl \
--request GET 'http://api.example.com/data/user/done-tasks' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/user/notifications' \
--header "Authorization: $API_KEY"
ID of the entity related to the chat
ID of the chat message
curl \
--request DELETE 'http://api.example.com/data/entities/{entity_id}/chat/messages/{chat_message_id}' \
--header "Authorization: $API_KEY"