Return the list of projects currently running.
Most of the time, past projects are not needed.
curl \
--request GET 'http://api.example.com/data/projects/open' \
--header "Authorization: $API_KEY"
http://api.example.com
Version: 0.20.48
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.48
of this API documentation.
Last update on May 27, 2025.
This API is provided under license AGPL 3.0.
Prior to modifying the password, it requires to give the current password (to make sure the user changing the password is not someone who stealed the session). The new password requires a confirmation to ensure that the user didn't make a mistake by typing his new password.
curl \
--request POST 'http://api.example.com/auth/change-password' \
--header "Authorization: $API_KEY"
curl \
--request PUT 'http://api.example.com/auth/fido' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/assets/{asset_id}/tasks' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/projects/{project_id}/episodes/{episode_id}/assets/shared-used' \
--header "Authorization: $API_KEY"
Add comment to its replies list.
curl \
--request POST 'http://api.example.com/data/tasks/{task_id}/comments/{comment_id}/reply' \
--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/persons/{instance_id}' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/task-status' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/tasks/{instance_id}' \
--header "Authorization: $API_KEY"
object.
curl \
--request GET 'http://api.example.com/data/output-files/{instance_id}' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/working-files' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/time-spents/{instance_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/playlists/{instance_id}' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/events/{instance_id}' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/search-filters/' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/schedule-items/' \
--header "Authorization: $API_KEY"
Filters can be specified in the query string.
curl \
--request GET 'http://api.example.com/data/subscriptions/' \
--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/chat-messages/{instance_id}' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/salary-scales/{instance_id}' \
--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/projects/{project_id}/edits' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/data/projects/{project_id}/edits' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/preview-files' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/export/csv/projects.csv' \
--header "Authorization: $API_KEY"
Generate file path based on several parameters: asset instance, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision in case no revision is given in parameter.
curl \
--request POST 'http://api.example.com/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/output-files' \
--header "Authorization: $API_KEY"
curl \
--request PUT 'http://api.example.com/actions/working-files/{working_file_id}/modified' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/import/shotgun/remove/asset' \
--header "Authorization: $API_KEY"
curl \
--request POST 'http://api.example.com/import/csv/projects/{project_id}/shots' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/persons/{person_id}/quota-shots/week/{year}/{week}' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/playlists/{playlist_id}/jobs/{build_job_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/playlists/{playlist_id}/build/mp4' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/pictures/previews/preview-files/{instance_id}.png' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/pictures/thumbnails/organisations/{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/preview-background-files/{instance_id}.{extension}' \
--header "Authorization: $API_KEY"
Most of the time, past projects are not needed.
curl \
--request GET 'http://api.example.com/data/projects/open' \
--header "Authorization: $API_KEY"
curl \
--request DELETE 'http://api.example.com/data/projects/{project_id}/settings/preview-background-files/{preview_background_file_id}' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/shots' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/episodes/{episode_id}/tasks' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/sequences/{sequence_id}/shot-tasks' \
--header "Authorization: $API_KEY"
It's mainly used for synchronisation purpose.
curl \
--request GET 'http://api.example.com/data/projects/{project_id}/comments' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/user/assets/{asset_id}/tasks' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/user/scenes/{scene_id}/tasks' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/user/notifications' \
--header "Authorization: $API_KEY"
The user will no longer receive notifications for this task.
curl \
--request DELETE 'http://api.example.com/actions/user/tasks/{task_id}/unsubscribe' \
--header "Authorization: $API_KEY"
curl \
--request GET 'http://api.example.com/data/entities/{entity_id}/entities-linked/with-tasks' \
--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/concepts/{concept_id}/preview-files' \
--header "Authorization: $API_KEY"