Get assets with their tasks

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://api-docs.kitsu.cloud/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Kitsu API MCP server": {
    "url": "https://api-docs.kitsu.cloud/mcp"
  }
}

Close
GET /data/assets/with-tasks

Get the assets of the projects that you can access, with the tasks of each asset. Each asset has its project name and asset type name. Filter with project_id, episode_id or assigned_to. The other columns are not filters on this route. A vendor gets only the assets of their assigned tasks, without the metadata columns hidden from their departments. A client gets the tasks without the studio fields (assignees, estimation, dates, retake count). The response can have an ETag. Send it in If-None-Match to get a 304 response when the data did not change.

Query parameters

  • project_id string(uuid)

    Filter assets by specific project

  • episode_id string

    Get the assets of this episode and the assets cast in this episode. Use main to get the assets that have no episode. Use all to get the assets of all episodes.

  • compact boolean

    Encode assets and tasks as positional value arrays (halves the payload). Field names are given by the asset_fields and task_fields entries of the response, map values by name, never by hardcoded position.

    Default value is false.

  • stream boolean

    Stream the response as NDJSON (one header line, then one asset per line) instead of a single JSON document, to keep server memory flat on large productions.

    Default value is false.

  • assigned_to string

    With any value, get only the assets that have a task assigned to you.

Responses

  • 200 application/json

    The list of assets with their tasks

    Hide response attributes Show response attributes object
    • id string(uuid)

      Asset unique identifier

    • name string

      Asset name

    • project_id string(uuid)

      Project identifier

    • entity_type_id string(uuid)

      Asset type identifier

    • project_name string

      Project name

    • asset_type_name string

      Asset type name

    • tasks array[object]

      Array of related tasks

  • 304

    The data did not change

  • 400

    An identifier is not a valid UUID

  • 403

    You do not have access to this project

GET /data/assets/with-tasks
curl -X GET "http://api.example.com/data/assets/with-tasks?project_id=a24a6ea4-ce75-4665-a070-57453082c25&episode_id=a24a6ea4-ce75-4665-a070-57453082c25&asset_type_id=a24a6ea4-ce75-4665-a070-57453082c25" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
import requests

url = "http://api.example.com/data/assets/with-tasks"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Accept": "application/json"
}
params = {
    "project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "episode_id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "asset_type_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
payload = None

response = requests.get(
    url,
    headers=headers,
    params=params,
    json=payload
)

response.raise_for_status()

if response.content:
    print(response.json())
Response examples (200)
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c250",
    "name": "Character Name",
    "project_id": "b35b7fb5-df86-5776-b181-68564193d360",
    "entity_type_id": "c46c80c6-e097-6887-c292-79675204e470",
    "project_name": "My Project",
    "asset_type_name": "Character",
    "tasks": [
      {}
    ]
  }
]