Import tasks from another Kitsu instance

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
POST /import/kitsu/tasks

Import tasks from another Kitsu instance. Synchronization tools use this route to copy data from another Kitsu instance. Send a JSON list of rows, with their identifiers. A row that exists is updated. Else, it is created. You must be an administrator.

Query parameters

  • silent boolean

    Do not send an event for each imported row. Use it for large imports.

    Default value is false.

application/json

Body Required

  • id string(uuid)

    Kitsu ID of the task

  • name string

    Task name

  • project_id string(uuid)

    Project ID

  • entity_id string(uuid)

    Entity ID the task is linked to

  • task_type_id string(uuid)

    Task type ID

Responses

  • 200 application/json

    The created and updated rows

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

      Task unique identifier

    • name string

      Task name

    • created_at string(date-time)

      Creation timestamp

    • updated_at string(date-time)

      Update timestamp

  • 400

    The body is not a list, or a row breaks a database constraint

  • 403

    You are not an administrator

POST /import/kitsu/tasks
curl -X POST "http://api.example.com/import/kitsu/tasks" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "name": "Modeling",
    "project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
    "entity_id": "c24a6ea4-ce75-4665-a070-57453082c25",
    "task_type_id": "d24a6ea4-ce75-4665-a070-57453082c25"
  }
]'
import requests

url = "http://api.example.com/import/kitsu/tasks"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Accept": "application/json",
    "Content-Type": "application/json"
}
params = {}
payload = [
    {
        "id": "a24a6ea4-ce75-4665-a070-57453082c25",
        "name": "Modeling",
        "project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
        "entity_id": "c24a6ea4-ce75-4665-a070-57453082c25",
        "task_type_id": "d24a6ea4-ce75-4665-a070-57453082c25"
    }
]

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

response.raise_for_status()

if response.content:
    print(response.json())
Request example
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c250",
    "name": "Modeling",
    "project_id": "b24a6ea4-ce75-4665-a070-57453082c250",
    "entity_id": "c24a6ea4-ce75-4665-a070-57453082c250",
    "task_type_id": "d24a6ea4-ce75-4665-a070-57453082c250"
  }
]
Response examples (200)
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c250",
    "name": "Modeling",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T11:00:00Z"
  }
]