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.

Core Project Endpoints

Get Open Projects

Retrieve all currently active projects. This endpoint returns projects with “Open”, “open”, or “Active” status, along with enriched data including metadata descriptors, task types, and task statuses. Authentication: Required (JWT) Query Parameters
name
string
Filter projects by name
Response
projects
array
id
string
Project unique identifier
name
string
Project name
code
string
Project code
description
string
Project description
project_status_id
string
Project status identifier
production_type
string
Type of production (short, tvshow, featurefilm, etc.)
production_style
string
Visual style (2d, 3d, vfx, etc.)
fps
string
Frames per second
ratio
string
Aspect ratio
resolution
string
Video resolution
start_date
string
Production start date
end_date
string
Production end date
descriptors
array
Array of metadata descriptors for this project
task_types_priority
object
Task type IDs mapped to their priority values
Task status IDs mapped to priority and roles_for_board
first_episode_id
string
First episode ID (for TV shows)
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/open" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "name": "My Animation Project",
    "code": "MAP",
    "description": "An exciting animation production",
    "project_status_id": "b35b7fb5-df86-5776-b181-68564193d36",
    "production_type": "short",
    "production_style": "3d",
    "fps": "24",
    "ratio": "16:9",
    "resolution": "1920x1080",
    "start_date": "2024-01-01",
    "end_date": "2024-12-31",
    "descriptors": [
      {
        "id": "c46c8gc6-eg97-6887-c292-79675204e47",
        "name": "Difficulty",
        "field_name": "difficulty",
        "data_type": "list",
        "choices": ["easy", "medium", "hard"],
        "entity_type": "Asset",
        "for_client": false
      }
    ],
    "task_types_priority": {
      "d57d9hd7-fh08-7998-d403-02120870i92": 1,
      "e68e0ie8-gi19-8009-e514-91897426g69": 2
    },
    "task_statuses_link": {
      "f79f1jf9-hj20-9110-f625-02908537h70": {
        "priority": 1,
        "roles_for_board": ["user", "admin"]
      }
    },
    "has_avatar": true,
    "created_at": "2023-12-01T10:00:00Z",
    "updated_at": "2024-01-15T14:30:00Z"
  }
]

Get All Projects

Retrieve all projects in the database regardless of status. Requires manager or admin permissions. Regular users will only see their assigned projects. Authentication: Required (JWT) Permissions: Manager or Admin (regular users see only their projects) Query Parameters
name
string
Filter projects by exact name match
Response
projects
array
id
string
Project unique identifier
name
string
Project name
project_status_id
string
Project status identifier
project_status_name
string
Name of the project status
code
string
Project code
description
string
Project description
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/all" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "name": "My Animation Project",
    "code": "MAP",
    "project_status_id": "b35b7fb5-df86-5776-b181-68564193d36",
    "project_status_name": "Open",
    "description": "An exciting animation production",
    "production_type": "short",
    "created_at": "2023-12-01T10:00:00Z"
  },
  {
    "id": "b35b7fb5-df86-5776-b181-68564193d36",
    "name": "Archived Project",
    "code": "ARCH",
    "project_status_id": "c46c8gc6-eg97-6887-c292-79675204e47",
    "project_status_name": "Closed",
    "description": "Completed project",
    "production_type": "commercial",
    "created_at": "2022-01-01T10:00:00Z"
  }
]

Team Management

Get Production Team

Retrieve all people assigned to the project team. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
Response
team
array
id
string
Person unique identifier
first_name
string
Person’s first name
last_name
string
Person’s last name
email
string
Person’s email address
role
string
Person’s role (user, admin, manager, client, vendor)
departments
array
Department IDs the person belongs to
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/team" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "d57d9hd7-fh08-7998-d403-02120870i92",
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "role": "user",
    "departments": ["e68e0ie8-gi19-8009-e514-91897426g69"],
    "active": true
  },
  {
    "id": "e68e0ie8-gi19-8009-e514-91897426g69",
    "first_name": "Jane",
    "last_name": "Smith",
    "email": "jane.smith@example.com",
    "role": "manager",
    "departments": [],
    "active": true
  }
]

Add Person to Team

Add a person to the project team. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
person_id
string
required
ID of the person to add to the team
Response
project
object
Updated project object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/team" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "person_id": "d57d9hd7-fh08-7998-d403-02120870i92"
  }'
Example Response
{
  "id": "a24a6ea4-ce75-4665-a070-57453082c25",
  "name": "My Animation Project",
  "team": [
    "d57d9hd7-fh08-7998-d403-02120870i92",
    "e68e0ie8-gi19-8009-e514-91897426g69"
  ]
}

Remove Person from Team

Remove a person from the project team. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
person_id
string
required
Person unique identifier to remove
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/team/d57d9hd7-fh08-7998-d403-02120870i92" \
  -H "Authorization: Bearer YOUR_TOKEN"

Task Type Settings

Get Project Task Types

Retrieve all task types linked to the project. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
Response
task_types
array
id
string
Task type unique identifier
name
string
Task type name (e.g., “Modeling”, “Animation”)
short_name
string
Short abbreviation
color
string
Hex color code
for_entity
string
Entity type (Asset, Shot, Edit, etc.)
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/task-types" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "f79f1jf9-hj20-9110-f625-02908537h70",
    "name": "Modeling",
    "short_name": "mdl",
    "color": "#3273dc",
    "for_entity": "Asset",
    "priority": 1
  },
  {
    "id": "g80g2kg0-ik31-0221-g736-13019648i81",
    "name": "Animation",
    "short_name": "anim",
    "color": "#22d160",
    "for_entity": "Shot",
    "priority": 2
  }
]

Add Task Type to Project

Add a task type to the project configuration. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
task_type_id
string
required
ID of the task type to add
priority
integer
Display priority for ordering (optional)
Response
project
object
Updated project object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/task-types" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "task_type_id": "f79f1jf9-hj20-9110-f625-02908537h70",
    "priority": 1
  }'

Remove Task Type from Project

Remove a task type from the project configuration. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
task_type_id
string
required
Task type unique identifier to remove
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/task-types/f79f1jf9-hj20-9110-f625-02908537h70" \
  -H "Authorization: Bearer YOUR_TOKEN"

Task Status Settings

Get Project Task Statuses

Retrieve all task statuses linked to the project. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
Response
task_statuses
array
id
string
Task status unique identifier
name
string
Task status name (e.g., “Todo”, “WIP”, “Done”)
short_name
string
Short abbreviation
color
string
Hex color code
is_done
boolean
Whether this status marks completion
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/task-status" \
  -H "Authorization: Bearer YOUR_TOKEN"

Add Task Status to Project

Add a task status to the project configuration. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
task_status_id
string
required
ID of the task status to add
Response
project
object
Updated project object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/task-status" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "task_status_id": "h91h3lh1-jl42-1332-h847-24120759j92"
  }'

Remove Task Status from Project

Remove a task status from the project configuration. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
task_status_id
string
required
Task status unique identifier to remove
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/task-status/h91h3lh1-jl42-1332-h847-24120759j92" \
  -H "Authorization: Bearer YOUR_TOKEN"

Asset Type Settings

Add Asset Type to Project

Add an asset type to the project configuration. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
asset_type_id
string
required
ID of the asset type to add
Response
project
object
Updated project object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/asset-types" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "asset_type_id": "c46c8gc6-eg97-6887-c292-79675204e47"
  }'

Remove Asset Type from Project

Remove an asset type from the project configuration. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
asset_type_id
string
required
Asset type unique identifier to remove
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/asset-types/c46c8gc6-eg97-6887-c292-79675204e47" \
  -H "Authorization: Bearer YOUR_TOKEN"

Metadata Descriptors

Get Metadata Descriptors

Retrieve all metadata descriptors (custom fields) for the project. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
Response
descriptors
array
id
string
Metadata descriptor unique identifier
name
string
Display name
field_name
string
Field name (slugified)
entity_type
string
Entity type (Asset, Shot, Edit, Episode, Sequence)
data_type
string
Data type (string, number, boolean, list, etc.)
choices
array
Available choices for list fields
for_client
boolean
Whether visible to clients
departments
array
Department IDs that can access this field
position
integer
Display order
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/metadata-descriptors" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "i02i4mi2-km53-2443-i958-35231860k03",
    "name": "Difficulty",
    "field_name": "difficulty",
    "entity_type": "Asset",
    "data_type": "list",
    "choices": ["easy", "medium", "hard"],
    "for_client": false,
    "departments": [],
    "position": 1
  },
  {
    "id": "j13j5nj3-ln64-3554-j069-46342971l14",
    "name": "Frame Range",
    "field_name": "frame_range",
    "entity_type": "Shot",
    "data_type": "string",
    "choices": [],
    "for_client": false,
    "departments": [],
    "position": 2
  }
]

Create Metadata Descriptor

Create a new metadata descriptor (custom field) for the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
name
string
required
Display name for the field
entity_type
string
Entity type: “Asset”, “Shot”, “Edit”, “Episode”, or “Sequence” (default: “Asset”)
data_type
string
required
Data type: “string”, “number”, “boolean”, “list”, “checklist”, “tags”, etc.
choices
array
List of choices for list/dropdown fields
for_client
string
Whether visible to clients: “True” or “False” (default: “False”)
departments
array
Array of department IDs that can access this field
Response
descriptor
object
Created metadata descriptor object
Error Codes
  • 400: Invalid parameters (wrong entity_type, data_type, or empty name)
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/metadata-descriptors" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Difficulty",
    "entity_type": "Asset",
    "data_type": "list",
    "choices": ["easy", "medium", "hard"],
    "for_client": "False",
    "departments": []
  }'
Example Response
{
  "id": "i02i4mi2-km53-2443-i958-35231860k03",
  "name": "Difficulty",
  "field_name": "difficulty",
  "entity_type": "Asset",
  "data_type": "list",
  "choices": ["easy", "medium", "hard"],
  "for_client": false,
  "departments": [],
  "position": 1,
  "created_at": "2024-01-15T10:30:00Z"
}

Get Metadata Descriptor

Retrieve a specific metadata descriptor. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
descriptor_id
string
required
Metadata descriptor unique identifier
Response
descriptor
object
Metadata descriptor object
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/metadata-descriptors/i02i4mi2-km53-2443-i958-35231860k03" \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Metadata Descriptor

Update a metadata descriptor. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
descriptor_id
string
required
Metadata descriptor unique identifier
Request Body
name
string
Updated display name
data_type
string
Updated data type
choices
array
Updated list of choices
for_client
string
“True” or “False”
departments
array
Updated array of department IDs
Response
descriptor
object
Updated metadata descriptor object
Example Request
curl -X PUT "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/metadata-descriptors/i02i4mi2-km53-2443-i958-35231860k03" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Asset Complexity",
    "choices": ["simple", "moderate", "complex", "very complex"]
  }'

Delete Metadata Descriptor

Delete a metadata descriptor. This will also remove the field data from all entities. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
descriptor_id
string
required
Metadata descriptor unique identifier
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/metadata-descriptors/i02i4mi2-km53-2443-i958-35231860k03" \
  -H "Authorization: Bearer YOUR_TOKEN"

Reorder Metadata Descriptors

Reorder metadata descriptors for a specific entity type. This sets the display order in the UI. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
entity_type
string
required
Entity type: “Asset”, “Shot”, “Edit”, “Episode”, or “Sequence”
descriptor_ids
array
required
Array of descriptor IDs in the desired order
Response
descriptors
array
Reordered array of metadata descriptors
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/metadata-descriptors/reorder" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "entity_type": "Asset",
    "descriptor_ids": [
      "j13j5nj3-ln64-3554-j069-46342971l14",
      "i02i4mi2-km53-2443-i958-35231860k03"
    ]
  }'

Status Automations

Get Status Automations

Retrieve all status automations linked to the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Response
status_automations
array
Array of status automation objects
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/status-automations" \
  -H "Authorization: Bearer YOUR_TOKEN"

Add Status Automation to Project

Add a status automation to the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
status_automation_id
string
required
ID of the status automation to add
Response
project
object
Updated project object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/status-automations" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status_automation_id": "k24k6ok4-mo75-4665-k170-57564082l25"
  }'

Remove Status Automation from Project

Remove a status automation from the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
status_automation_id
string
required
Status automation unique identifier to remove
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/status-automations/k24k6ok4-mo75-4665-k170-57564082l25" \
  -H "Authorization: Bearer YOUR_TOKEN"

Preview Background Files

Get Preview Background Files

Retrieve all preview background files linked to the project. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
Response
preview_background_files
array
Array of preview background file objects
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/preview-background-files" \
  -H "Authorization: Bearer YOUR_TOKEN"

Add Preview Background File to Project

Add a preview background file to the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
preview_background_file_id
string
required
ID of the preview background file to add
Response
project
object
Updated project object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/preview-background-files" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "preview_background_file_id": "l35l7pl5-np86-5776-l281-68675193m36"
  }'

Remove Preview Background File from Project

Remove a preview background file from the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
preview_background_file_id
string
required
Preview background file unique identifier to remove
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/settings/preview-background-files/l35l7pl5-np86-5776-l281-68675193m36" \
  -H "Authorization: Bearer YOUR_TOKEN"

Time Tracking

Get Project Time Spents

Retrieve all time spent entries for the project. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
Response
time_spents
array
Array of time spent objects
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/time-spents" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Task Type Time Spents

Retrieve time spent entries for a specific task type in the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
task_type_id
string
required
Task type unique identifier
Query Parameters
start_date
string
Start date for filtering (ISO 8601 format: YYYY-MM-DD)
end_date
string
End date for filtering (ISO 8601 format: YYYY-MM-DD)
Response
time_spents
object
Dictionary of time spent data grouped by person
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/task-types/f79f1jf9-hj20-9110-f625-02908537h70/time-spents?start_date=2024-01-01&end_date=2024-01-31" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Month Time Spents

Get aggregated time spents by month for the project. Authentication: Required (JWT) Permissions: Admin Path Parameters
project_id
string
required
Project unique identifier
Response
time_spents
object
Aggregated time spent data by month
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/time-spents" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Day Offs

Retrieve day offs (vacations, holidays) for project team members. Authentication: Required (JWT) Permissions: Project member (not client/vendor) Path Parameters
project_id
string
required
Project unique identifier
Query Parameters
start_date
string
Start date for filtering (ISO 8601 format: YYYY-MM-DD)
end_date
string
End date for filtering (ISO 8601 format: YYYY-MM-DD)
Response
day_offs
object
Dictionary of day off entries
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/day-offs?start_date=2024-01-01&end_date=2024-12-31" \
  -H "Authorization: Bearer YOUR_TOKEN"

Scheduling

Get Milestones

Retrieve all milestones for the project. Authentication: Required (JWT) Path Parameters
project_id
string
required
Project unique identifier
Response
milestones
array
Array of milestone objects
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/milestones" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Schedule Items

Retrieve all schedule items for the project. Authentication: Required (JWT) Permissions: Project member (not vendor) Path Parameters
project_id
string
required
Project unique identifier
Response
schedule_items
array
Array of schedule item objects
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/schedule-items" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Task Type Schedule Items

Retrieve schedule items grouped by task type. Authentication: Required (JWT) Permissions: Project member (not vendor) Path Parameters
project_id
string
required
Project unique identifier
Response
schedule_items
array
Array of task type schedule items
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/schedule-items/task-types" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Asset Type Schedule Items

Retrieve schedule items for asset types within a task type. Authentication: Required (JWT) Permissions: Project member (not vendor) Path Parameters
project_id
string
required
Project unique identifier
task_type_id
string
required
Task type unique identifier
Response
schedule_items
array
Array of asset type schedule items
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/schedule-items/f79f1jf9-hj20-9110-f625-02908537h70/asset-types" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Episode Schedule Items

Retrieve schedule items for episodes within a task type. Authentication: Required (JWT) Permissions: Project member (not vendor) Path Parameters
project_id
string
required
Project unique identifier
task_type_id
string
required
Task type unique identifier
Response
schedule_items
array
Array of episode schedule items
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/schedule-items/f79f1jf9-hj20-9110-f625-02908537h70/episodes" \
  -H "Authorization: Bearer YOUR_TOKEN"

Get Sequence Schedule Items

Retrieve schedule items for sequences within a task type. Authentication: Required (JWT) Permissions: Project member (not vendor) Path Parameters
project_id
string
required
Project unique identifier
task_type_id
string
required
Task type unique identifier
Response
schedule_items
array
Array of sequence schedule items
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/schedule-items/f79f1jf9-hj20-9110-f625-02908537h70/sequences" \
  -H "Authorization: Bearer YOUR_TOKEN"

Budget Management

Get Budgets

Retrieve all budgets for the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Response
budgets
array
id
string
Budget unique identifier
name
string
Budget name
currency
string
Currency code (e.g., “USD”, “EUR”)
project_id
string
Project identifier
created_at
string
Creation timestamp
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets" \
  -H "Authorization: Bearer YOUR_TOKEN"
Example Response
[
  {
    "id": "m46m8qm6-oq97-6887-m392-79786304n47",
    "name": "Q1 2024 Budget",
    "currency": "USD",
    "project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "created_at": "2024-01-01T10:00:00Z",
    "updated_at": "2024-01-15T14:30:00Z"
  }
]

Create Budget

Create a new budget for the project. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
Request Body
name
string
required
Budget name
currency
string
Currency code (default: “USD”)
Response
budget
object
Created budget object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q1 2024 Budget",
    "currency": "USD"
  }'

Get Budget

Retrieve a specific budget. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
Response
budget
object
Budget object
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47" \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Budget

Update a budget. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
Request Body
name
string
Updated budget name
currency
string
Updated currency code
Response
budget
object
Updated budget object
Example Request
curl -X PUT "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q1 2024 Budget (Revised)"
  }'

Delete Budget

Delete a budget. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47" \
  -H "Authorization: Bearer YOUR_TOKEN"

Budget Entries

Get Budget Entries

Retrieve all entries for a budget. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
Response
entries
array
id
string
Entry unique identifier
department_id
string
Department identifier
person_id
string
Person identifier (optional)
position
string
Position title
seniority
string
Seniority level
daily_salary
number
Daily salary amount
start_date
string
Start date
months_duration
integer
Duration in months
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47/entries" \
  -H "Authorization: Bearer YOUR_TOKEN"

Create Budget Entry

Create a new budget entry. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
Request Body
department_id
string
required
Department unique identifier
person_id
string
Person unique identifier (optional)
position
string
Position title
seniority
string
Seniority level
daily_salary
number
Daily salary amount
start_date
string
Start date (ISO 8601 format)
months_duration
integer
Duration in months
Response
entry
object
Created budget entry object
Example Request
curl -X POST "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47/entries" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "department_id": "n57n9rn7-pr08-7998-n503-80897415o58",
    "person_id": "d57d9hd7-fh08-7998-d403-02120870i92",
    "position": "Senior Animator",
    "seniority": "Senior",
    "daily_salary": 450.00,
    "start_date": "2024-01-01",
    "months_duration": 6
  }'

Get Budget Entry

Retrieve a specific budget entry. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
entry_id
string
required
Budget entry unique identifier
Response
entry
object
Budget entry object
Example Request
curl -X GET "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47/entries/o68o0so8-qs19-8109-o614-91008526p69" \
  -H "Authorization: Bearer YOUR_TOKEN"

Update Budget Entry

Update a budget entry. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
entry_id
string
required
Budget entry unique identifier
Request Body
department_id
string
Updated department identifier
person_id
string
Updated person identifier
position
string
Updated position title
seniority
string
Updated seniority level
daily_salary
number
Updated daily salary amount
start_date
string
Updated start date
months_duration
integer
Updated duration in months
exceptions
object
Map of date-specific amount exceptions (key: date, value: amount)
Response
entry
object
Updated budget entry object
Example Request
curl -X PUT "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47/entries/o68o0so8-qs19-8109-o614-91008526p69" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "daily_salary": 475.00,
    "exceptions": {
      "2024-02-01": 500.00,
      "2024-03-01": 520.00
    }
  }'

Delete Budget Entry

Delete a budget entry. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
project_id
string
required
Project unique identifier
budget_id
string
required
Budget unique identifier
entry_id
string
required
Budget entry unique identifier
Response
status
string
Returns 204 No Content on success
Example Request
curl -X DELETE "https://kitsu.example.com/api/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/budgets/m46m8qm6-oq97-6887-m392-79786304n47/entries/o68o0so8-qs19-8109-o614-91008526p69" \
  -H "Authorization: Bearer YOUR_TOKEN"

Production Schedule Versions

Retrieve task links for a production schedule version. Authentication: Required (JWT) Permissions: Project member (not vendor/client) Path Parameters
production_schedule_version_id
string
required
Production schedule version unique identifier
Query Parameters
task_type_id
string
Filter by task type ID
Response
Array of task link objects
Example Request
curl -X GET "https://kitsu.example.com/api/data/production-schedule-versions/p79p1tp9-rt20-9220-p725-02119637q80/task-links" \
  -H "Authorization: Bearer YOUR_TOKEN"

Set task links for a schedule version based on current production tasks. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
production_schedule_version_id
string
required
Production schedule version unique identifier
Response
result
object
Operation result
Example Request
curl -X POST "https://kitsu.example.com/api/actions/production-schedule-versions/p79p1tp9-rt20-9220-p725-02119637q80/set-task-links-from-production" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"

Copy task links from another schedule version. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
production_schedule_version_id
string
required
Target production schedule version unique identifier
Request Body
production_schedule_version_id
string
required
Source production schedule version unique identifier to copy from
Response
result
object
Operation result
Error Codes
  • 400: Schedule versions must belong to the same project
Example Request
curl -X POST "https://kitsu.example.com/api/actions/production-schedule-versions/p79p1tp9-rt20-9220-p725-02119637q80/set-task-links-from-production-schedule-version" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "production_schedule_version_id": "q80q2uq0-su31-0331-q836-13220748r91"
  }'

Apply Schedule Version to Production

Apply a schedule version’s task links and dates to the actual production. Authentication: Required (JWT) Permissions: Manager on project Path Parameters
production_schedule_version_id
string
required
Production schedule version unique identifier
Response
result
object
Operation result
Example Request
curl -X POST "https://kitsu.example.com/api/actions/production-schedule-versions/p79p1tp9-rt20-9220-p725-02119637q80/apply-to-production" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"

Build docs developers (and LLMs) love