Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/cgwire/zou/llms.txt

Use this file to discover all available pages before exploring further.

Asset Endpoints

Get All Assets

Retrieve all production assets with filtering and pagination support. Query Parameters
project_id
string
Filter assets by project ID
asset_type_id
string
Filter assets by asset type
page
integer
Page number for pagination (default: 1)
limit
integer
Number of results per page (default: 100)
Response
assets
array
id
string
Asset unique identifier
name
string
Asset name
project_id
string
Project identifier
entity_type_id
string
Asset type identifier
description
string
Asset description
preview_file_id
string
Preview image file ID
canceled
boolean
Whether asset is canceled
is_shared
boolean
Whether asset is shared across projects
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets?project_id=b35b7fb5-df86-5776-b181-68564193d36" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "name": "Hero Character",
    "description": "Main protagonist of the story",
    "project_id": "b35b7fb5-df86-5776-b181-68564193d36",
    "entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
    "preview_file_id": "e68e0ie8-gi19-8009-e514-91897426g69",
    "canceled": false,
    "is_shared": false,
    "data": {
      "difficulty": "hard",
      "style": "realistic"
    },
    "created_at": "2023-01-15T10:30:00Z",
    "updated_at": "2023-06-20T14:45:00Z"
  }
]

Get Asset with Tasks

Retrieve all assets with their related tasks included. Query Parameters
project_id
string
required
Filter assets by project ID
episode_id
string
Filter by episode (returns non-episodic assets and assets linked to the episode)
asset_type_id
string
Filter by asset type
Response
assets
array
id
string
Asset unique identifier
name
string
Asset name
asset_type_name
string
Asset type name
tasks
array
Array of related tasks
id
string
Task ID
task_type_id
string
Task type ID
task_status_id
string
Task status ID
assignees
array
Array of assigned person IDs
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/with-tasks?project_id=b35b7fb5-df86-5776-b181-68564193d36" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "name": "Hero Character",
    "asset_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
    "asset_type_name": "Character",
    "preview_file_id": "e68e0ie8-gi19-8009-e514-91897426g69",
    "description": "Main protagonist",
    "tasks": [
      {
        "id": "f79f1jf9-hj20-9110-f625-02908537h70",
        "task_type_id": "g80g2kg0-ik31-0221-g736-13019648i81",
        "task_status_id": "h91h3lh1-jl42-1332-h847-24120759j92",
        "assignees": ["i02i4mi2-km53-2443-i958-35231860k03"],
        "priority": 1,
        "estimation": 5,
        "duration": 4
      }
    ]
  }
]

Get Single Asset

Retrieve detailed information about a specific asset including tasks and metadata. Path Parameters
asset_id
string
required
Unique identifier of the asset
Response
id
string
Asset unique identifier
name
string
Asset name
description
string
Asset description
project_id
string
Project identifier
project_name
string
Project name
entity_type_id
string
Asset type identifier
asset_type_name
string
Asset type name
preview_file_id
string
Main preview image ID
data
object
Custom metadata fields
tasks
array
Array of associated tasks
canceled
boolean
Whether the asset is canceled
is_shared
boolean
Whether the asset is shared
ready_for
string
Task type ID for readiness indicator
created_at
string
Creation timestamp
updated_at
string
Last update timestamp
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
{
  "id": "a24a6ea4-ce75-4665-a070-57453082c25",
  "name": "Hero Character",
  "description": "Main protagonist of the story",
  "project_id": "b35b7fb5-df86-5776-b181-68564193d36",
  "project_name": "My Awesome Project",
  "entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
  "asset_type_name": "Character",
  "preview_file_id": "e68e0ie8-gi19-8009-e514-91897426g69",
  "data": {
    "difficulty": "hard",
    "height": "180cm",
    "style": "realistic"
  },
  "canceled": false,
  "is_shared": false,
  "ready_for": "g80g2kg0-ik31-0221-g736-13019648i81",
  "tasks": [
    {
      "id": "f79f1jf9-hj20-9110-f625-02908537h70",
      "task_type_id": "g80g2kg0-ik31-0221-g736-13019648i81",
      "task_status_id": "h91h3lh1-jl42-1332-h847-24120759j92",
      "assignees": ["i02i4mi2-km53-2443-i958-35231860k03"]
    }
  ],
  "created_at": "2023-01-15T10:30:00Z",
  "updated_at": "2023-06-20T14:45:00Z"
}

Create Asset

Create a new asset in a project with the specified asset type. Path Parameters
project_id
string
required
Project identifier
asset_type_id
string
required
Asset type identifier
Request Body
name
string
required
Asset name
description
string
Asset description
data
object
Custom metadata fields (default: )
is_shared
boolean
Whether asset is shared across projects (default: false)
episode_id
string
Episode ID if this is an episodic asset variant
Response
id
string
Created asset unique identifier
name
string
Asset name
description
string
Asset description
project_id
string
Project identifier
entity_type_id
string
Asset type identifier
created_at
string
Creation timestamp
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/b35b7fb5-df86-5776-b181-68564193d36/asset-types/c46c8gc6-eg97-6887-c292-79675204e47/assets/new" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Magic Sword",
    "description": "Legendary weapon of the hero",
    "data": {
      "difficulty": "medium",
      "material": "steel"
    },
    "is_shared": false
  }'
Example Response
{
  "id": "j13j5nj3-ln64-3554-j069-46342971l14",
  "name": "Magic Sword",
  "description": "Legendary weapon of the hero",
  "project_id": "b35b7fb5-df86-5776-b181-68564193d36",
  "entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
  "data": {
    "difficulty": "medium",
    "material": "steel"
  },
  "is_shared": false,
  "canceled": false,
  "created_at": "2023-11-15T16:20:00Z",
  "updated_at": "2023-11-15T16:20:00Z"
}

Delete Asset

Delete an asset. If the asset has tasks, it will be marked as canceled instead of deleted (unless force=true). Path Parameters
asset_id
string
required
Asset identifier to delete
Query Parameters
force
boolean
Force permanent deletion even if tasks exist (default: false)
Response Returns 204 No Content on success. Example Request
curl -X DELETE "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25" \
  -H "Authorization: Bearer YOUR_TOKEN"
Only the asset creator or project managers can delete assets. If the asset has related tasks and force=false, it will be canceled instead of deleted to preserve production history.

Project Asset Endpoints

Get Project Assets

Retrieve all assets for a specific project. Path Parameters
project_id
string
required
Project identifier
Query Parameters
asset_type_id
string
Filter by asset type
page
integer
Page number
limit
integer
Results per page
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/b35b7fb5-df86-5776-b181-68564193d36/assets" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Project Asset Type Assets

Retrieve all assets of a specific type within a project. Path Parameters
project_id
string
required
Project identifier
asset_type_id
string
required
Asset type identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/b35b7fb5-df86-5776-b181-68564193d36/asset-types/c46c8gc6-eg97-6887-c292-79675204e47/assets" \
  -H "Authorization: Bearer YOUR_TOKEN"

Asset Type Endpoints

Get All Asset Types

Retrieve all asset types in the system. Example Request
curl -X GET "https://kitsu.example.com/api/data/asset-types" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "c46c8gc6-eg97-6887-c292-79675204e47",
    "name": "Character",
    "short_name": "CHAR",
    "description": "Animated characters",
    "task_types": [
      "f79f1jf9-hj20-9110-f625-02908537h70"
    ],
    "archived": false
  }
]

Get Asset Type

Retrieve a specific asset type by ID. Path Parameters
asset_type_id
string
required
Asset type identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/asset-types/c46c8gc6-eg97-6887-c292-79675204e47" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Project Asset Types

Retrieve all asset types used in a specific project. Path Parameters
project_id
string
required
Project identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/b35b7fb5-df86-5776-b181-68564193d36/asset-types" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Shot Asset Types

Retrieve asset types of assets cast in a specific shot. Path Parameters
shot_id
string
required
Shot identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/shots/d57d9hd7-fh08-7998-d403-80786315f58/asset-types" \
  -H "Authorization: Bearer YOUR_TOKEN"

Asset Task Endpoints

Get Asset Tasks

Retrieve all tasks for a specific asset. Path Parameters
asset_id
string
required
Asset identifier
Query Parameters
task_type_id
string
Filter by task type
task_status_id
string
Filter by task status
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/tasks" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "f79f1jf9-hj20-9110-f625-02908537h70",
    "entity_id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "task_type_id": "g80g2kg0-ik31-0221-g736-13019648i81",
    "task_status_id": "h91h3lh1-jl42-1332-h847-24120759j92",
    "assignees": ["i02i4mi2-km53-2443-i958-35231860k03"],
    "priority": 1,
    "estimation": 5,
    "duration": 4,
    "retake_count": 0,
    "start_date": "2023-06-01",
    "due_date": "2023-06-15"
  }
]

Get Asset Task Types

Retrieve all task types used for a specific asset. Path Parameters
asset_id
string
required
Asset identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/task-types" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "g80g2kg0-ik31-0221-g736-13019648i81",
    "name": "Modeling",
    "short_name": "MOD",
    "color": "#3273DC",
    "for_entity": "Asset"
  },
  {
    "id": "h91h3lh1-jl42-1332-h847-24120759j92",
    "name": "Texturing",
    "short_name": "TEX",
    "color": "#22D160",
    "for_entity": "Asset"
  }
]

Asset Casting Endpoints

Get Asset Casting

Retrieve the casting information showing which shots/sequences use this asset. Path Parameters
asset_id
string
required
Asset identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/casting" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "d57d9hd7-fh08-7998-d403-80786315f58",
    "name": "SH01",
    "entity_type_name": "Shot",
    "sequence_name": "SEQ01",
    "episode_name": "EP01",
    "nb_occurences": 2,
    "label": "main"
  }
]

Update Asset Casting

Update the casting relationships for an asset. Path Parameters
asset_id
string
required
Asset identifier
Request Body
casting
array
required
Array of entity IDs to cast this asset in
Example Request
curl -X PUT "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/casting" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "casting": [
      {
        "entity_id": "d57d9hd7-fh08-7998-d403-80786315f58",
        "nb_occurences": 2
      }
    ]
  }'

Get Shots Casting Asset

Retrieve all shots that cast this asset in their breakdown. Path Parameters
asset_id
string
required
Asset identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/cast-in" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "shot_id": "d57d9hd7-fh08-7998-d403-80786315f58",
    "shot_name": "SH01",
    "sequence_id": "e68e0ie8-gi19-8009-e514-91897426g69",
    "sequence_name": "SEQ01",
    "episode_id": "f79f1jf9-hj20-9110-f625-02908537h70",
    "episode_name": "EP01",
    "nb_occurences": 2
  }
]

Get Linked Assets

Retrieve all assets linked to a specific asset through casting relationships. Path Parameters
asset_id
string
required
Asset identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/assets" \
  -H "Authorization: Bearer YOUR_TOKEN"

Asset Instance Endpoints

Get Asset Instances

Retrieve all asset instances instantiated inside a specific asset. Path Parameters
asset_id
string
required
Parent asset identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/asset-asset-instances" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "j13j5nj3-ln64-3554-j069-46342971l14",
    "asset_id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "target_asset_id": "k24k6ok4-mo75-4665-k170-57453082m25",
    "number": 1,
    "name": "Sword Instance 01",
    "description": "Hero's main weapon",
    "active": true
  }
]

Create Asset Instance

Create a new asset instance inside a specific asset. Path Parameters
asset_id
string
required
Parent asset identifier
Request Body
asset_to_instantiate_id
string
required
ID of the asset to instantiate
description
string
Description for the instance
Example Request
curl -X POST "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/asset-asset-instances" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "asset_to_instantiate_id": "k24k6ok4-mo75-4665-k170-57453082m25",
    "description": "Hero sword instance"
  }'
Example Response
{
  "id": "l35l7pl5-np86-5776-l281-68564193n36",
  "asset_id": "a24a6ea4-ce75-4665-a070-57453082c25",
  "target_asset_id": "k24k6ok4-mo75-4665-k170-57453082m25",
  "number": 1,
  "description": "Hero sword instance",
  "active": true,
  "created_at": "2023-11-15T16:30:00Z"
}

Get Shot Asset Instances

Retrieve all shot asset instances linked to a specific asset. Path Parameters
asset_id
string
required
Asset identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/shot-asset-instances" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Scene Asset Instances

Retrieve all scene asset instances linked to a specific asset. Path Parameters
asset_id
string
required
Asset identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/scene-asset-instances" \
  -H "Authorization: Bearer YOUR_TOKEN"

Shared Asset Endpoints

Set Assets Shared

Share or unshare a specific list of assets. Request Body
asset_ids
array
required
Array of asset IDs to update
is_shared
boolean
Whether to share (true) or unshare (false) the assets (default: true)
Example Request
curl -X POST "https://kitsu.example.com/api/actions/assets/share" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "asset_ids": [
      "a24a6ea4-ce75-4665-a070-57453082c25",
      "b35b7fb5-df86-5776-b181-68564193d36"
    ],
    "is_shared": true
  }'

Set Project Assets Shared

Share or unshare all assets (or specific assets) in a project. Path Parameters
project_id
string
required
Project identifier
Request Body
is_shared
boolean
Whether to share or unshare (default: true)
asset_ids
array
Optional: Specific asset IDs to update (if omitted, updates all project assets)
Example Request
curl -X POST "https://kitsu.example.com/api/actions/projects/b35b7fb5-df86-5776-b181-68564193d36/assets/share" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "is_shared": true
  }'

Set Asset Type Assets Shared

Share or unshare all assets of a specific type in a project. Path Parameters
project_id
string
required
Project identifier
asset_type_id
string
required
Asset type identifier
Request Body
is_shared
boolean
Whether to share or unshare (default: true)
Example Request
curl -X POST "https://kitsu.example.com/api/actions/projects/b35b7fb5-df86-5776-b181-68564193d36/asset-types/c46c8gc6-eg97-6887-c292-79675204e47/assets/share" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "is_shared": true
  }'

Get Shared Assets Used in Project

Retrieve all shared assets that are used in a specific project. Path Parameters
project_id
string
required
Project identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/b35b7fb5-df86-5776-b181-68564193d36/assets/shared-used" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "name": "Generic Tree",
    "project_id": "m46m8qm6-oq97-6887-m392-79675204o47",
    "entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
    "is_shared": true
  }
]

Get Shared Assets Used in Episode

Retrieve all shared assets used in a specific episode of a project. Path Parameters
project_id
string
required
Project identifier
episode_id
string
required
Episode identifier
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/b35b7fb5-df86-5776-b181-68564193d36/episodes/f79f1jf9-hj20-9110-f625-02908537h70/assets/shared-used" \
  -H "Authorization: Bearer YOUR_TOKEN"

Error Responses

All endpoints may return the following error responses:
400
Bad Request
Invalid request parameters or missing required fields
401
Unauthorized
Missing or invalid authentication token
403
Forbidden
Insufficient permissions to access the resource
404
Not Found
Asset, asset type, or project not found
500
Internal Server Error
Server error occurred while processing request
Example Error Response
{
  "error": true,
  "message": "Asset not found",
  "exception": "AssetNotFoundException"
}

Build docs developers (and LLMs) love