MCP tool catalog
This catalog ships with this build. In a connected client, use tools/list to discover the running server’s tools. Browsing the catalog does not call them.
Protocol: 2025-11-25 · 0.1.1. Transfer operations require BEE_TRANSFER_ENABLED=true and permitted administrative access.
81 / 81 tools
Service
health_check · Read
Read service health.
Required top-level fields: none.
Original contract and full input schema
Service health
{
"additionalProperties": false,
"properties": {},
"type": "object"
}echo_request · Read
Echo the supplied request for a transport check.
Required top-level fields: method path headers .
Original contract and full input schema
Echo a request
{
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"headers": {
"type": "object"
},
"method": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"method",
"path",
"headers"
],
"type": "object"
}Boards and statuses
listBoards · Read
List boards
GET /api/v2/boards
Required top-level fields: none.
Original contract and full input schema
GET /api/v2/boards. List boards. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"archived": {
"default": false,
"type": "boolean"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt",
"updatedAt",
"name"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [],
"type": "object"
}createBoard · Write
Create a board
POST /api/v2/boards
Required top-level fields: actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/boards. Create a board. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Create a board with a required managing teamId and preserved declared creator. A team may manage multiple boards. Tasks do not inherit team membership. Initial autonomyMode is manual.",
"properties": {
"autonomyMode": {
"default": "manual",
"description": "manual = fully manual; standard = default behavior respecting each task's individual flag; automatic = fully automatic. Initial default is manual, distinct from the name standard.",
"enum": [
"manual",
"standard",
"automatic"
],
"type": "string"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"statuses": {
"items": {
"additionalProperties": false,
"properties": {
"isDone": {
"default": false,
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"name",
"teamId"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}getBoard · Read
Read a board
GET /api/v2/boards/{boardId}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/boards/{boardId}. Read a board. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}updateBoard · Write
Update or archive a board
PATCH /api/v2/boards/{boardId}
Required top-level fields: params actor body .
Original contract and full input schema
PATCH /api/v2/boards/{boardId}. Update or archive a board. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Edit metadata, mode and/or managing teamId. Uses the board If-Match. A valid transfer records board.management_changed and the new teamId atomically; it does not change creator, task authors/executors, parentId, originBoardId or history. Supplying the current teamId creates no transfer event.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"autonomyMode": {
"default": "manual",
"description": "manual = fully manual; standard = default behavior respecting each task's individual flag; automatic = fully automatic. Initial default is manual, distinct from the name standard.",
"enum": [
"manual",
"standard",
"automatic"
],
"type": "string"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}orderStatuses · Write
Order all active statuses
PUT /api/v2/boards/{boardId}/status-order
Required top-level fields: params actor body .
Original contract and full input schema
PUT /api/v2/boards/{boardId}/status-order. Order all active statuses. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "All active statuses exactly once.",
"properties": {
"statusIds": {
"items": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"required": [
"statusIds"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}listStatuses · Read
List ordered statuses
GET /api/v2/boards/{boardId}/statuses
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/boards/{boardId}/statuses. List ordered statuses. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"includeArchived": {
"default": false,
"type": "boolean"
},
"isDone": {
"type": "boolean"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "position",
"enum": [
"position",
"name"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}createStatus · Write
Create a status at the end
POST /api/v2/boards/{boardId}/statuses
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/boards/{boardId}/statuses. Create a status at the end. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"isDone": {
"default": false,
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}updateStatus · Write
Configure a status
PATCH /api/v2/boards/{boardId}/statuses/{statusId}
Required top-level fields: params actor body .
Original contract and full input schema
PATCH /api/v2/boards/{boardId}/statuses/{statusId}. Configure a status. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "An in-use status cannot be archived or change isDone. Its name may change.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"isDone": {
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId",
"statusId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}getBoardView · Read
Read the board view
GET /api/v2/boards/{boardId}/view
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/boards/{boardId}/view. Read the board view. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"blocked": {
"type": "boolean"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"limitPerColumn": {
"default": 20,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}Tasks and execution
listTasks · Read
List tasks and subtasks
GET /api/v2/boards/{boardId}/tasks
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/boards/{boardId}/tasks. List tasks and subtasks. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"archived": {
"default": false,
"type": "boolean"
},
"authorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"blocked": {
"type": "boolean"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"includeArchived": {
"type": "boolean"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"rootOnly": {
"default": false,
"type": "boolean"
},
"sortBy": {
"default": "createdAt",
"enum": [
"position",
"createdAt",
"updatedAt",
"title"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}createTask · Write
Create a task or subtask
POST /api/v2/boards/{boardId}/tasks
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/boards/{boardId}/tasks. Create a task or subtask. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Author and executor are required; parentId is optional. A child may use another board and executor. No fixed depth limit; reject self-reference and cycles. A root uses its own id and boardId as rootTaskId and originBoardId; children follow their parent's context. PATCH cannot change parentId or boardId. Link existing tasks with linkTaskToParent; boardId remains immutable.",
"properties": {
"authorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"autonomyMode": {
"default": "manual",
"description": "Individual task mode, used only when the context's origin board is in standard mode.",
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"coordinationContext": {
"description": "mode must match the effective execution-context mode. Manual requires an approval reference; automatic does not request new coordination approval within scope. References are not authentication.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "automatic"
}
},
"required": [
"mode",
"conversationRef"
],
"type": "object"
}
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"specification": {
"description": "Markdown text preserved without rendering/conversion. Defines delivery, requirements, rules and acceptance criteria. Independent of the short description, execution plan and current synthesis. Empty means not yet defined; null is not accepted.",
"type": "string",
"x-maxBytes": 65536
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"projects"
],
"type": "object"
}
},
"required": [
"workScope",
"title",
"coordinationContext",
"authorAgentId",
"executorAgentId"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"boardId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}listOpenExecutionIntervals · Read
Recover open intervals before starting or resuming work; no automatic closure
GET /api/v2/execution-intervals
Required top-level fields: none.
Original contract and full input schema
GET /api/v2/execution-intervals. Recover open intervals before starting or resuming work; no automatic closure. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"type": "string"
},
"coverageRootSessionId": {
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [],
"type": "object"
}listAllTasks · Read
List tasks across boards and query recursive children
GET /api/v2/tasks
Required top-level fields: none.
Original contract and full input schema
GET /api/v2/tasks. List tasks across boards and query recursive children. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"archived": {
"default": false,
"type": "boolean"
},
"authorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"blocked": {
"type": "boolean"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"includeArchived": {
"type": "boolean"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"rootOnly": {
"default": false,
"type": "boolean"
},
"sortBy": {
"default": "createdAt",
"enum": [
"position",
"createdAt",
"updatedAt",
"title"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [],
"type": "object"
}resolveTaskSlug · Read
Resolve a Task slug to its internal UUID
GET /api/v2/tasks/by-slug/{slug}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/by-slug/{slug}. Resolve a Task slug to its internal UUID. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"slug": {
"description": "Generated URL identifier, lowercase ASCII, stable across renames and unique per type including deleted records. Collisions use -2/-3; clients cannot write it.",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getTask · Read
Read a task
GET /api/v2/tasks/{taskId}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}. Read a task. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}updateTask · Write
Update content and progress
PATCH /api/v2/tasks/{taskId}
Required top-level fields: params actor body .
Original contract and full input schema
PATCH /api/v2/tasks/{taskId}. Update content and progress. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"dependentRequired": {
"progress": [
"currentSummary"
]
},
"description": "Edit content/progress, currentSummary and individual mode without changing authorAgentId/boardId/parentId. Progress requires a nonempty currentSummary in the same call; administrative changes preserve it when omitted. Reassignment uses Assignment. manual/automatic modes do not propagate to children; effective mode uses the chain's origin board.",
"minProperties": 1,
"properties": {
"autonomyMode": {
"default": "manual",
"description": "Individual task mode, used only when the context's origin board is in standard mode.",
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"currentSummary": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"specification": {
"description": "Markdown text preserved without rendering/conversion. Defines delivery, requirements, rules and acceptance criteria. Independent of the short description, execution plan and current synthesis. Empty means not yet defined; null is not accepted.",
"type": "string",
"x-maxBytes": 65536
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"projects"
],
"type": "object"
}
},
"required": [],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}archiveTask · Write
Archive or restore a task
PUT /api/v2/tasks/{taskId}/archive
Required top-level fields: params actor body .
Original contract and full input schema
PUT /api/v2/tasks/{taskId}/archive. Archive or restore a task. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"archived": {
"type": "boolean"
}
},
"required": [
"archived"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}assignTask · Write
Assign or transfer responsibility
PUT /api/v2/tasks/{taskId}/assignment
Required top-level fields: params actor body .
Original contract and full input schema
PUT /api/v2/tasks/{taskId}/assignment. Assign or transfer responsibility. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "A new executor agent is required, never null. The user may transfer responsibility. Preserves author, task history and execution context; does not copy the previous executor's internal history. No team restriction.",
"properties": {
"coordinationContext": {
"description": "mode must match the effective execution-context mode. Manual requires an approval reference; automatic does not request new coordination approval within scope. References are not authentication.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "automatic"
}
},
"required": [
"mode",
"conversationRef"
],
"type": "object"
}
]
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"executorAgentId",
"coordinationContext"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}listAttachments · Read
List attachments
GET /api/v2/tasks/{taskId}/attachments
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/attachments. List attachments. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"fileName": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"includeRemoved": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"mediaType": {
"maxLength": 200,
"minLength": 1,
"pattern": "^[^\\s/,;]+/[^\\s/,;]+(\\s*,\\s*[^\\s/,;]+/[^\\s/,;]+)*$",
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt",
"originalName",
"sizeBytes"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}createAttachment · Write
Register attachments
POST /api/v2/tasks/{taskId}/attachments
Required top-level fields: params actor idempotencyKey .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/attachments. Register attachments. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey"
],
"type": "object"
}removeAttachment · Write
Remove attachment access and preserve the soft-deleted record
DELETE /api/v2/tasks/{taskId}/attachments/{attachmentId}
Required top-level fields: params actor .
Original contract and full input schema
DELETE /api/v2/tasks/{taskId}/attachments/{attachmentId}. Remove attachment access and preserve the soft-deleted record. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"attachmentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"attachmentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor"
],
"type": "object"
}downloadAttachment · Read
GET /api/v2/tasks/{taskId}/attachments/{attachmentId}/content
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/attachments/{attachmentId}/content. . Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"attachmentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"attachmentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}blockTask · Write
Block or unblock
PUT /api/v2/tasks/{taskId}/block
Required top-level fields: params actor body .
Original contract and full input schema
PUT /api/v2/tasks/{taskId}/block. Block or unblock. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": true
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": false
},
"reason": {
"type": "null"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
}
]
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}listComments · Read
List comments
GET /api/v2/tasks/{taskId}/comments
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/comments. List comments. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"text": {
"maxLength": 1024,
"pattern": "^[^\\x00]*$",
"type": "string",
"x-maxBytes": 4096
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}createComment · Write
Register comments
POST /api/v2/tasks/{taskId}/comments
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/comments. Register comments. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
}
},
"required": [
"body"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}getComment · Read
Read one comment belonging to the specified task
GET /api/v2/tasks/{taskId}/comments/{commentId}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/comments/{commentId}. Read one comment belonging to the specified task. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"commentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"commentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getTaskExecutionIntervalUsage · Read
Read explicit execution intervals without inferred boundaries
GET /api/v2/tasks/{taskId}/execution-interval-usage
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/execution-interval-usage. Read explicit execution intervals without inferred boundaries. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}listTaskExecutionIntervals · Read
Read explicit execution intervals without inferred boundaries
GET /api/v2/tasks/{taskId}/execution-intervals
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/execution-intervals. Read explicit execution intervals without inferred boundaries. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"executionId": {
"format": "uuid",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"state": {
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}listTaskExecutionIntervalRevisions · Read
Read explicit execution intervals without inferred boundaries
GET /api/v2/tasks/{taskId}/execution-intervals/{intervalId}/revisions
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/execution-intervals/{intervalId}/revisions. Read explicit execution intervals without inferred boundaries. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"intervalId": {
"format": "uuid",
"type": "string"
},
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId",
"intervalId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}reconcileTaskExecutionInterval · Write
Explicit audit-preserving correction or invalidation of closed interval
POST /api/v2/tasks/{taskId}/execution-intervals/{intervalId}/revisions
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/execution-intervals/{intervalId}/revisions. Explicit audit-preserving correction or invalidation of closed interval. If-Match is interval version. No source evidence mutation.. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"endEvidence": {
"items": {
"additionalProperties": false,
"properties": {
"evidenceId": {
"minLength": 1,
"type": "string"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"evidenceId"
],
"type": "object"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
},
"invalidate": {
"type": "boolean"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"startEvidence": {
"items": {
"additionalProperties": false,
"properties": {
"evidenceId": {
"minLength": 1,
"type": "string"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"evidenceId"
],
"type": "object"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"reason"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"intervalId": {
"format": "uuid",
"type": "string"
},
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId",
"intervalId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}listExecutionSummarys · Read
List execution summaries
GET /api/v2/tasks/{taskId}/execution-summaries
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/execution-summaries. List execution summaries. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}createExecutionSummary · Write
Explicit executionTracking optionally records start/checkpoint/pause/resume/finish atomically with this summary
POST /api/v2/tasks/{taskId}/execution-summaries
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/execution-summaries. Explicit executionTracking optionally records start/checkpoint/pause/resume/finish atomically with this summary. Start before work, save returned IDs, query listOpenExecutionIntervals before recovery; pause/finish before switching tasks. evidenceIds select supplied usage observations; start declares counterMode and coverageRootSessionId. Never infer boundaries from status or timestamps. Conflicting source/root returns 409 with active interval IDs. Missing evidence requires a comment, not fabricated tokens. Task status changes require an execution summary, including close_activity using the same atomic service. statusObserved is a server-owned historical snapshot. Every new summary requires usageReport.entries with measured cumulative_snapshot session/session_tree usage, identified modelId and actor.kind=agent with persisted UUIDv7. Supply non-null decimal-string totalTokens equal to inclusive inputTokens + outputTokens; never add cached input or reasoning output again. The total is the source session/epoch/model/actor accumulation through observedAt, not task-exclusive consumption or a required delta. A first real snapshot is accepted as a baseline with previousEvidenceId null and delta null. Subsequent comparable snapshots reference the latest evidenceId; preserve reset/gap baselines honestly. Repeated evidence keeps its identity and is not counted twice. Keep multiple disjoint sessions/models separate; do not sum cumulative checkpoints or overlapping tree and child totals, or label mixed-model totals with the last selected model. Collect actual session counters from permitted Codex App Server/exec streams, Copilot SDK/CLI/VS Code telemetry, Claude SDK/OTel, or authorized Cursor usage exports; check surface/version and documented counter semantics. Kiro credits/context are not token measurements. No unavailable, estimated, model null, missing total or fabricated zero can substitute in a new summary. If collection fails, record the impediment in a comment without changing status or claiming a saved summary. Legacy reads, late-evidence schemas and exact saved idempotent replays remain compatible. Every new summary also requires commitReport: hasCommits=false with commits=[] or hasCommits=true with repositoryKey, explicit named/detached/unknown branch, full hash and availability per reference. Resolve repositories from task.workScope. Never fabricate a commit. Local/unknown commits have no remote link; published links require remoteVerifiedAt and explicit GitHub/GitLab webUrl matching the hash. Legacy omission is not false; exact saved replays remain valid. See beeteam://references/repository-evidence.. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Completed requires a final status and no block, and sets progress to 100. Other outcomes require a nonfinal status; blocked requires an existing block. Review follows the user's instructions, with no universally required review stage. The supplied context must match the task chain, including cross-board origin; a mismatch returns 409 execution_context_mismatch. currentSummary is the required current cumulative synthesis, saved atomically on the task; summary remains the historical record of this activity.",
"properties": {
"commitReport": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"additionalProperties": false,
"properties": {
"name": {
"anyOf": [
{
"maxLength": 1024,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"enum": [
"named",
"detached",
"unknown"
]
}
},
"required": [
"state",
"name"
],
"type": "object"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"currentSummary": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"deliverables": {
"items": {
"additionalProperties": false,
"not": {
"required": [
"attachmentId",
"url"
]
},
"properties": {
"attachmentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"url": {
"format": "uri",
"pattern": "^https?://",
"type": "string"
}
},
"required": [
"label"
],
"type": "object"
},
"type": "array"
},
"executionContext": {
"additionalProperties": false,
"description": "Identifies the chain's origin. Persisted/derived by the server from the root task, never replaced by the destination board.",
"properties": {
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"rootTaskId",
"originBoardId"
],
"type": "object"
},
"executionTracking": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceIds": {
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"type": "array",
"uniqueItems": true
},
"executionId": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"action",
"evidenceIds"
],
"type": "object"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"reviewContext": {
"additionalProperties": false,
"description": "Review guidance in the conversation; does not by itself prove consent.",
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"instructionRef": {
"minLength": 1,
"type": "string"
},
"reviewerType": {
"enum": [
"user",
"team_leader"
],
"type": "string"
}
},
"required": [
"reviewerType",
"conversationRef",
"instructionRef"
],
"type": "object"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"usageReport": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"allOf": [
{
"additionalProperties": false,
"description": "Historical/general evidence schema. New summaries use SessionUsageObservation; legacy/late evidence can retain partial or unavailable observations. No transcripts or secrets.",
"properties": {
"actor": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"id": {
"type": "null"
},
"kind": {
"const": "human"
}
},
"required": [
"kind",
"id"
],
"type": "object"
}
]
},
"actorRole": {
"enum": [
"leader",
"worker",
"human",
"unknown"
],
"type": "string"
},
"attribution": {
"enum": [
"exact",
"shared",
"unallocated"
],
"type": "string"
},
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"discovery": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"attempts": {
"items": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason",
"attempts"
],
"type": "object"
},
{
"type": "null"
}
]
},
"epoch": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harness": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harnessVersion": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"observedAt": {
"format": "date-time",
"type": "string"
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"periodEnd": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"periodStart": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"previousEvidenceId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"quality": {
"enum": [
"measured",
"estimated",
"unavailable"
],
"type": "string"
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reportKind": {
"enum": [
"cumulative_snapshot",
"period_delta",
"unavailable"
],
"type": "string"
},
"scope": {
"enum": [
"request",
"session",
"session_tree"
],
"type": "string"
},
"sessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"surface": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Explicit inclusive input+output cumulative total. Required for new summaries; optional in legacy evidence. Never add cache/reasoning twice or sum successive snapshots."
}
},
"required": [
"source",
"harness",
"surface",
"harnessVersion",
"sessionId",
"epoch",
"evidenceId",
"previousEvidenceId",
"actor",
"actorRole",
"provider",
"modelId",
"scope",
"reportKind",
"quality",
"attribution",
"observedAt",
"periodStart",
"periodEnd",
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"discovery"
],
"type": "object"
},
{
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
"inputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"modelId": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"outputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"quality": {
"const": "measured"
},
"reportKind": {
"const": "cumulative_snapshot"
},
"scope": {
"enum": [
"session",
"session_tree"
]
},
"totalTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
}
},
"required": [
"totalTokens"
],
"type": "object"
}
],
"description": "New-summary measured cumulative usage through observedAt for the declared session/epoch/model/actor. First snapshot is accepted with previousEvidenceId null and no delta. Total must equal inclusive input+output. Not exclusive task consumption. Multiple disjoint counters remain separate; never sum checkpoints or overlapping tree/child/model totals."
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
}
},
"required": [
"commitReport",
"usageReport",
"currentSummary",
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"executionContext"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}reconcileSummaryUsage · Write
Append late usage evidence without changing task state or summary Markdown
POST /api/v2/tasks/{taskId}/execution-summaries/{summaryId}/usage-revisions
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/execution-summaries/{summaryId}/usage-revisions. Append late usage evidence without changing task state or summary Markdown. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"additionalProperties": false,
"description": "Historical/general evidence schema. New summaries use SessionUsageObservation; legacy/late evidence can retain partial or unavailable observations. No transcripts or secrets.",
"properties": {
"actor": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"id": {
"type": "null"
},
"kind": {
"const": "human"
}
},
"required": [
"kind",
"id"
],
"type": "object"
}
]
},
"actorRole": {
"enum": [
"leader",
"worker",
"human",
"unknown"
],
"type": "string"
},
"attribution": {
"enum": [
"exact",
"shared",
"unallocated"
],
"type": "string"
},
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"discovery": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"attempts": {
"items": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason",
"attempts"
],
"type": "object"
},
{
"type": "null"
}
]
},
"epoch": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harness": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harnessVersion": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"observedAt": {
"format": "date-time",
"type": "string"
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"periodEnd": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"periodStart": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"previousEvidenceId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"quality": {
"enum": [
"measured",
"estimated",
"unavailable"
],
"type": "string"
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reportKind": {
"enum": [
"cumulative_snapshot",
"period_delta",
"unavailable"
],
"type": "string"
},
"scope": {
"enum": [
"request",
"session",
"session_tree"
],
"type": "string"
},
"sessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"surface": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Explicit inclusive input+output cumulative total. Required for new summaries; optional in legacy evidence. Never add cache/reasoning twice or sum successive snapshots."
}
},
"required": [
"source",
"harness",
"surface",
"harnessVersion",
"sessionId",
"epoch",
"evidenceId",
"previousEvidenceId",
"actor",
"actorRole",
"provider",
"modelId",
"scope",
"reportKind",
"quality",
"attribution",
"observedAt",
"periodStart",
"periodEnd",
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"discovery"
],
"type": "object"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"summaryId": {
"format": "uuid",
"type": "string"
},
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId",
"summaryId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}listTaskExecutionTrackingEvents · Read
Read explicit execution intervals without inferred boundaries
GET /api/v2/tasks/{taskId}/execution-tracking-events
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/execution-tracking-events. Read explicit execution intervals without inferred boundaries. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"executionId": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}listTaskExecutions · Read
Read explicit execution intervals without inferred boundaries
GET /api/v2/tasks/{taskId}/executions
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/executions. Read explicit execution intervals without inferred boundaries. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"state": {
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getTaskOverview · Read
Read complete direct-child aggregates and bounded recorded history in one snapshot
GET /api/v2/tasks/{taskId}/overview
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/overview. Read complete direct-child aggregates and bounded recorded history in one snapshot. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}linkTaskToParent · Write
Link an existing task to a parent
POST /api/v2/tasks/{taskId}/parent/link
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/parent/link. Link an existing task to a parent. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"coordinationContext": {
"description": "mode must match the effective execution-context mode. Manual requires an approval reference; automatic does not request new coordination approval within scope. References are not authentication.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "automatic"
}
},
"required": [
"mode",
"conversationRef"
],
"type": "object"
}
]
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentVersion": {
"minimum": 1,
"type": "integer"
},
"previousParentVersion": {
"description": "Required only when the task already has a parent, including unchanged-parent requests.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"parentId",
"parentVersion",
"coordinationContext"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}listTaskParticipants · Read
List distinct recorded participants of this exact task
GET /api/v2/tasks/{taskId}/participants
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/participants. List distinct recorded participants of this exact task. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}listPlans · Read
List plans
GET /api/v2/tasks/{taskId}/plans
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/plans. List plans. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt",
"title"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}createPlan · Write
Register plans
POST /api/v2/tasks/{taskId}/plans
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/plans. Register plans. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"title",
"content"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}listPlanRevisions · Read
List plan revisions
GET /api/v2/tasks/{taskId}/plans/{planId}/revisions
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/plans/{planId}/revisions. List plan revisions. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"planId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"planId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "revision",
"enum": [
"revision",
"createdAt"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}revisePlan · Write
Save an immutable revision
POST /api/v2/tasks/{taskId}/plans/{planId}/revisions
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/tasks/{taskId}/plans/{planId}/revisions. Save an immutable revision. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"baseRevision": {
"minimum": 1,
"type": "integer"
},
"changeSummary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
}
},
"required": [
"content",
"changeSummary",
"baseRevision"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"planId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"planId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}moveTask · Write
Reorder a task within its current status; status changes require execution-summaries
PUT /api/v2/tasks/{taskId}/position
Required top-level fields: params actor body .
Original contract and full input schema
PUT /api/v2/tasks/{taskId}/position. Reorder a task within its current status; status changes require execution-summaries. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Before must be a sibling in the same column. Null moves to the end. statusId must remain the current status, including a final status; any change returns 409 summary_required even with currentSummary. Change status by recording execution-summaries or close_activity with a complete execution. Reordering within the same status preserves the current summary when omitted.",
"properties": {
"beforeTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"currentSummary": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"statusId",
"beforeTaskId"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}getTimeline · Read
Read the unified timeline
GET /api/v2/tasks/{taskId}/timeline
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/timeline. Read the unified timeline. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"includeChildren": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"occurredBefore": {
"format": "date-time",
"type": "string"
},
"occurredFrom": {
"format": "date-time",
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "sequence",
"enum": [
"sequence"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"types": {
"items": {
"enum": [
"task.created",
"task.updated",
"assignment.changed",
"position.changed",
"block.changed",
"plan.created",
"plan.revised",
"comment.created",
"attachment.added",
"attachment.removed",
"execution.recorded",
"task.archived",
"task.restored",
"subtask.created",
"task.parent_changed"
],
"type": "string"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getTimelinePoints · Read
Read lightweight timeline points
GET /api/v2/tasks/{taskId}/timeline-points
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/timeline-points. Read lightweight timeline points. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"includeChildren": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"occurredBefore": {
"format": "date-time",
"type": "string"
},
"occurredFrom": {
"format": "date-time",
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "sequence",
"enum": [
"sequence"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"types": {
"items": {
"enum": [
"task.created",
"task.updated",
"assignment.changed",
"position.changed",
"block.changed",
"plan.created",
"plan.revised",
"comment.created",
"attachment.added",
"attachment.removed",
"execution.recorded",
"task.archived",
"task.restored",
"subtask.created",
"task.parent_changed"
],
"type": "string"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getTaskUsage · Read
Read known usage totals and summary checkpoints
GET /api/v2/tasks/{taskId}/usage
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/usage. Read known usage totals and summary checkpoints. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}listTaskUsageDimensions · Read
List every reported model or harness with pagination
GET /api/v2/tasks/{taskId}/usage/dimensions
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/tasks/{taskId}/usage/dimensions. List every reported model or harness with pagination. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"taskId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"kind": {
"enum": [
"model",
"harness"
],
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}prepare_execution · Read
Read the task, executor and plan for an upcoming execution.
Required top-level fields: taskId .
Original contract and full input schema
Read task, current executor profile, latest plan revisions page, direct children across boards, latest result/pending work and effective origin context. Does not start work.
{
"additionalProperties": false,
"components": {
"parameters": {
"ActorId": {
"description": "UUIDv7 of the declared agent when actorKind=agent; absent with human. Not proof of identity. Task creation separately requires authorAgentId.",
"in": "header",
"name": "X-Actor-Id",
"required": false,
"schema": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"ActorKind": {
"description": "Declared authorship; no authentication or proof of identity.",
"in": "header",
"name": "X-Actor-Kind",
"required": true,
"schema": {
"enum": [
"human",
"agent"
],
"type": "string"
}
},
"IdempotencyKey": {
"description": "Retry for 24h bound to route, declared authorship context and request hash. The same key/content returns the original response; different content returns 409.",
"in": "header",
"name": "Idempotency-Key",
"required": true,
"schema": {
"description": "Request key, not a persisted entity ID; any UUID version.",
"format": "uuid",
"type": "string"
}
},
"IfMatch": {
"description": "Strong ETag of the target entity; for content commands, the task; for status ordering, the board.",
"in": "header",
"name": "If-Match",
"required": true,
"schema": {
"examples": [
"\"1\""
],
"pattern": "^\"[1-9][0-9]*\"$",
"type": "string"
}
},
"Limit": {
"description": "Maximum items per page; out-of-range values are rejected, not truncated.",
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"Offset": {
"description": "Offset beyond the total returns empty items.",
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
}
},
"ParentIfMatch": {
"description": "Required when parentId is non-null: parent ETag. Absence returns 428.",
"in": "header",
"name": "If-Match",
"required": false,
"schema": {
"pattern": "^\"[1-9][0-9]*\"$",
"type": "string"
}
}
},
"responses": {
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "invalid_request; invalid_actor_context"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "not_found"
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Structural conflict, composition version conflict, archived/in-use resource, idempotency conflict or incompatible execution context; not authentication."
},
"412": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "version_conflict"
},
"413": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "payload_too_large"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "unsupported_media_type"
},
"428": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "version_required"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "internal_error"
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "storage_unavailable"
}
},
"schemas": {
"ApprovalCoordinationContext": {
"additionalProperties": false,
"description": "Without execution context, require approval/manual mode. Does not grant global autonomy.",
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
"Archive": {
"additionalProperties": false,
"properties": {
"archived": {
"type": "boolean"
}
},
"required": [
"archived"
],
"type": "object"
},
"Assignment": {
"additionalProperties": false,
"description": "A new executor agent is required, never null. The user may transfer responsibility. Preserves author, task history and execution context; does not copy the previous executor's internal history. No team restriction.",
"properties": {
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"executorAgentId",
"coordinationContext"
],
"type": "object"
},
"Attachment": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"mediaType": {
"type": "string"
},
"originalName": {
"type": "string"
},
"sizeBytes": {
"minimum": 0,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"id",
"taskId",
"originalName",
"mediaType",
"sizeBytes",
"description",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"AttachmentPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Attachment"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Block": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": true
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": false
},
"reason": {
"type": "null"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
}
]
},
"Board": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"createdBy": {
"$ref": "#/components/schemas/DeclaredActor"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"lastManagementChange": {
"description": "Latest transfer event; complete append-only log is preserved. Null before the first transfer.",
"oneOf": [
{
"$ref": "#/components/schemas/BoardManagementChange"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"deletedAt",
"autonomyMode",
"createdBy",
"teamId",
"lastManagementChange"
],
"type": "object"
},
"BoardAutonomyMode": {
"default": "manual",
"description": "manual = fully manual; standard = default behavior respecting each task's individual flag; automatic = fully automatic. Initial default is manual, distinct from the name standard.",
"enum": [
"manual",
"standard",
"automatic"
],
"type": "string"
},
"BoardCreated": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"createdBy": {
"$ref": "#/components/schemas/DeclaredActor"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"lastManagementChange": {
"description": "Latest transfer event; complete append-only log is preserved. Null before the first transfer.",
"oneOf": [
{
"$ref": "#/components/schemas/BoardManagementChange"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"statuses": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"statuses",
"deletedAt",
"autonomyMode",
"createdBy",
"teamId",
"lastManagementChange"
],
"type": "object"
},
"BoardManagementChange": {
"additionalProperties": false,
"properties": {
"actor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"deletedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"previousTeamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": {
"const": "board.management_changed",
"type": "string"
}
},
"required": [
"id",
"boardId",
"type",
"previousTeamId",
"teamId",
"actor",
"occurredAt",
"deletedAt"
],
"type": "object"
},
"BoardPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Board"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"BoardView": {
"additionalProperties": false,
"description": "Column projection of the board administered by its managing team. Tasks do not belong to the team. A child task's execution context may originate on another board.",
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"columns": {
"items": {
"$ref": "#/components/schemas/BoardViewColumn"
},
"type": "array"
}
},
"required": [
"boardId",
"columns"
],
"type": "object"
},
"BoardViewColumn": {
"additionalProperties": false,
"description": "First column page (tasks instead of items), offset=0, limit=limitPerColumn. All active columns are returned, including empty ones.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"tasks": {
"items": {
"$ref": "#/components/schemas/Task"
},
"type": "array"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"status",
"tasks",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Comment": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"body": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"id",
"taskId",
"body",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"CommentPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Comment"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"CommitBranch": {
"additionalProperties": false,
"properties": {
"name": {
"anyOf": [
{
"maxLength": 1024,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"enum": [
"named",
"detached",
"unknown"
]
}
},
"required": [
"state",
"name"
],
"type": "object"
},
"CommitReference": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"$ref": "#/components/schemas/CommitBranch"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repository": {
"$ref": "#/components/schemas/WorkRepository"
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl",
"repository"
],
"type": "object"
},
"CommitReferenceInput": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"$ref": "#/components/schemas/CommitBranch"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl"
],
"type": "object"
},
"CommitReport": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"$ref": "#/components/schemas/CommitReference"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"CommitReportInput": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"$ref": "#/components/schemas/CommitReferenceInput"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"CoordinationContext": {
"description": "mode must match the effective execution-context mode. Manual requires an approval reference; automatic does not request new coordination approval within scope. References are not authentication.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "automatic"
}
},
"required": [
"mode",
"conversationRef"
],
"type": "object"
}
]
},
"CreateBoard": {
"additionalProperties": false,
"description": "Create a board with a required managing teamId and preserved declared creator. A team may manage multiple boards. Tasks do not inherit team membership. Initial autonomyMode is manual.",
"properties": {
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"statuses": {
"items": {
"$ref": "#/components/schemas/StatusInput"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"name",
"teamId"
],
"type": "object"
},
"CreateComment": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
}
},
"required": [
"body"
],
"type": "object"
},
"CreatePlan": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"title",
"content"
],
"type": "object"
},
"CreateTask": {
"additionalProperties": false,
"description": "Author and executor are required; parentId is optional. A child may use another board and executor. No fixed depth limit; reject self-reference and cycles. A root uses its own id and boardId as rootTaskId and originBoardId; children follow their parent's context. PATCH cannot change parentId or boardId. Link existing tasks with linkTaskToParent; boardId remains immutable.",
"properties": {
"authorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScopeInput"
}
},
"required": [
"workScope",
"title",
"coordinationContext",
"authorAgentId",
"executorAgentId"
],
"type": "object"
},
"CurrentSummary": {
"description": "Current cumulative synthesis authored by the worker (completed work, current work and pending items/next step). Empty means not yet provided. Never inferred from description, progress note or history.",
"type": "string",
"x-maxBytes": 16384
},
"CurrentSummaryInput": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"DeclaredActor": {
"description": "Creator declared in the request. human identifies the local user; agent uses a persisted ID. Identity is not verified.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"actorId": {
"type": "null"
},
"actorKind": {
"const": "human"
}
},
"required": [
"actorKind",
"actorId"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"actorKind": {
"const": "agent"
}
},
"required": [
"actorKind",
"actorId"
],
"type": "object"
}
]
},
"Deliverable": {
"additionalProperties": false,
"not": {
"required": [
"attachmentId",
"url"
]
},
"properties": {
"attachmentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"url": {
"format": "uri",
"pattern": "^https?://",
"type": "string"
}
},
"required": [
"label"
],
"type": "object"
},
"Error": {
"additionalProperties": false,
"properties": {
"code": {
"enum": [
"invalid_request",
"coordination_context_required",
"coordination_mode_mismatch",
"not_found",
"archived_resource",
"status_in_use",
"summary_required",
"task_blocked",
"revision_conflict",
"idempotency_conflict",
"duplicate_status",
"version_conflict",
"version_required",
"payload_too_large",
"unsupported_media_type",
"internal_error",
"storage_unavailable",
"invalid_actor_context",
"usage_attribution_conflict",
"usage_policy_conflict",
"parent_cycle",
"active_execution_interval",
"execution_context_mismatch"
],
"type": "string"
},
"details": {
"additionalProperties": true,
"type": "object"
},
"error": {
"type": "string"
}
},
"required": [
"error",
"code",
"details"
],
"type": "object"
},
"Event": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"data": {
"additionalProperties": true,
"description": "Relevant previous/new values and related IDs. comment.created includes commentId without duplicating the body.",
"type": "object"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"sequence": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/EventType"
}
},
"required": [
"id",
"sequence",
"taskId",
"type",
"actorId",
"occurredAt",
"data",
"deletedAt",
"actorKind"
],
"type": "object"
},
"EventPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Event"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"EventType": {
"enum": [
"task.created",
"task.updated",
"assignment.changed",
"position.changed",
"block.changed",
"plan.created",
"plan.revised",
"comment.created",
"attachment.added",
"attachment.removed",
"execution.recorded",
"task.archived",
"task.restored",
"subtask.created",
"task.parent_changed"
],
"type": "string"
},
"ExecutionContextRef": {
"additionalProperties": false,
"description": "Identifies the chain's origin. Persisted/derived by the server from the root task, never replaced by the destination board.",
"properties": {
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"rootTaskId",
"originBoardId"
],
"type": "object"
},
"ExecutionCounterSegment": {
"additionalProperties": false,
"properties": {
"complete": {
"type": "boolean"
},
"delta": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageDelta"
},
{
"type": "null"
}
]
},
"latest": {
"$ref": "#/components/schemas/UsageEntry"
},
"latestSummaryId": {
"format": "uuid",
"type": "string"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"start": {
"$ref": "#/components/schemas/UsageEntry"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"start",
"latest",
"startSummaryId",
"latestSummaryId",
"delta",
"complete",
"reason"
],
"type": "object"
},
"ExecutionIntervalCounter": {
"additionalProperties": false,
"properties": {
"counterKey": {
"type": "string"
},
"incomplete": {
"type": "boolean"
},
"missingBoundary": {
"type": "boolean"
},
"segments": {
"items": {
"$ref": "#/components/schemas/ExecutionCounterSegment"
},
"type": "array"
}
},
"required": [
"counterKey",
"incomplete",
"segments"
],
"type": "object"
},
"ExecutionResult": {
"additionalProperties": false,
"properties": {
"executionSummary": {
"$ref": "#/components/schemas/ExecutionSummary"
},
"task": {
"$ref": "#/components/schemas/Task"
}
},
"required": [
"executionSummary",
"task"
],
"type": "object"
},
"ExecutionSummary": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"commitReport": {
"$ref": "#/components/schemas/CommitReport"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"deliverables": {
"items": {
"$ref": "#/components/schemas/Deliverable"
},
"type": "array"
},
"executionContext": {
"$ref": "#/components/schemas/ExecutionContextRef"
},
"executionTracking": {
"$ref": "#/components/schemas/ExecutionTrackingResult"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"reviewContext": {
"anyOf": [
{
"$ref": "#/components/schemas/ReviewContext"
},
{
"type": "null"
}
]
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"usageReport": {
"anyOf": [
{
"$ref": "#/components/schemas/SummaryUsageReport"
},
{
"type": "null"
}
]
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"reviewContext",
"id",
"taskId",
"actorId",
"createdAt",
"deletedAt",
"actorKind",
"executionContext"
],
"type": "object"
},
"ExecutionSummaryPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/ExecutionSummary"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"ExecutionTrackingInput": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceIds": {
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"type": "array",
"uniqueItems": true
},
"executionId": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"action",
"evidenceIds"
],
"type": "object"
},
"ExecutionTrackingResult": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"executionId": {
"format": "uuid",
"type": "string"
},
"executionState": {
"enum": [
"active",
"paused",
"finished"
]
},
"intervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"intervalState": {
"anyOf": [
{
"enum": [
"open",
"closed",
"incomplete",
"invalid"
]
},
{
"type": "null"
}
]
}
},
"required": [
"action",
"executionId",
"intervalId",
"executionState",
"intervalState"
],
"type": "object"
},
"IntervalEvidenceReference": {
"additionalProperties": false,
"properties": {
"evidenceId": {
"minLength": 1,
"type": "string"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"evidenceId"
],
"type": "object"
},
"LinkTaskToParent": {
"additionalProperties": false,
"properties": {
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentVersion": {
"minimum": 1,
"type": "integer"
},
"previousParentVersion": {
"description": "Required only when the task already has a parent, including unchanged-parent requests.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"parentId",
"parentVersion",
"coordinationContext"
],
"type": "object"
},
"PatchBoard": {
"additionalProperties": false,
"description": "Edit metadata, mode and/or managing teamId. Uses the board If-Match. A valid transfer records board.management_changed and the new teamId atomically; it does not change creator, task authors/executors, parentId, originBoardId or history. Supplying the current teamId creates no transfer event.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [],
"type": "object"
},
"PatchStatus": {
"additionalProperties": false,
"description": "An in-use status cannot be archived or change isDone. Its name may change.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"isDone": {
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [],
"type": "object"
},
"PatchTask": {
"additionalProperties": false,
"dependentRequired": {
"progress": [
"currentSummary"
]
},
"description": "Edit content/progress, currentSummary and individual mode without changing authorAgentId/boardId/parentId. Progress requires a nonempty currentSummary in the same call; administrative changes preserve it when omitted. Reassignment uses Assignment. manual/automatic modes do not propagate to children; effective mode uses the chain's origin board.",
"minProperties": 1,
"properties": {
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScopeInput"
}
},
"required": [],
"type": "object"
},
"PlanRevision": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"changeSummary": {
"type": [
"string",
"null"
]
},
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"planId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"revision": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"id",
"planId",
"taskId",
"title",
"revision",
"content",
"changeSummary",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"PlanRevisionPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlanRevision"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Position": {
"additionalProperties": false,
"description": "Before must be a sibling in the same column. Null moves to the end. statusId must remain the current status, including a final status; any change returns 409 summary_required even with currentSummary. Change status by recording execution-summaries or close_activity with a complete execution. Reordering within the same status preserves the current summary when omitted.",
"properties": {
"beforeTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"statusId",
"beforeTaskId"
],
"type": "object"
},
"Progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"ProjectGitDiscovery": {
"additionalProperties": false,
"properties": {
"branch": {
"anyOf": [
{
"$ref": "#/components/schemas/CommitBranch"
},
{
"type": "null"
}
]
},
"checkedAt": {
"format": "date-time",
"type": "string"
},
"checkoutRoot": {
"type": [
"string",
"null"
]
},
"commonDirectory": {
"type": [
"string",
"null"
]
},
"gitDirectory": {
"type": [
"string",
"null"
]
},
"headHash": {
"type": [
"string",
"null"
]
},
"isWorktree": {
"type": [
"boolean",
"null"
]
},
"reason": {
"enum": [
null,
"path_unavailable",
"git_unavailable",
"timeout",
"output_limit",
"inspection_failed"
]
},
"remotes": {
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"url"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"repositoryKey": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"detected",
"not_git",
"unavailable"
]
}
},
"required": [
"status",
"reason",
"checkedAt",
"checkoutRoot",
"gitDirectory",
"commonDirectory",
"isWorktree",
"branch",
"headHash",
"repositoryKey",
"remotes"
],
"type": "object"
},
"ReconcileExecutionInterval": {
"additionalProperties": false,
"properties": {
"endEvidence": {
"items": {
"$ref": "#/components/schemas/IntervalEvidenceReference"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
},
"invalidate": {
"type": "boolean"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"startEvidence": {
"items": {
"$ref": "#/components/schemas/IntervalEvidenceReference"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"reason"
],
"type": "object"
},
"RecordExecution": {
"additionalProperties": false,
"description": "Completed requires a final status and no block, and sets progress to 100. Other outcomes require a nonfinal status; blocked requires an existing block. Review follows the user's instructions, with no universally required review stage. The supplied context must match the task chain, including cross-board origin; a mismatch returns 409 execution_context_mismatch. currentSummary is the required current cumulative synthesis, saved atomically on the task; summary remains the historical record of this activity.",
"properties": {
"commitReport": {
"$ref": "#/components/schemas/CommitReportInput"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"deliverables": {
"items": {
"$ref": "#/components/schemas/Deliverable"
},
"type": "array"
},
"executionContext": {
"$ref": "#/components/schemas/ExecutionContextRef"
},
"executionTracking": {
"$ref": "#/components/schemas/ExecutionTrackingInput"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"reviewContext": {
"$ref": "#/components/schemas/ReviewContext"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"usageReport": {
"$ref": "#/components/schemas/SessionUsageInput"
}
},
"required": [
"commitReport",
"usageReport",
"currentSummary",
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"executionContext"
],
"type": "object"
},
"RecordedSessionUsage": {
"additionalProperties": false,
"description": "Stored canonical deltas from cumulative session checkpoints, irrespective of task attribution. Not an additional task total; never add to knownTotalTokens. Baselines and duplicate references contribute no tokens; missing totals remain null. Sessions count distinct source/sessionId pairs. Excludes request and session_tree scopes. Totals are decimal strings, computed across all pages with up to 128-bit precision.",
"properties": {
"coverage": {
"additionalProperties": false,
"properties": {
"baselineEntries": {
"minimum": 0,
"type": "integer"
},
"deltaEntries": {
"minimum": 0,
"type": "integer"
},
"duplicateEntries": {
"minimum": 0,
"type": "integer"
},
"sessions": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"sessions",
"baselineEntries",
"deltaEntries",
"duplicateEntries"
],
"type": "object"
},
"estimatedTotalTokens": {
"pattern": "^(0|[1-9][0-9]{0,38})$",
"type": [
"string",
"null"
]
},
"measuredTotalTokens": {
"pattern": "^(0|[1-9][0-9]{0,38})$",
"type": [
"string",
"null"
]
}
},
"required": [
"measuredTotalTokens",
"estimatedTotalTokens",
"coverage"
],
"type": "object"
},
"ReviewContext": {
"additionalProperties": false,
"description": "Review guidance in the conversation; does not by itself prove consent.",
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"instructionRef": {
"minLength": 1,
"type": "string"
},
"reviewerType": {
"enum": [
"user",
"team_leader"
],
"type": "string"
}
},
"required": [
"reviewerType",
"conversationRef",
"instructionRef"
],
"type": "object"
},
"RevisePlan": {
"additionalProperties": false,
"properties": {
"baseRevision": {
"minimum": 1,
"type": "integer"
},
"changeSummary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
}
},
"required": [
"content",
"changeSummary",
"baseRevision"
],
"type": "object"
},
"SessionUsageInput": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/SessionUsageObservation"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
},
"SessionUsageObservation": {
"allOf": [
{
"$ref": "#/components/schemas/UsageObservation"
},
{
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
"inputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"modelId": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"outputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"quality": {
"const": "measured"
},
"reportKind": {
"const": "cumulative_snapshot"
},
"scope": {
"enum": [
"session",
"session_tree"
]
},
"totalTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
}
},
"required": [
"totalTokens"
],
"type": "object"
}
],
"description": "New-summary measured cumulative usage through observedAt for the declared session/epoch/model/actor. First snapshot is accepted with previousEvidenceId null and no delta. Total must equal inclusive input+output. Not exclusive task consumption. Multiple disjoint counters remain separate; never sum checkpoints or overlapping tree/child/model totals."
},
"Slug": {
"description": "Generated URL identifier, lowercase ASCII, stable across renames and unique per type including deleted records. Collisions use -2/-3; clients cannot write it.",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
},
"SlugResolution": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"slug": {
"$ref": "#/components/schemas/Slug"
}
},
"required": [
"id",
"slug"
],
"type": "object"
},
"Status": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"isDone": {
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"position": {
"minimum": 0,
"type": "integer"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"boardId",
"name",
"isDone",
"position",
"archivedAt",
"version",
"deletedAt"
],
"type": "object"
},
"StatusInput": {
"additionalProperties": false,
"properties": {
"isDone": {
"default": false,
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"StatusList": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"StatusOrder": {
"additionalProperties": false,
"description": "All active statuses exactly once.",
"properties": {
"statusIds": {
"items": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"required": [
"statusIds"
],
"type": "object"
},
"StatusOrderResult": {
"additionalProperties": false,
"properties": {
"boardVersion": {
"minimum": 1,
"type": "integer"
},
"items": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
}
},
"required": [
"items",
"boardVersion"
],
"type": "object"
},
"SummaryUsageInput": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/UsageObservation"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
},
"SummaryUsageReport": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/UsageEntry"
},
"maxItems": 256,
"type": "array"
},
"reconciledAt": {
"format": "date-time",
"type": "string"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"revision": {
"minimum": 1,
"type": "integer"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
}
},
"required": [
"reportedAt",
"statusObserved",
"reportingActor",
"revision",
"entries"
],
"type": "object"
},
"SummaryUsageTimelineItem": {
"additionalProperties": false,
"properties": {
"recordedSessionUsage": {
"$ref": "#/components/schemas/RecordedSessionUsage"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"statusObserved": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageObservedStatus"
},
{
"type": "null"
}
]
},
"summaryId": {
"format": "uuid",
"type": "string"
},
"usageReport": {
"anyOf": [
{
"$ref": "#/components/schemas/SummaryUsageReport"
},
{
"type": "null"
}
]
}
},
"required": [
"summaryId",
"reportedAt",
"reportingActor",
"statusObserved",
"usageReport"
],
"type": "object"
},
"Task": {
"additionalProperties": false,
"description": "Recursive task with required author and executor, both agents. parentId references another Task without a fixed depth limit; board and executor may differ from the parent. No team ownership. Author/history are preserved after reassignment/agent transfer. Checklist is a projection of children.",
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"authorAgentId": {
"description": "Required, immutable author/owner: the agent that wrote the task. Independent of the declared actor submitting the request.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"block": {
"$ref": "#/components/schemas/Block"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"childSummary": {
"additionalProperties": false,
"properties": {
"done": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"total",
"done"
],
"type": "object"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummary"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"executionContext": {
"$ref": "#/components/schemas/TaskExecutionContext"
},
"executorAgentId": {
"description": "Required executor, reassignable by the user without a team restriction.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"latestExecutionSummaryId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"parentReference": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"slug": {
"$ref": "#/components/schemas/Slug"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title",
"slug"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "Compact parent reference, including a parent on another board; null for a root. Additive read-only field, without changing parentId."
},
"position": {
"description": "Opaque rank generated by the server.",
"type": "string"
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"slug": {
"$ref": "#/components/schemas/Slug"
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScope"
}
},
"required": [
"slug",
"id",
"boardId",
"parentId",
"title",
"description",
"specification",
"executorAgentId",
"statusId",
"position",
"currentSummary",
"progress",
"block",
"childSummary",
"latestExecutionSummaryId",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"deletedAt",
"autonomyMode",
"executionContext",
"authorAgentId"
],
"type": "object"
},
"TaskAutonomyMode": {
"default": "manual",
"description": "Individual task mode, used only when the context's origin board is in standard mode.",
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"TaskExecution": {
"additionalProperties": false,
"properties": {
"activeIntervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageRootSessionId": {
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endSummaryId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"format": "uuid",
"type": "string"
},
"identity": {
"items": {},
"type": "array"
},
"scope": {
"type": "string"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
},
"state": {
"enum": [
"active",
"paused",
"finished"
]
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"agentId",
"source",
"sessionId",
"coverageRootSessionId",
"scope",
"identity",
"counterMode",
"state",
"startSummaryId",
"endSummaryId",
"activeIntervalId"
],
"type": "object"
},
"TaskExecutionContext": {
"additionalProperties": false,
"description": "The root task's origin board governs the entire recursive chain, including cross-board descendants. originBoardMode=manual forces effectiveMode=manual; automatic forces automatic; standard uses only the current task's autonomyMode. Do not inherit the parent flag or consult the destination board mode. Do not modify persisted settings. rootTaskId/originBoardId are derived from the chain and carried by the harness; the server does not execute tasks.",
"properties": {
"effectiveMode": {
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"originBoardMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"readOnly": true,
"required": [
"rootTaskId",
"originBoardId",
"originBoardMode",
"effectiveMode"
],
"type": "object"
},
"TaskExecutionInterval": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"counterMode": {
"type": "string"
},
"counters": {
"items": {
"$ref": "#/components/schemas/ExecutionIntervalCounter"
},
"type": "array"
},
"coverage": {
"enum": [
"open",
"complete",
"incomplete",
"invalid"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endObservedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endReceivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endSummaryId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"executionId": {
"format": "uuid",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"latestObservedAt": {
"format": "date-time",
"type": "string"
},
"models": {
"items": {
"type": "string"
},
"type": "array"
},
"observedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"partialTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"minimum": 0,
"type": "integer"
},
"scope": {
"type": "string"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"startObservedAt": {
"format": "date-time",
"type": "string"
},
"startReceivedAt": {
"format": "date-time",
"type": "string"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
},
"state": {
"enum": [
"open",
"closed",
"incomplete",
"invalid"
]
},
"taskId": {
"format": "uuid",
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"executionId",
"agentId",
"source",
"sessionId",
"coverageRootSessionId",
"scope",
"counterMode",
"state",
"startSummaryId",
"endSummaryId",
"startObservedAt",
"endObservedAt",
"latestObservedAt",
"startReceivedAt",
"endReceivedAt",
"counters",
"models",
"revision",
"reason",
"coverageLost",
"coverage",
"totalTokens",
"partialTokens",
"observedDurationMs"
],
"type": "object"
},
"TaskExecutionIntervalPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionInterval"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionIntervalRevision": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"format": "uuid",
"type": "string"
},
"interval": {
"$ref": "#/components/schemas/TaskExecutionInterval"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"revision": {
"minimum": 0,
"type": "integer"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"intervalId",
"revision",
"reason",
"reportingActor",
"interval"
],
"type": "object"
},
"TaskExecutionIntervalRevisionPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionIntervalRevision"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionIntervalUsage": {
"additionalProperties": false,
"properties": {
"coverage": {
"additionalProperties": false,
"properties": {
"incompleteIntervals": {
"minimum": 0,
"type": "integer"
},
"invalidIntervals": {
"minimum": 0,
"type": "integer"
},
"openIntervals": {
"minimum": 0,
"type": "integer"
},
"totalIntervals": {
"minimum": 0,
"type": "integer"
},
"untrackedSummaries": {
"minimum": 0,
"type": "integer"
},
"validIntervals": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"totalIntervals",
"validIntervals",
"openIntervals",
"incompleteIntervals",
"invalidIntervals",
"untrackedSummaries"
],
"type": "object"
},
"elapsedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"observedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"partialTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"validTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"validTotalTokens",
"partialTotalTokens",
"observedDurationMs",
"elapsedDurationMs",
"coverage"
],
"type": "object"
},
"TaskExecutionPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecution"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionTrackingEvent": {
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"evidence": {
"items": {
"$ref": "#/components/schemas/UsageEntry"
},
"type": "array"
},
"executionId": {
"format": "uuid",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"models": {
"items": {
"type": "string"
},
"type": "array"
},
"observedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"receivedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
},
"summaryId": {
"format": "uuid",
"type": "string"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"executionId",
"intervalId",
"action",
"summaryId",
"statusObserved",
"reportingActor",
"observedAt",
"receivedAt",
"source",
"sessionId",
"agentId",
"models",
"evidence",
"reason"
],
"type": "object"
},
"TaskExecutionTrackingEventPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionTrackingEvent"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskOverview": {
"additionalProperties": false,
"properties": {
"currentSummaryMeta": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"eventId": {
"format": "uuid",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
}
},
"required": [
"eventId",
"occurredAt",
"actorKind",
"actorId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"decisions": {
"items": {
"type": "string"
},
"maxItems": 0,
"type": "array"
},
"directSubtasks": {
"additionalProperties": false,
"properties": {
"archivedIncluded": {
"const": true,
"type": "boolean"
},
"blocked": {
"minimum": 0,
"type": "integer"
},
"byExecutor": {
"items": {
"additionalProperties": false,
"properties": {
"agentName": {
"type": [
"string",
"null"
]
},
"done": {
"minimum": 0,
"type": "integer"
},
"executorAgentId": {
"format": "uuid",
"type": "string"
},
"remaining": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"executorAgentId",
"agentName",
"total",
"done",
"remaining"
],
"type": "object"
},
"type": "array"
},
"byStatus": {
"items": {
"additionalProperties": false,
"properties": {
"blocked": {
"minimum": 0,
"type": "integer"
},
"boardId": {
"format": "uuid",
"type": "string"
},
"boardName": {
"type": [
"string",
"null"
]
},
"color": {
"type": "null"
},
"isDone": {
"type": "boolean"
},
"statusId": {
"format": "uuid",
"type": "string"
},
"statusName": {
"type": "string"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"boardId",
"boardName",
"statusId",
"statusName",
"isDone",
"total",
"blocked",
"color"
],
"type": "object"
},
"type": "array"
},
"done": {
"minimum": 0,
"type": "integer"
},
"remaining": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"total",
"done",
"remaining",
"blocked",
"archivedIncluded",
"byStatus",
"byExecutor"
],
"type": "object"
},
"latestAttachments": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/Attachment"
},
"maxItems": 5,
"type": "array"
},
"limit": {
"const": 5,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"latestDeliverables": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deliverable": {
"$ref": "#/components/schemas/Deliverable"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"createdAt",
"actorKind",
"actorId",
"deliverable"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"const": 10,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"latestExecutionSummary": {
"anyOf": [
{
"$ref": "#/components/schemas/ExecutionSummary"
},
{
"type": "null"
}
]
},
"nextStep": {
"type": "null"
},
"progressHistory": {
"additionalProperties": false,
"properties": {
"coverage": {
"const": "explicit_progress_events_only",
"type": "string"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"eventId": {
"format": "uuid",
"type": "string"
},
"note": {
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"source": {
"enum": [
"task.updated",
"execution.recorded"
],
"type": "string"
},
"summaryId": {
"description": "Explicit execution summary reference; absent for legacy standalone progress.",
"format": "uuid",
"type": [
"string",
"null"
]
}
},
"required": [
"eventId",
"occurredAt",
"actorKind",
"actorId",
"percent",
"note",
"source"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"limit": {
"const": 100,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated",
"coverage"
],
"type": "object"
},
"recentEvents": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/Event"
},
"maxItems": 20,
"type": "array"
},
"limit": {
"const": 20,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"task": {
"$ref": "#/components/schemas/Task"
},
"usage": {
"$ref": "#/components/schemas/TaskUsage"
}
},
"required": [
"task",
"directSubtasks",
"progressHistory",
"currentSummaryMeta",
"latestExecutionSummary",
"latestDeliverables",
"latestAttachments",
"recentEvents",
"nextStep",
"decisions",
"usage"
],
"type": "object"
},
"TaskPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Task"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskParticipant": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"agentArchived": {
"type": "boolean"
},
"agentDeleted": {
"type": "boolean"
},
"agentName": {
"type": [
"string",
"null"
]
}
},
"required": [
"actorKind",
"actorId",
"agentName",
"agentArchived",
"agentDeleted"
],
"type": "object"
},
"TaskParticipantPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskParticipant"
},
"type": "array"
},
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskSpecification": {
"description": "Markdown text preserved without rendering/conversion. Defines delivery, requirements, rules and acceptance criteria. Independent of the short description, execution plan and current synthesis. Empty means not yet defined; null is not accepted.",
"type": "string",
"x-maxBytes": 65536
},
"TaskUsage": {
"additionalProperties": false,
"properties": {
"coverage": {
"$ref": "#/components/schemas/UsageCoverage"
},
"estimatedTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"harnesses": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"knownTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"measuredComponents": {
"$ref": "#/components/schemas/UsageDelta"
},
"models": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"recordedSessionUsage": {
"$ref": "#/components/schemas/RecordedSessionUsage"
},
"timeline": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/SummaryUsageTimelineItem"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
}
},
"required": [
"knownTotalTokens",
"estimatedTotalTokens",
"measuredComponents",
"coverage",
"models",
"harnesses",
"timeline"
],
"type": "object"
},
"TaskWorkScope": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"$ref": "#/components/schemas/WorkProject"
},
"maxItems": 100,
"type": "array"
},
"repositories": {
"items": {
"$ref": "#/components/schemas/WorkRepository"
},
"maxItems": 100,
"type": "array"
},
"status": {
"enum": [
"identified",
"to_identify",
"not_applicable"
]
}
},
"required": [
"status",
"projects",
"repositories"
],
"type": "object"
},
"TaskWorkScopeInput": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"$ref": "#/components/schemas/WorkProjectInput"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"projects"
],
"type": "object"
},
"TimelinePoint": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"sequence": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/EventType"
}
},
"required": [
"id",
"taskId",
"type",
"occurredAt",
"sequence"
],
"type": "object"
},
"TimelinePointPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TimelinePoint"
},
"type": "array"
},
"limit": {
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"UploadAttachment": {
"additionalProperties": false,
"properties": {
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"file": {
"description": "Bytes, maximum 20 MiB.",
"format": "binary",
"type": "string",
"x-maxBytes": 20971520
}
},
"required": [
"file"
],
"type": "object"
},
"UsageCoverage": {
"additionalProperties": false,
"properties": {
"baselineEntries": {
"minimum": 0,
"type": "integer"
},
"duplicateEntries": {
"minimum": 0,
"type": "integer"
},
"entries": {
"minimum": 0,
"type": "integer"
},
"estimatedEntries": {
"minimum": 0,
"type": "integer"
},
"measuredEntries": {
"minimum": 0,
"type": "integer"
},
"missingSummaries": {
"minimum": 0,
"type": "integer"
},
"reportedSummaries": {
"minimum": 0,
"type": "integer"
},
"totalSummaries": {
"minimum": 0,
"type": "integer"
},
"unallocatedEntries": {
"minimum": 0,
"type": "integer"
},
"unavailableEntries": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"totalSummaries",
"reportedSummaries",
"missingSummaries",
"entries",
"measuredEntries",
"estimatedEntries",
"unavailableEntries",
"baselineEntries",
"duplicateEntries",
"unallocatedEntries"
],
"type": "object"
},
"UsageDelta": {
"additionalProperties": false,
"properties": {
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"totalTokens"
],
"type": "object"
},
"UsageDimension": {
"additionalProperties": false,
"properties": {
"harness": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"provider",
"modelId",
"harness"
],
"type": "object"
},
"UsageDimensionPage": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"UsageEntry": {
"additionalProperties": false,
"properties": {
"canonicalSummaryId": {
"format": "uuid",
"type": "string"
},
"counted": {
"type": "boolean"
},
"coverageReason": {
"enum": [
"baseline_or_unavailable",
"duplicate_reference",
"attributed",
"shared_or_unallocated"
],
"type": "string"
},
"delta": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageDelta"
},
{
"type": "null"
}
]
},
"evidenceKey": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"observation": {
"$ref": "#/components/schemas/UsageObservation"
},
"reportRevision": {
"minimum": 1,
"type": "integer"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
}
},
"required": [
"id",
"reportedAt",
"reportingActor",
"reportRevision",
"observation",
"evidenceKey",
"canonicalSummaryId",
"delta",
"counted",
"coverageReason"
],
"type": "object"
},
"UsageObservation": {
"additionalProperties": false,
"description": "Historical/general evidence schema. New summaries use SessionUsageObservation; legacy/late evidence can retain partial or unavailable observations. No transcripts or secrets.",
"properties": {
"actor": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"id": {
"type": "null"
},
"kind": {
"const": "human"
}
},
"required": [
"kind",
"id"
],
"type": "object"
}
]
},
"actorRole": {
"enum": [
"leader",
"worker",
"human",
"unknown"
],
"type": "string"
},
"attribution": {
"enum": [
"exact",
"shared",
"unallocated"
],
"type": "string"
},
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"discovery": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"attempts": {
"items": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason",
"attempts"
],
"type": "object"
},
{
"type": "null"
}
]
},
"epoch": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harness": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harnessVersion": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"observedAt": {
"format": "date-time",
"type": "string"
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"periodEnd": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"periodStart": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"previousEvidenceId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"quality": {
"enum": [
"measured",
"estimated",
"unavailable"
],
"type": "string"
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reportKind": {
"enum": [
"cumulative_snapshot",
"period_delta",
"unavailable"
],
"type": "string"
},
"scope": {
"enum": [
"request",
"session",
"session_tree"
],
"type": "string"
},
"sessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"surface": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Explicit inclusive input+output cumulative total. Required for new summaries; optional in legacy evidence. Never add cache/reasoning twice or sum successive snapshots."
}
},
"required": [
"source",
"harness",
"surface",
"harnessVersion",
"sessionId",
"epoch",
"evidenceId",
"previousEvidenceId",
"actor",
"actorRole",
"provider",
"modelId",
"scope",
"reportKind",
"quality",
"attribution",
"observedAt",
"periodStart",
"periodEnd",
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"discovery"
],
"type": "object"
},
"UsageObservedStatus": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"isDone": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"isDone"
],
"type": "object"
},
"WorkProject": {
"additionalProperties": false,
"properties": {
"discovery": {
"$ref": "#/components/schemas/ProjectGitDiscovery"
},
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"WorkProjectInput": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"WorkRepository": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"projectKeys": {
"items": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"provider": {
"enum": [
"github",
"gitlab",
"other"
]
},
"remoteUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"webUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"key",
"name",
"remoteUrl",
"webUrl",
"provider",
"projectKeys"
],
"type": "object"
}
}
},
"properties": {
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
}record_progress · Write
Record the current synthesis, progress, blocker or comment atomically.
Required top-level fields: taskId expectedVersion actor idempotencyKey .
Original contract and full input schema
Atomically record cumulative currentSummary/comment/progress/block for task and explicitly named descendants; checklist is derived from real subtasks. All supplied versions must match. No implicit completion.
{
"additionalProperties": false,
"components": {
"parameters": {
"ActorId": {
"description": "UUIDv7 of the declared agent when actorKind=agent; absent with human. Not proof of identity. Task creation separately requires authorAgentId.",
"in": "header",
"name": "X-Actor-Id",
"required": false,
"schema": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"ActorKind": {
"description": "Declared authorship; no authentication or proof of identity.",
"in": "header",
"name": "X-Actor-Kind",
"required": true,
"schema": {
"enum": [
"human",
"agent"
],
"type": "string"
}
},
"IdempotencyKey": {
"description": "Retry for 24h bound to route, declared authorship context and request hash. The same key/content returns the original response; different content returns 409.",
"in": "header",
"name": "Idempotency-Key",
"required": true,
"schema": {
"description": "Request key, not a persisted entity ID; any UUID version.",
"format": "uuid",
"type": "string"
}
},
"IfMatch": {
"description": "Strong ETag of the target entity; for content commands, the task; for status ordering, the board.",
"in": "header",
"name": "If-Match",
"required": true,
"schema": {
"examples": [
"\"1\""
],
"pattern": "^\"[1-9][0-9]*\"$",
"type": "string"
}
},
"Limit": {
"description": "Maximum items per page; out-of-range values are rejected, not truncated.",
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"Offset": {
"description": "Offset beyond the total returns empty items.",
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
}
},
"ParentIfMatch": {
"description": "Required when parentId is non-null: parent ETag. Absence returns 428.",
"in": "header",
"name": "If-Match",
"required": false,
"schema": {
"pattern": "^\"[1-9][0-9]*\"$",
"type": "string"
}
}
},
"responses": {
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "invalid_request; invalid_actor_context"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "not_found"
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Structural conflict, composition version conflict, archived/in-use resource, idempotency conflict or incompatible execution context; not authentication."
},
"412": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "version_conflict"
},
"413": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "payload_too_large"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "unsupported_media_type"
},
"428": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "version_required"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "internal_error"
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "storage_unavailable"
}
},
"schemas": {
"ApprovalCoordinationContext": {
"additionalProperties": false,
"description": "Without execution context, require approval/manual mode. Does not grant global autonomy.",
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
"Archive": {
"additionalProperties": false,
"properties": {
"archived": {
"type": "boolean"
}
},
"required": [
"archived"
],
"type": "object"
},
"Assignment": {
"additionalProperties": false,
"description": "A new executor agent is required, never null. The user may transfer responsibility. Preserves author, task history and execution context; does not copy the previous executor's internal history. No team restriction.",
"properties": {
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"executorAgentId",
"coordinationContext"
],
"type": "object"
},
"Attachment": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"mediaType": {
"type": "string"
},
"originalName": {
"type": "string"
},
"sizeBytes": {
"minimum": 0,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"id",
"taskId",
"originalName",
"mediaType",
"sizeBytes",
"description",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"AttachmentPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Attachment"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Block": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": true
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": false
},
"reason": {
"type": "null"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
}
]
},
"Board": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"createdBy": {
"$ref": "#/components/schemas/DeclaredActor"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"lastManagementChange": {
"description": "Latest transfer event; complete append-only log is preserved. Null before the first transfer.",
"oneOf": [
{
"$ref": "#/components/schemas/BoardManagementChange"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"deletedAt",
"autonomyMode",
"createdBy",
"teamId",
"lastManagementChange"
],
"type": "object"
},
"BoardAutonomyMode": {
"default": "manual",
"description": "manual = fully manual; standard = default behavior respecting each task's individual flag; automatic = fully automatic. Initial default is manual, distinct from the name standard.",
"enum": [
"manual",
"standard",
"automatic"
],
"type": "string"
},
"BoardCreated": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"createdBy": {
"$ref": "#/components/schemas/DeclaredActor"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"lastManagementChange": {
"description": "Latest transfer event; complete append-only log is preserved. Null before the first transfer.",
"oneOf": [
{
"$ref": "#/components/schemas/BoardManagementChange"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"statuses": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"statuses",
"deletedAt",
"autonomyMode",
"createdBy",
"teamId",
"lastManagementChange"
],
"type": "object"
},
"BoardManagementChange": {
"additionalProperties": false,
"properties": {
"actor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"deletedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"previousTeamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": {
"const": "board.management_changed",
"type": "string"
}
},
"required": [
"id",
"boardId",
"type",
"previousTeamId",
"teamId",
"actor",
"occurredAt",
"deletedAt"
],
"type": "object"
},
"BoardPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Board"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"BoardView": {
"additionalProperties": false,
"description": "Column projection of the board administered by its managing team. Tasks do not belong to the team. A child task's execution context may originate on another board.",
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"columns": {
"items": {
"$ref": "#/components/schemas/BoardViewColumn"
},
"type": "array"
}
},
"required": [
"boardId",
"columns"
],
"type": "object"
},
"BoardViewColumn": {
"additionalProperties": false,
"description": "First column page (tasks instead of items), offset=0, limit=limitPerColumn. All active columns are returned, including empty ones.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"tasks": {
"items": {
"$ref": "#/components/schemas/Task"
},
"type": "array"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"status",
"tasks",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Comment": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"body": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"id",
"taskId",
"body",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"CommentPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Comment"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"CommitBranch": {
"additionalProperties": false,
"properties": {
"name": {
"anyOf": [
{
"maxLength": 1024,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"enum": [
"named",
"detached",
"unknown"
]
}
},
"required": [
"state",
"name"
],
"type": "object"
},
"CommitReference": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"$ref": "#/components/schemas/CommitBranch"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repository": {
"$ref": "#/components/schemas/WorkRepository"
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl",
"repository"
],
"type": "object"
},
"CommitReferenceInput": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"$ref": "#/components/schemas/CommitBranch"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl"
],
"type": "object"
},
"CommitReport": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"$ref": "#/components/schemas/CommitReference"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"CommitReportInput": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"$ref": "#/components/schemas/CommitReferenceInput"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"CoordinationContext": {
"description": "mode must match the effective execution-context mode. Manual requires an approval reference; automatic does not request new coordination approval within scope. References are not authentication.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "automatic"
}
},
"required": [
"mode",
"conversationRef"
],
"type": "object"
}
]
},
"CreateBoard": {
"additionalProperties": false,
"description": "Create a board with a required managing teamId and preserved declared creator. A team may manage multiple boards. Tasks do not inherit team membership. Initial autonomyMode is manual.",
"properties": {
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"statuses": {
"items": {
"$ref": "#/components/schemas/StatusInput"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"name",
"teamId"
],
"type": "object"
},
"CreateComment": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
}
},
"required": [
"body"
],
"type": "object"
},
"CreatePlan": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"title",
"content"
],
"type": "object"
},
"CreateTask": {
"additionalProperties": false,
"description": "Author and executor are required; parentId is optional. A child may use another board and executor. No fixed depth limit; reject self-reference and cycles. A root uses its own id and boardId as rootTaskId and originBoardId; children follow their parent's context. PATCH cannot change parentId or boardId. Link existing tasks with linkTaskToParent; boardId remains immutable.",
"properties": {
"authorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScopeInput"
}
},
"required": [
"workScope",
"title",
"coordinationContext",
"authorAgentId",
"executorAgentId"
],
"type": "object"
},
"CurrentSummary": {
"description": "Current cumulative synthesis authored by the worker (completed work, current work and pending items/next step). Empty means not yet provided. Never inferred from description, progress note or history.",
"type": "string",
"x-maxBytes": 16384
},
"CurrentSummaryInput": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"DeclaredActor": {
"description": "Creator declared in the request. human identifies the local user; agent uses a persisted ID. Identity is not verified.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"actorId": {
"type": "null"
},
"actorKind": {
"const": "human"
}
},
"required": [
"actorKind",
"actorId"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"actorKind": {
"const": "agent"
}
},
"required": [
"actorKind",
"actorId"
],
"type": "object"
}
]
},
"Deliverable": {
"additionalProperties": false,
"not": {
"required": [
"attachmentId",
"url"
]
},
"properties": {
"attachmentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"url": {
"format": "uri",
"pattern": "^https?://",
"type": "string"
}
},
"required": [
"label"
],
"type": "object"
},
"Error": {
"additionalProperties": false,
"properties": {
"code": {
"enum": [
"invalid_request",
"coordination_context_required",
"coordination_mode_mismatch",
"not_found",
"archived_resource",
"status_in_use",
"summary_required",
"task_blocked",
"revision_conflict",
"idempotency_conflict",
"duplicate_status",
"version_conflict",
"version_required",
"payload_too_large",
"unsupported_media_type",
"internal_error",
"storage_unavailable",
"invalid_actor_context",
"usage_attribution_conflict",
"usage_policy_conflict",
"parent_cycle",
"active_execution_interval",
"execution_context_mismatch"
],
"type": "string"
},
"details": {
"additionalProperties": true,
"type": "object"
},
"error": {
"type": "string"
}
},
"required": [
"error",
"code",
"details"
],
"type": "object"
},
"Event": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"data": {
"additionalProperties": true,
"description": "Relevant previous/new values and related IDs. comment.created includes commentId without duplicating the body.",
"type": "object"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"sequence": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/EventType"
}
},
"required": [
"id",
"sequence",
"taskId",
"type",
"actorId",
"occurredAt",
"data",
"deletedAt",
"actorKind"
],
"type": "object"
},
"EventPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Event"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"EventType": {
"enum": [
"task.created",
"task.updated",
"assignment.changed",
"position.changed",
"block.changed",
"plan.created",
"plan.revised",
"comment.created",
"attachment.added",
"attachment.removed",
"execution.recorded",
"task.archived",
"task.restored",
"subtask.created",
"task.parent_changed"
],
"type": "string"
},
"ExecutionContextRef": {
"additionalProperties": false,
"description": "Identifies the chain's origin. Persisted/derived by the server from the root task, never replaced by the destination board.",
"properties": {
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"rootTaskId",
"originBoardId"
],
"type": "object"
},
"ExecutionCounterSegment": {
"additionalProperties": false,
"properties": {
"complete": {
"type": "boolean"
},
"delta": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageDelta"
},
{
"type": "null"
}
]
},
"latest": {
"$ref": "#/components/schemas/UsageEntry"
},
"latestSummaryId": {
"format": "uuid",
"type": "string"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"start": {
"$ref": "#/components/schemas/UsageEntry"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"start",
"latest",
"startSummaryId",
"latestSummaryId",
"delta",
"complete",
"reason"
],
"type": "object"
},
"ExecutionIntervalCounter": {
"additionalProperties": false,
"properties": {
"counterKey": {
"type": "string"
},
"incomplete": {
"type": "boolean"
},
"missingBoundary": {
"type": "boolean"
},
"segments": {
"items": {
"$ref": "#/components/schemas/ExecutionCounterSegment"
},
"type": "array"
}
},
"required": [
"counterKey",
"incomplete",
"segments"
],
"type": "object"
},
"ExecutionResult": {
"additionalProperties": false,
"properties": {
"executionSummary": {
"$ref": "#/components/schemas/ExecutionSummary"
},
"task": {
"$ref": "#/components/schemas/Task"
}
},
"required": [
"executionSummary",
"task"
],
"type": "object"
},
"ExecutionSummary": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"commitReport": {
"$ref": "#/components/schemas/CommitReport"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"deliverables": {
"items": {
"$ref": "#/components/schemas/Deliverable"
},
"type": "array"
},
"executionContext": {
"$ref": "#/components/schemas/ExecutionContextRef"
},
"executionTracking": {
"$ref": "#/components/schemas/ExecutionTrackingResult"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"reviewContext": {
"anyOf": [
{
"$ref": "#/components/schemas/ReviewContext"
},
{
"type": "null"
}
]
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"usageReport": {
"anyOf": [
{
"$ref": "#/components/schemas/SummaryUsageReport"
},
{
"type": "null"
}
]
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"reviewContext",
"id",
"taskId",
"actorId",
"createdAt",
"deletedAt",
"actorKind",
"executionContext"
],
"type": "object"
},
"ExecutionSummaryPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/ExecutionSummary"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"ExecutionTrackingInput": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceIds": {
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"type": "array",
"uniqueItems": true
},
"executionId": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"action",
"evidenceIds"
],
"type": "object"
},
"ExecutionTrackingResult": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"executionId": {
"format": "uuid",
"type": "string"
},
"executionState": {
"enum": [
"active",
"paused",
"finished"
]
},
"intervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"intervalState": {
"anyOf": [
{
"enum": [
"open",
"closed",
"incomplete",
"invalid"
]
},
{
"type": "null"
}
]
}
},
"required": [
"action",
"executionId",
"intervalId",
"executionState",
"intervalState"
],
"type": "object"
},
"IntervalEvidenceReference": {
"additionalProperties": false,
"properties": {
"evidenceId": {
"minLength": 1,
"type": "string"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"evidenceId"
],
"type": "object"
},
"LinkTaskToParent": {
"additionalProperties": false,
"properties": {
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentVersion": {
"minimum": 1,
"type": "integer"
},
"previousParentVersion": {
"description": "Required only when the task already has a parent, including unchanged-parent requests.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"parentId",
"parentVersion",
"coordinationContext"
],
"type": "object"
},
"PatchBoard": {
"additionalProperties": false,
"description": "Edit metadata, mode and/or managing teamId. Uses the board If-Match. A valid transfer records board.management_changed and the new teamId atomically; it does not change creator, task authors/executors, parentId, originBoardId or history. Supplying the current teamId creates no transfer event.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [],
"type": "object"
},
"PatchStatus": {
"additionalProperties": false,
"description": "An in-use status cannot be archived or change isDone. Its name may change.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"isDone": {
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [],
"type": "object"
},
"PatchTask": {
"additionalProperties": false,
"dependentRequired": {
"progress": [
"currentSummary"
]
},
"description": "Edit content/progress, currentSummary and individual mode without changing authorAgentId/boardId/parentId. Progress requires a nonempty currentSummary in the same call; administrative changes preserve it when omitted. Reassignment uses Assignment. manual/automatic modes do not propagate to children; effective mode uses the chain's origin board.",
"minProperties": 1,
"properties": {
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScopeInput"
}
},
"required": [],
"type": "object"
},
"PlanRevision": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"changeSummary": {
"type": [
"string",
"null"
]
},
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"planId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"revision": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"id",
"planId",
"taskId",
"title",
"revision",
"content",
"changeSummary",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"PlanRevisionPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlanRevision"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Position": {
"additionalProperties": false,
"description": "Before must be a sibling in the same column. Null moves to the end. statusId must remain the current status, including a final status; any change returns 409 summary_required even with currentSummary. Change status by recording execution-summaries or close_activity with a complete execution. Reordering within the same status preserves the current summary when omitted.",
"properties": {
"beforeTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"statusId",
"beforeTaskId"
],
"type": "object"
},
"Progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"ProjectGitDiscovery": {
"additionalProperties": false,
"properties": {
"branch": {
"anyOf": [
{
"$ref": "#/components/schemas/CommitBranch"
},
{
"type": "null"
}
]
},
"checkedAt": {
"format": "date-time",
"type": "string"
},
"checkoutRoot": {
"type": [
"string",
"null"
]
},
"commonDirectory": {
"type": [
"string",
"null"
]
},
"gitDirectory": {
"type": [
"string",
"null"
]
},
"headHash": {
"type": [
"string",
"null"
]
},
"isWorktree": {
"type": [
"boolean",
"null"
]
},
"reason": {
"enum": [
null,
"path_unavailable",
"git_unavailable",
"timeout",
"output_limit",
"inspection_failed"
]
},
"remotes": {
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"url"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"repositoryKey": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"detected",
"not_git",
"unavailable"
]
}
},
"required": [
"status",
"reason",
"checkedAt",
"checkoutRoot",
"gitDirectory",
"commonDirectory",
"isWorktree",
"branch",
"headHash",
"repositoryKey",
"remotes"
],
"type": "object"
},
"ReconcileExecutionInterval": {
"additionalProperties": false,
"properties": {
"endEvidence": {
"items": {
"$ref": "#/components/schemas/IntervalEvidenceReference"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
},
"invalidate": {
"type": "boolean"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"startEvidence": {
"items": {
"$ref": "#/components/schemas/IntervalEvidenceReference"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"reason"
],
"type": "object"
},
"RecordExecution": {
"additionalProperties": false,
"description": "Completed requires a final status and no block, and sets progress to 100. Other outcomes require a nonfinal status; blocked requires an existing block. Review follows the user's instructions, with no universally required review stage. The supplied context must match the task chain, including cross-board origin; a mismatch returns 409 execution_context_mismatch. currentSummary is the required current cumulative synthesis, saved atomically on the task; summary remains the historical record of this activity.",
"properties": {
"commitReport": {
"$ref": "#/components/schemas/CommitReportInput"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"deliverables": {
"items": {
"$ref": "#/components/schemas/Deliverable"
},
"type": "array"
},
"executionContext": {
"$ref": "#/components/schemas/ExecutionContextRef"
},
"executionTracking": {
"$ref": "#/components/schemas/ExecutionTrackingInput"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"reviewContext": {
"$ref": "#/components/schemas/ReviewContext"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"usageReport": {
"$ref": "#/components/schemas/SessionUsageInput"
}
},
"required": [
"commitReport",
"usageReport",
"currentSummary",
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"executionContext"
],
"type": "object"
},
"RecordedSessionUsage": {
"additionalProperties": false,
"description": "Stored canonical deltas from cumulative session checkpoints, irrespective of task attribution. Not an additional task total; never add to knownTotalTokens. Baselines and duplicate references contribute no tokens; missing totals remain null. Sessions count distinct source/sessionId pairs. Excludes request and session_tree scopes. Totals are decimal strings, computed across all pages with up to 128-bit precision.",
"properties": {
"coverage": {
"additionalProperties": false,
"properties": {
"baselineEntries": {
"minimum": 0,
"type": "integer"
},
"deltaEntries": {
"minimum": 0,
"type": "integer"
},
"duplicateEntries": {
"minimum": 0,
"type": "integer"
},
"sessions": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"sessions",
"baselineEntries",
"deltaEntries",
"duplicateEntries"
],
"type": "object"
},
"estimatedTotalTokens": {
"pattern": "^(0|[1-9][0-9]{0,38})$",
"type": [
"string",
"null"
]
},
"measuredTotalTokens": {
"pattern": "^(0|[1-9][0-9]{0,38})$",
"type": [
"string",
"null"
]
}
},
"required": [
"measuredTotalTokens",
"estimatedTotalTokens",
"coverage"
],
"type": "object"
},
"ReviewContext": {
"additionalProperties": false,
"description": "Review guidance in the conversation; does not by itself prove consent.",
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"instructionRef": {
"minLength": 1,
"type": "string"
},
"reviewerType": {
"enum": [
"user",
"team_leader"
],
"type": "string"
}
},
"required": [
"reviewerType",
"conversationRef",
"instructionRef"
],
"type": "object"
},
"RevisePlan": {
"additionalProperties": false,
"properties": {
"baseRevision": {
"minimum": 1,
"type": "integer"
},
"changeSummary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
}
},
"required": [
"content",
"changeSummary",
"baseRevision"
],
"type": "object"
},
"SessionUsageInput": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/SessionUsageObservation"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
},
"SessionUsageObservation": {
"allOf": [
{
"$ref": "#/components/schemas/UsageObservation"
},
{
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
"inputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"modelId": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"outputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"quality": {
"const": "measured"
},
"reportKind": {
"const": "cumulative_snapshot"
},
"scope": {
"enum": [
"session",
"session_tree"
]
},
"totalTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
}
},
"required": [
"totalTokens"
],
"type": "object"
}
],
"description": "New-summary measured cumulative usage through observedAt for the declared session/epoch/model/actor. First snapshot is accepted with previousEvidenceId null and no delta. Total must equal inclusive input+output. Not exclusive task consumption. Multiple disjoint counters remain separate; never sum checkpoints or overlapping tree/child/model totals."
},
"Slug": {
"description": "Generated URL identifier, lowercase ASCII, stable across renames and unique per type including deleted records. Collisions use -2/-3; clients cannot write it.",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
},
"SlugResolution": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"slug": {
"$ref": "#/components/schemas/Slug"
}
},
"required": [
"id",
"slug"
],
"type": "object"
},
"Status": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"isDone": {
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"position": {
"minimum": 0,
"type": "integer"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"boardId",
"name",
"isDone",
"position",
"archivedAt",
"version",
"deletedAt"
],
"type": "object"
},
"StatusInput": {
"additionalProperties": false,
"properties": {
"isDone": {
"default": false,
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"StatusList": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"StatusOrder": {
"additionalProperties": false,
"description": "All active statuses exactly once.",
"properties": {
"statusIds": {
"items": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"required": [
"statusIds"
],
"type": "object"
},
"StatusOrderResult": {
"additionalProperties": false,
"properties": {
"boardVersion": {
"minimum": 1,
"type": "integer"
},
"items": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
}
},
"required": [
"items",
"boardVersion"
],
"type": "object"
},
"SummaryUsageInput": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/UsageObservation"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
},
"SummaryUsageReport": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/UsageEntry"
},
"maxItems": 256,
"type": "array"
},
"reconciledAt": {
"format": "date-time",
"type": "string"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"revision": {
"minimum": 1,
"type": "integer"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
}
},
"required": [
"reportedAt",
"statusObserved",
"reportingActor",
"revision",
"entries"
],
"type": "object"
},
"SummaryUsageTimelineItem": {
"additionalProperties": false,
"properties": {
"recordedSessionUsage": {
"$ref": "#/components/schemas/RecordedSessionUsage"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"statusObserved": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageObservedStatus"
},
{
"type": "null"
}
]
},
"summaryId": {
"format": "uuid",
"type": "string"
},
"usageReport": {
"anyOf": [
{
"$ref": "#/components/schemas/SummaryUsageReport"
},
{
"type": "null"
}
]
}
},
"required": [
"summaryId",
"reportedAt",
"reportingActor",
"statusObserved",
"usageReport"
],
"type": "object"
},
"Task": {
"additionalProperties": false,
"description": "Recursive task with required author and executor, both agents. parentId references another Task without a fixed depth limit; board and executor may differ from the parent. No team ownership. Author/history are preserved after reassignment/agent transfer. Checklist is a projection of children.",
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"authorAgentId": {
"description": "Required, immutable author/owner: the agent that wrote the task. Independent of the declared actor submitting the request.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"block": {
"$ref": "#/components/schemas/Block"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"childSummary": {
"additionalProperties": false,
"properties": {
"done": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"total",
"done"
],
"type": "object"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummary"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"executionContext": {
"$ref": "#/components/schemas/TaskExecutionContext"
},
"executorAgentId": {
"description": "Required executor, reassignable by the user without a team restriction.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"latestExecutionSummaryId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"parentReference": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"slug": {
"$ref": "#/components/schemas/Slug"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title",
"slug"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "Compact parent reference, including a parent on another board; null for a root. Additive read-only field, without changing parentId."
},
"position": {
"description": "Opaque rank generated by the server.",
"type": "string"
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"slug": {
"$ref": "#/components/schemas/Slug"
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScope"
}
},
"required": [
"slug",
"id",
"boardId",
"parentId",
"title",
"description",
"specification",
"executorAgentId",
"statusId",
"position",
"currentSummary",
"progress",
"block",
"childSummary",
"latestExecutionSummaryId",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"deletedAt",
"autonomyMode",
"executionContext",
"authorAgentId"
],
"type": "object"
},
"TaskAutonomyMode": {
"default": "manual",
"description": "Individual task mode, used only when the context's origin board is in standard mode.",
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"TaskExecution": {
"additionalProperties": false,
"properties": {
"activeIntervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageRootSessionId": {
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endSummaryId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"format": "uuid",
"type": "string"
},
"identity": {
"items": {},
"type": "array"
},
"scope": {
"type": "string"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
},
"state": {
"enum": [
"active",
"paused",
"finished"
]
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"agentId",
"source",
"sessionId",
"coverageRootSessionId",
"scope",
"identity",
"counterMode",
"state",
"startSummaryId",
"endSummaryId",
"activeIntervalId"
],
"type": "object"
},
"TaskExecutionContext": {
"additionalProperties": false,
"description": "The root task's origin board governs the entire recursive chain, including cross-board descendants. originBoardMode=manual forces effectiveMode=manual; automatic forces automatic; standard uses only the current task's autonomyMode. Do not inherit the parent flag or consult the destination board mode. Do not modify persisted settings. rootTaskId/originBoardId are derived from the chain and carried by the harness; the server does not execute tasks.",
"properties": {
"effectiveMode": {
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"originBoardMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"readOnly": true,
"required": [
"rootTaskId",
"originBoardId",
"originBoardMode",
"effectiveMode"
],
"type": "object"
},
"TaskExecutionInterval": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"counterMode": {
"type": "string"
},
"counters": {
"items": {
"$ref": "#/components/schemas/ExecutionIntervalCounter"
},
"type": "array"
},
"coverage": {
"enum": [
"open",
"complete",
"incomplete",
"invalid"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endObservedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endReceivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endSummaryId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"executionId": {
"format": "uuid",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"latestObservedAt": {
"format": "date-time",
"type": "string"
},
"models": {
"items": {
"type": "string"
},
"type": "array"
},
"observedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"partialTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"minimum": 0,
"type": "integer"
},
"scope": {
"type": "string"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"startObservedAt": {
"format": "date-time",
"type": "string"
},
"startReceivedAt": {
"format": "date-time",
"type": "string"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
},
"state": {
"enum": [
"open",
"closed",
"incomplete",
"invalid"
]
},
"taskId": {
"format": "uuid",
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"executionId",
"agentId",
"source",
"sessionId",
"coverageRootSessionId",
"scope",
"counterMode",
"state",
"startSummaryId",
"endSummaryId",
"startObservedAt",
"endObservedAt",
"latestObservedAt",
"startReceivedAt",
"endReceivedAt",
"counters",
"models",
"revision",
"reason",
"coverageLost",
"coverage",
"totalTokens",
"partialTokens",
"observedDurationMs"
],
"type": "object"
},
"TaskExecutionIntervalPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionInterval"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionIntervalRevision": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"format": "uuid",
"type": "string"
},
"interval": {
"$ref": "#/components/schemas/TaskExecutionInterval"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"revision": {
"minimum": 0,
"type": "integer"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"intervalId",
"revision",
"reason",
"reportingActor",
"interval"
],
"type": "object"
},
"TaskExecutionIntervalRevisionPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionIntervalRevision"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionIntervalUsage": {
"additionalProperties": false,
"properties": {
"coverage": {
"additionalProperties": false,
"properties": {
"incompleteIntervals": {
"minimum": 0,
"type": "integer"
},
"invalidIntervals": {
"minimum": 0,
"type": "integer"
},
"openIntervals": {
"minimum": 0,
"type": "integer"
},
"totalIntervals": {
"minimum": 0,
"type": "integer"
},
"untrackedSummaries": {
"minimum": 0,
"type": "integer"
},
"validIntervals": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"totalIntervals",
"validIntervals",
"openIntervals",
"incompleteIntervals",
"invalidIntervals",
"untrackedSummaries"
],
"type": "object"
},
"elapsedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"observedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"partialTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"validTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"validTotalTokens",
"partialTotalTokens",
"observedDurationMs",
"elapsedDurationMs",
"coverage"
],
"type": "object"
},
"TaskExecutionPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecution"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionTrackingEvent": {
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"evidence": {
"items": {
"$ref": "#/components/schemas/UsageEntry"
},
"type": "array"
},
"executionId": {
"format": "uuid",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"models": {
"items": {
"type": "string"
},
"type": "array"
},
"observedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"receivedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
},
"summaryId": {
"format": "uuid",
"type": "string"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"executionId",
"intervalId",
"action",
"summaryId",
"statusObserved",
"reportingActor",
"observedAt",
"receivedAt",
"source",
"sessionId",
"agentId",
"models",
"evidence",
"reason"
],
"type": "object"
},
"TaskExecutionTrackingEventPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionTrackingEvent"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskOverview": {
"additionalProperties": false,
"properties": {
"currentSummaryMeta": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"eventId": {
"format": "uuid",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
}
},
"required": [
"eventId",
"occurredAt",
"actorKind",
"actorId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"decisions": {
"items": {
"type": "string"
},
"maxItems": 0,
"type": "array"
},
"directSubtasks": {
"additionalProperties": false,
"properties": {
"archivedIncluded": {
"const": true,
"type": "boolean"
},
"blocked": {
"minimum": 0,
"type": "integer"
},
"byExecutor": {
"items": {
"additionalProperties": false,
"properties": {
"agentName": {
"type": [
"string",
"null"
]
},
"done": {
"minimum": 0,
"type": "integer"
},
"executorAgentId": {
"format": "uuid",
"type": "string"
},
"remaining": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"executorAgentId",
"agentName",
"total",
"done",
"remaining"
],
"type": "object"
},
"type": "array"
},
"byStatus": {
"items": {
"additionalProperties": false,
"properties": {
"blocked": {
"minimum": 0,
"type": "integer"
},
"boardId": {
"format": "uuid",
"type": "string"
},
"boardName": {
"type": [
"string",
"null"
]
},
"color": {
"type": "null"
},
"isDone": {
"type": "boolean"
},
"statusId": {
"format": "uuid",
"type": "string"
},
"statusName": {
"type": "string"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"boardId",
"boardName",
"statusId",
"statusName",
"isDone",
"total",
"blocked",
"color"
],
"type": "object"
},
"type": "array"
},
"done": {
"minimum": 0,
"type": "integer"
},
"remaining": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"total",
"done",
"remaining",
"blocked",
"archivedIncluded",
"byStatus",
"byExecutor"
],
"type": "object"
},
"latestAttachments": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/Attachment"
},
"maxItems": 5,
"type": "array"
},
"limit": {
"const": 5,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"latestDeliverables": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deliverable": {
"$ref": "#/components/schemas/Deliverable"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"createdAt",
"actorKind",
"actorId",
"deliverable"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"const": 10,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"latestExecutionSummary": {
"anyOf": [
{
"$ref": "#/components/schemas/ExecutionSummary"
},
{
"type": "null"
}
]
},
"nextStep": {
"type": "null"
},
"progressHistory": {
"additionalProperties": false,
"properties": {
"coverage": {
"const": "explicit_progress_events_only",
"type": "string"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"eventId": {
"format": "uuid",
"type": "string"
},
"note": {
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"source": {
"enum": [
"task.updated",
"execution.recorded"
],
"type": "string"
},
"summaryId": {
"description": "Explicit execution summary reference; absent for legacy standalone progress.",
"format": "uuid",
"type": [
"string",
"null"
]
}
},
"required": [
"eventId",
"occurredAt",
"actorKind",
"actorId",
"percent",
"note",
"source"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"limit": {
"const": 100,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated",
"coverage"
],
"type": "object"
},
"recentEvents": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/Event"
},
"maxItems": 20,
"type": "array"
},
"limit": {
"const": 20,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"task": {
"$ref": "#/components/schemas/Task"
},
"usage": {
"$ref": "#/components/schemas/TaskUsage"
}
},
"required": [
"task",
"directSubtasks",
"progressHistory",
"currentSummaryMeta",
"latestExecutionSummary",
"latestDeliverables",
"latestAttachments",
"recentEvents",
"nextStep",
"decisions",
"usage"
],
"type": "object"
},
"TaskPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Task"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskParticipant": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"agentArchived": {
"type": "boolean"
},
"agentDeleted": {
"type": "boolean"
},
"agentName": {
"type": [
"string",
"null"
]
}
},
"required": [
"actorKind",
"actorId",
"agentName",
"agentArchived",
"agentDeleted"
],
"type": "object"
},
"TaskParticipantPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskParticipant"
},
"type": "array"
},
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskSpecification": {
"description": "Markdown text preserved without rendering/conversion. Defines delivery, requirements, rules and acceptance criteria. Independent of the short description, execution plan and current synthesis. Empty means not yet defined; null is not accepted.",
"type": "string",
"x-maxBytes": 65536
},
"TaskUsage": {
"additionalProperties": false,
"properties": {
"coverage": {
"$ref": "#/components/schemas/UsageCoverage"
},
"estimatedTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"harnesses": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"knownTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"measuredComponents": {
"$ref": "#/components/schemas/UsageDelta"
},
"models": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"recordedSessionUsage": {
"$ref": "#/components/schemas/RecordedSessionUsage"
},
"timeline": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/SummaryUsageTimelineItem"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
}
},
"required": [
"knownTotalTokens",
"estimatedTotalTokens",
"measuredComponents",
"coverage",
"models",
"harnesses",
"timeline"
],
"type": "object"
},
"TaskWorkScope": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"$ref": "#/components/schemas/WorkProject"
},
"maxItems": 100,
"type": "array"
},
"repositories": {
"items": {
"$ref": "#/components/schemas/WorkRepository"
},
"maxItems": 100,
"type": "array"
},
"status": {
"enum": [
"identified",
"to_identify",
"not_applicable"
]
}
},
"required": [
"status",
"projects",
"repositories"
],
"type": "object"
},
"TaskWorkScopeInput": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"$ref": "#/components/schemas/WorkProjectInput"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"projects"
],
"type": "object"
},
"TimelinePoint": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"sequence": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/EventType"
}
},
"required": [
"id",
"taskId",
"type",
"occurredAt",
"sequence"
],
"type": "object"
},
"TimelinePointPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TimelinePoint"
},
"type": "array"
},
"limit": {
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"UploadAttachment": {
"additionalProperties": false,
"properties": {
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"file": {
"description": "Bytes, maximum 20 MiB.",
"format": "binary",
"type": "string",
"x-maxBytes": 20971520
}
},
"required": [
"file"
],
"type": "object"
},
"UsageCoverage": {
"additionalProperties": false,
"properties": {
"baselineEntries": {
"minimum": 0,
"type": "integer"
},
"duplicateEntries": {
"minimum": 0,
"type": "integer"
},
"entries": {
"minimum": 0,
"type": "integer"
},
"estimatedEntries": {
"minimum": 0,
"type": "integer"
},
"measuredEntries": {
"minimum": 0,
"type": "integer"
},
"missingSummaries": {
"minimum": 0,
"type": "integer"
},
"reportedSummaries": {
"minimum": 0,
"type": "integer"
},
"totalSummaries": {
"minimum": 0,
"type": "integer"
},
"unallocatedEntries": {
"minimum": 0,
"type": "integer"
},
"unavailableEntries": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"totalSummaries",
"reportedSummaries",
"missingSummaries",
"entries",
"measuredEntries",
"estimatedEntries",
"unavailableEntries",
"baselineEntries",
"duplicateEntries",
"unallocatedEntries"
],
"type": "object"
},
"UsageDelta": {
"additionalProperties": false,
"properties": {
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"totalTokens"
],
"type": "object"
},
"UsageDimension": {
"additionalProperties": false,
"properties": {
"harness": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"provider",
"modelId",
"harness"
],
"type": "object"
},
"UsageDimensionPage": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"UsageEntry": {
"additionalProperties": false,
"properties": {
"canonicalSummaryId": {
"format": "uuid",
"type": "string"
},
"counted": {
"type": "boolean"
},
"coverageReason": {
"enum": [
"baseline_or_unavailable",
"duplicate_reference",
"attributed",
"shared_or_unallocated"
],
"type": "string"
},
"delta": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageDelta"
},
{
"type": "null"
}
]
},
"evidenceKey": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"observation": {
"$ref": "#/components/schemas/UsageObservation"
},
"reportRevision": {
"minimum": 1,
"type": "integer"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
}
},
"required": [
"id",
"reportedAt",
"reportingActor",
"reportRevision",
"observation",
"evidenceKey",
"canonicalSummaryId",
"delta",
"counted",
"coverageReason"
],
"type": "object"
},
"UsageObservation": {
"additionalProperties": false,
"description": "Historical/general evidence schema. New summaries use SessionUsageObservation; legacy/late evidence can retain partial or unavailable observations. No transcripts or secrets.",
"properties": {
"actor": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"id": {
"type": "null"
},
"kind": {
"const": "human"
}
},
"required": [
"kind",
"id"
],
"type": "object"
}
]
},
"actorRole": {
"enum": [
"leader",
"worker",
"human",
"unknown"
],
"type": "string"
},
"attribution": {
"enum": [
"exact",
"shared",
"unallocated"
],
"type": "string"
},
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"discovery": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"attempts": {
"items": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason",
"attempts"
],
"type": "object"
},
{
"type": "null"
}
]
},
"epoch": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harness": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harnessVersion": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"observedAt": {
"format": "date-time",
"type": "string"
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"periodEnd": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"periodStart": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"previousEvidenceId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"quality": {
"enum": [
"measured",
"estimated",
"unavailable"
],
"type": "string"
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reportKind": {
"enum": [
"cumulative_snapshot",
"period_delta",
"unavailable"
],
"type": "string"
},
"scope": {
"enum": [
"request",
"session",
"session_tree"
],
"type": "string"
},
"sessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"surface": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Explicit inclusive input+output cumulative total. Required for new summaries; optional in legacy evidence. Never add cache/reasoning twice or sum successive snapshots."
}
},
"required": [
"source",
"harness",
"surface",
"harnessVersion",
"sessionId",
"epoch",
"evidenceId",
"previousEvidenceId",
"actor",
"actorRole",
"provider",
"modelId",
"scope",
"reportKind",
"quality",
"attribution",
"observedAt",
"periodStart",
"periodEnd",
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"discovery"
],
"type": "object"
},
"UsageObservedStatus": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"isDone": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"isDone"
],
"type": "object"
},
"WorkProject": {
"additionalProperties": false,
"properties": {
"discovery": {
"$ref": "#/components/schemas/ProjectGitDiscovery"
},
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"WorkProjectInput": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"WorkRepository": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"projectKeys": {
"items": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"provider": {
"enum": [
"github",
"gitlab",
"other"
]
},
"remoteUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"webUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"key",
"name",
"remoteUrl",
"webUrl",
"provider",
"projectKeys"
],
"type": "object"
}
}
},
"dependentRequired": {
"progress": [
"currentSummary"
]
},
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"block": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": true
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": false
},
"reason": {
"type": "null"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
}
]
},
"comment": {
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"currentSummary": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"subtaskUpdates": {
"items": {
"additionalProperties": false,
"dependentRequired": {
"progress": [
"currentSummary"
]
},
"properties": {
"block": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": true
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": false
},
"reason": {
"type": "null"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
}
]
},
"comment": {
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"currentSummary": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"expectedVersion"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"expectedVersion",
"actor",
"idempotencyKey"
],
"type": "object"
}close_activity · Write
Record the activity result, evidence and optional review in one transaction.
Required top-level fields: taskId expectedVersion actor idempotencyKey execution .
Original contract and full input schema
Optional execution.executionTracking records explicit start/checkpoint/pause/resume/finish; return IDs and consult listOpenExecutionIntervals before resumption. Boundaries and status share one transaction; paused finish has empty evidenceIds and no paused consumption. See beeteam://references/execution-intervals for success/conflict/recovery examples. Atomically record optional block/comment and cumulative execution.currentSummary and historical execution summary, deliverables, pending work, status and optional review. Does not require task completion. Task status changes require this summary or createExecutionSummary. Every new execution requires usageReport.entries measured cumulative_snapshot session/session_tree evidence with identified modelId, actor.kind=agent and persisted UUIDv7, and non-null decimal-string totalTokens equal to inclusive inputTokens+outputTokens. Cache/reasoning are subsets, never added again. This is the session/epoch/model/actor accumulation through observedAt, not task-exclusive consumption. First real snapshot is an accepted baseline with previousEvidenceId null and delta null. Subsequent comparable snapshots reference the latest checkpoint; repeated evidence is deduplicated. Never sum snapshots or overlapping tree/child totals. Collect fresh counters from actual permitted harnesses: Codex App Server/exec, Copilot SDK/CLI/VS Code telemetry, Claude SDK/OTel or authorized Cursor usage exports; verify models and surface/version semantics. Kiro credits/context do not establish tokens. No unavailable, estimated, null model or fabricated zero for new summaries; use a comment to report collection failure. Historical records, late evidence and exact legacy replays remain valid. statusObserved is server-owned. unknown metadata and discovery.attempts cannot replace the required measurement. Every new summary also requires commitReport: hasCommits=false with commits=[] or hasCommits=true with repositoryKey, explicit named/detached/unknown branch, full hash and availability per reference. Resolve repositories from task.workScope. Never fabricate a commit. Local/unknown commits have no remote link; published links require remoteVerifiedAt and explicit GitHub/GitLab webUrl matching the hash. Legacy omission is not false; exact saved replays remain valid. See beeteam://references/repository-evidence.
{
"additionalProperties": false,
"components": {
"parameters": {
"ActorId": {
"description": "UUIDv7 of the declared agent when actorKind=agent; absent with human. Not proof of identity. Task creation separately requires authorAgentId.",
"in": "header",
"name": "X-Actor-Id",
"required": false,
"schema": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"ActorKind": {
"description": "Declared authorship; no authentication or proof of identity.",
"in": "header",
"name": "X-Actor-Kind",
"required": true,
"schema": {
"enum": [
"human",
"agent"
],
"type": "string"
}
},
"IdempotencyKey": {
"description": "Retry for 24h bound to route, declared authorship context and request hash. The same key/content returns the original response; different content returns 409.",
"in": "header",
"name": "Idempotency-Key",
"required": true,
"schema": {
"description": "Request key, not a persisted entity ID; any UUID version.",
"format": "uuid",
"type": "string"
}
},
"IfMatch": {
"description": "Strong ETag of the target entity; for content commands, the task; for status ordering, the board.",
"in": "header",
"name": "If-Match",
"required": true,
"schema": {
"examples": [
"\"1\""
],
"pattern": "^\"[1-9][0-9]*\"$",
"type": "string"
}
},
"Limit": {
"description": "Maximum items per page; out-of-range values are rejected, not truncated.",
"in": "query",
"name": "limit",
"required": false,
"schema": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"Offset": {
"description": "Offset beyond the total returns empty items.",
"in": "query",
"name": "offset",
"required": false,
"schema": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
}
},
"ParentIfMatch": {
"description": "Required when parentId is non-null: parent ETag. Absence returns 428.",
"in": "header",
"name": "If-Match",
"required": false,
"schema": {
"pattern": "^\"[1-9][0-9]*\"$",
"type": "string"
}
}
},
"responses": {
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "invalid_request; invalid_actor_context"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "not_found"
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "Structural conflict, composition version conflict, archived/in-use resource, idempotency conflict or incompatible execution context; not authentication."
},
"412": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "version_conflict"
},
"413": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "payload_too_large"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "unsupported_media_type"
},
"428": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "version_required"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "internal_error"
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "storage_unavailable"
}
},
"schemas": {
"ApprovalCoordinationContext": {
"additionalProperties": false,
"description": "Without execution context, require approval/manual mode. Does not grant global autonomy.",
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
"Archive": {
"additionalProperties": false,
"properties": {
"archived": {
"type": "boolean"
}
},
"required": [
"archived"
],
"type": "object"
},
"Assignment": {
"additionalProperties": false,
"description": "A new executor agent is required, never null. The user may transfer responsibility. Preserves author, task history and execution context; does not copy the previous executor's internal history. No team restriction.",
"properties": {
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"executorAgentId",
"coordinationContext"
],
"type": "object"
},
"Attachment": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"mediaType": {
"type": "string"
},
"originalName": {
"type": "string"
},
"sizeBytes": {
"minimum": 0,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"id",
"taskId",
"originalName",
"mediaType",
"sizeBytes",
"description",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"AttachmentPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Attachment"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Block": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": true
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": false
},
"reason": {
"type": "null"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
}
]
},
"Board": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"createdBy": {
"$ref": "#/components/schemas/DeclaredActor"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"lastManagementChange": {
"description": "Latest transfer event; complete append-only log is preserved. Null before the first transfer.",
"oneOf": [
{
"$ref": "#/components/schemas/BoardManagementChange"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"deletedAt",
"autonomyMode",
"createdBy",
"teamId",
"lastManagementChange"
],
"type": "object"
},
"BoardAutonomyMode": {
"default": "manual",
"description": "manual = fully manual; standard = default behavior respecting each task's individual flag; automatic = fully automatic. Initial default is manual, distinct from the name standard.",
"enum": [
"manual",
"standard",
"automatic"
],
"type": "string"
},
"BoardCreated": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"createdBy": {
"$ref": "#/components/schemas/DeclaredActor"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"lastManagementChange": {
"description": "Latest transfer event; complete append-only log is preserved. Null before the first transfer.",
"oneOf": [
{
"$ref": "#/components/schemas/BoardManagementChange"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"statuses": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"name",
"description",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"statuses",
"deletedAt",
"autonomyMode",
"createdBy",
"teamId",
"lastManagementChange"
],
"type": "object"
},
"BoardManagementChange": {
"additionalProperties": false,
"properties": {
"actor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"deletedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"previousTeamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": {
"const": "board.management_changed",
"type": "string"
}
},
"required": [
"id",
"boardId",
"type",
"previousTeamId",
"teamId",
"actor",
"occurredAt",
"deletedAt"
],
"type": "object"
},
"BoardPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Board"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"BoardView": {
"additionalProperties": false,
"description": "Column projection of the board administered by its managing team. Tasks do not belong to the team. A child task's execution context may originate on another board.",
"properties": {
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"columns": {
"items": {
"$ref": "#/components/schemas/BoardViewColumn"
},
"type": "array"
}
},
"required": [
"boardId",
"columns"
],
"type": "object"
},
"BoardViewColumn": {
"additionalProperties": false,
"description": "First column page (tasks instead of items), offset=0, limit=limitPerColumn. All active columns are returned, including empty ones.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"status": {
"$ref": "#/components/schemas/Status"
},
"tasks": {
"items": {
"$ref": "#/components/schemas/Task"
},
"type": "array"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"status",
"tasks",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Comment": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"body": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"id",
"taskId",
"body",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"CommentPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Comment"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"CommitBranch": {
"additionalProperties": false,
"properties": {
"name": {
"anyOf": [
{
"maxLength": 1024,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"enum": [
"named",
"detached",
"unknown"
]
}
},
"required": [
"state",
"name"
],
"type": "object"
},
"CommitReference": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"$ref": "#/components/schemas/CommitBranch"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repository": {
"$ref": "#/components/schemas/WorkRepository"
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl",
"repository"
],
"type": "object"
},
"CommitReferenceInput": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"$ref": "#/components/schemas/CommitBranch"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl"
],
"type": "object"
},
"CommitReport": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"$ref": "#/components/schemas/CommitReference"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"CommitReportInput": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"$ref": "#/components/schemas/CommitReferenceInput"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"CoordinationContext": {
"description": "mode must match the effective execution-context mode. Manual requires an approval reference; automatic does not request new coordination approval within scope. References are not authentication.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "automatic"
}
},
"required": [
"mode",
"conversationRef"
],
"type": "object"
}
]
},
"CreateBoard": {
"additionalProperties": false,
"description": "Create a board with a required managing teamId and preserved declared creator. A team may manage multiple boards. Tasks do not inherit team membership. Initial autonomyMode is manual.",
"properties": {
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"statuses": {
"items": {
"$ref": "#/components/schemas/StatusInput"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"name",
"teamId"
],
"type": "object"
},
"CreateComment": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
}
},
"required": [
"body"
],
"type": "object"
},
"CreatePlan": {
"additionalProperties": false,
"properties": {
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"title",
"content"
],
"type": "object"
},
"CreateTask": {
"additionalProperties": false,
"description": "Author and executor are required; parentId is optional. A child may use another board and executor. No fixed depth limit; reject self-reference and cycles. A root uses its own id and boardId as rootTaskId and originBoardId; children follow their parent's context. PATCH cannot change parentId or boardId. Link existing tasks with linkTaskToParent; boardId remains immutable.",
"properties": {
"authorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"executorAgentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScopeInput"
}
},
"required": [
"workScope",
"title",
"coordinationContext",
"authorAgentId",
"executorAgentId"
],
"type": "object"
},
"CurrentSummary": {
"description": "Current cumulative synthesis authored by the worker (completed work, current work and pending items/next step). Empty means not yet provided. Never inferred from description, progress note or history.",
"type": "string",
"x-maxBytes": 16384
},
"CurrentSummaryInput": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"DeclaredActor": {
"description": "Creator declared in the request. human identifies the local user; agent uses a persisted ID. Identity is not verified.",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"actorId": {
"type": "null"
},
"actorKind": {
"const": "human"
}
},
"required": [
"actorKind",
"actorId"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"actorKind": {
"const": "agent"
}
},
"required": [
"actorKind",
"actorId"
],
"type": "object"
}
]
},
"Deliverable": {
"additionalProperties": false,
"not": {
"required": [
"attachmentId",
"url"
]
},
"properties": {
"attachmentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"url": {
"format": "uri",
"pattern": "^https?://",
"type": "string"
}
},
"required": [
"label"
],
"type": "object"
},
"Error": {
"additionalProperties": false,
"properties": {
"code": {
"enum": [
"invalid_request",
"coordination_context_required",
"coordination_mode_mismatch",
"not_found",
"archived_resource",
"status_in_use",
"summary_required",
"task_blocked",
"revision_conflict",
"idempotency_conflict",
"duplicate_status",
"version_conflict",
"version_required",
"payload_too_large",
"unsupported_media_type",
"internal_error",
"storage_unavailable",
"invalid_actor_context",
"usage_attribution_conflict",
"usage_policy_conflict",
"parent_cycle",
"active_execution_interval",
"execution_context_mismatch"
],
"type": "string"
},
"details": {
"additionalProperties": true,
"type": "object"
},
"error": {
"type": "string"
}
},
"required": [
"error",
"code",
"details"
],
"type": "object"
},
"Event": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"data": {
"additionalProperties": true,
"description": "Relevant previous/new values and related IDs. comment.created includes commentId without duplicating the body.",
"type": "object"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"sequence": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/EventType"
}
},
"required": [
"id",
"sequence",
"taskId",
"type",
"actorId",
"occurredAt",
"data",
"deletedAt",
"actorKind"
],
"type": "object"
},
"EventPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Event"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"EventType": {
"enum": [
"task.created",
"task.updated",
"assignment.changed",
"position.changed",
"block.changed",
"plan.created",
"plan.revised",
"comment.created",
"attachment.added",
"attachment.removed",
"execution.recorded",
"task.archived",
"task.restored",
"subtask.created",
"task.parent_changed"
],
"type": "string"
},
"ExecutionContextRef": {
"additionalProperties": false,
"description": "Identifies the chain's origin. Persisted/derived by the server from the root task, never replaced by the destination board.",
"properties": {
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"rootTaskId",
"originBoardId"
],
"type": "object"
},
"ExecutionCounterSegment": {
"additionalProperties": false,
"properties": {
"complete": {
"type": "boolean"
},
"delta": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageDelta"
},
{
"type": "null"
}
]
},
"latest": {
"$ref": "#/components/schemas/UsageEntry"
},
"latestSummaryId": {
"format": "uuid",
"type": "string"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"start": {
"$ref": "#/components/schemas/UsageEntry"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"start",
"latest",
"startSummaryId",
"latestSummaryId",
"delta",
"complete",
"reason"
],
"type": "object"
},
"ExecutionIntervalCounter": {
"additionalProperties": false,
"properties": {
"counterKey": {
"type": "string"
},
"incomplete": {
"type": "boolean"
},
"missingBoundary": {
"type": "boolean"
},
"segments": {
"items": {
"$ref": "#/components/schemas/ExecutionCounterSegment"
},
"type": "array"
}
},
"required": [
"counterKey",
"incomplete",
"segments"
],
"type": "object"
},
"ExecutionResult": {
"additionalProperties": false,
"properties": {
"executionSummary": {
"$ref": "#/components/schemas/ExecutionSummary"
},
"task": {
"$ref": "#/components/schemas/Task"
}
},
"required": [
"executionSummary",
"task"
],
"type": "object"
},
"ExecutionSummary": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"commitReport": {
"$ref": "#/components/schemas/CommitReport"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"deliverables": {
"items": {
"$ref": "#/components/schemas/Deliverable"
},
"type": "array"
},
"executionContext": {
"$ref": "#/components/schemas/ExecutionContextRef"
},
"executionTracking": {
"$ref": "#/components/schemas/ExecutionTrackingResult"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"reviewContext": {
"anyOf": [
{
"$ref": "#/components/schemas/ReviewContext"
},
{
"type": "null"
}
]
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"usageReport": {
"anyOf": [
{
"$ref": "#/components/schemas/SummaryUsageReport"
},
{
"type": "null"
}
]
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"reviewContext",
"id",
"taskId",
"actorId",
"createdAt",
"deletedAt",
"actorKind",
"executionContext"
],
"type": "object"
},
"ExecutionSummaryPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/ExecutionSummary"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"ExecutionTrackingInput": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceIds": {
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"type": "array",
"uniqueItems": true
},
"executionId": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"action",
"evidenceIds"
],
"type": "object"
},
"ExecutionTrackingResult": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"executionId": {
"format": "uuid",
"type": "string"
},
"executionState": {
"enum": [
"active",
"paused",
"finished"
]
},
"intervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"intervalState": {
"anyOf": [
{
"enum": [
"open",
"closed",
"incomplete",
"invalid"
]
},
{
"type": "null"
}
]
}
},
"required": [
"action",
"executionId",
"intervalId",
"executionState",
"intervalState"
],
"type": "object"
},
"IntervalEvidenceReference": {
"additionalProperties": false,
"properties": {
"evidenceId": {
"minLength": 1,
"type": "string"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"evidenceId"
],
"type": "object"
},
"LinkTaskToParent": {
"additionalProperties": false,
"properties": {
"coordinationContext": {
"$ref": "#/components/schemas/CoordinationContext"
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"parentVersion": {
"minimum": 1,
"type": "integer"
},
"previousParentVersion": {
"description": "Required only when the task already has a parent, including unchanged-parent requests.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"parentId",
"parentVersion",
"coordinationContext"
],
"type": "object"
},
"PatchBoard": {
"additionalProperties": false,
"description": "Edit metadata, mode and/or managing teamId. Uses the board If-Match. A valid transfer records board.management_changed and the new teamId atomically; it does not change creator, task authors/executors, parentId, originBoardId or history. Supplying the current teamId creates no transfer event.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"autonomyMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"teamId": {
"description": "Managing team of the board; may change without altering creator, tasks, executors, hierarchy or history.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [],
"type": "object"
},
"PatchStatus": {
"additionalProperties": false,
"description": "An in-use status cannot be archived or change isDone. Its name may change.",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"isDone": {
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [],
"type": "object"
},
"PatchTask": {
"additionalProperties": false,
"dependentRequired": {
"progress": [
"currentSummary"
]
},
"description": "Edit content/progress, currentSummary and individual mode without changing authorAgentId/boardId/parentId. Progress requires a nonempty currentSummary in the same call; administrative changes preserve it when omitted. Reassignment uses Assignment. manual/automatic modes do not propagate to children; effective mode uses the chain's origin board.",
"minProperties": 1,
"properties": {
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScopeInput"
}
},
"required": [],
"type": "object"
},
"PlanRevision": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"changeSummary": {
"type": [
"string",
"null"
]
},
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"planId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"revision": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"id",
"planId",
"taskId",
"title",
"revision",
"content",
"changeSummary",
"actorId",
"createdAt",
"deletedAt",
"actorKind"
],
"type": "object"
},
"PlanRevisionPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlanRevision"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"Position": {
"additionalProperties": false,
"description": "Before must be a sibling in the same column. Null moves to the end. statusId must remain the current status, including a final status; any change returns 409 summary_required even with currentSummary. Change status by recording execution-summaries or close_activity with a complete execution. Reordering within the same status preserves the current summary when omitted.",
"properties": {
"beforeTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"statusId",
"beforeTaskId"
],
"type": "object"
},
"Progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"ProjectGitDiscovery": {
"additionalProperties": false,
"properties": {
"branch": {
"anyOf": [
{
"$ref": "#/components/schemas/CommitBranch"
},
{
"type": "null"
}
]
},
"checkedAt": {
"format": "date-time",
"type": "string"
},
"checkoutRoot": {
"type": [
"string",
"null"
]
},
"commonDirectory": {
"type": [
"string",
"null"
]
},
"gitDirectory": {
"type": [
"string",
"null"
]
},
"headHash": {
"type": [
"string",
"null"
]
},
"isWorktree": {
"type": [
"boolean",
"null"
]
},
"reason": {
"enum": [
null,
"path_unavailable",
"git_unavailable",
"timeout",
"output_limit",
"inspection_failed"
]
},
"remotes": {
"items": {
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"url"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"repositoryKey": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"detected",
"not_git",
"unavailable"
]
}
},
"required": [
"status",
"reason",
"checkedAt",
"checkoutRoot",
"gitDirectory",
"commonDirectory",
"isWorktree",
"branch",
"headHash",
"repositoryKey",
"remotes"
],
"type": "object"
},
"ReconcileExecutionInterval": {
"additionalProperties": false,
"properties": {
"endEvidence": {
"items": {
"$ref": "#/components/schemas/IntervalEvidenceReference"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
},
"invalidate": {
"type": "boolean"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
},
"startEvidence": {
"items": {
"$ref": "#/components/schemas/IntervalEvidenceReference"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"reason"
],
"type": "object"
},
"RecordExecution": {
"additionalProperties": false,
"description": "Completed requires a final status and no block, and sets progress to 100. Other outcomes require a nonfinal status; blocked requires an existing block. Review follows the user's instructions, with no universally required review stage. The supplied context must match the task chain, including cross-board origin; a mismatch returns 409 execution_context_mismatch. currentSummary is the required current cumulative synthesis, saved atomically on the task; summary remains the historical record of this activity.",
"properties": {
"commitReport": {
"$ref": "#/components/schemas/CommitReportInput"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummaryInput"
},
"deliverables": {
"items": {
"$ref": "#/components/schemas/Deliverable"
},
"type": "array"
},
"executionContext": {
"$ref": "#/components/schemas/ExecutionContextRef"
},
"executionTracking": {
"$ref": "#/components/schemas/ExecutionTrackingInput"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"reviewContext": {
"$ref": "#/components/schemas/ReviewContext"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"usageReport": {
"$ref": "#/components/schemas/SessionUsageInput"
}
},
"required": [
"commitReport",
"usageReport",
"currentSummary",
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"executionContext"
],
"type": "object"
},
"RecordedSessionUsage": {
"additionalProperties": false,
"description": "Stored canonical deltas from cumulative session checkpoints, irrespective of task attribution. Not an additional task total; never add to knownTotalTokens. Baselines and duplicate references contribute no tokens; missing totals remain null. Sessions count distinct source/sessionId pairs. Excludes request and session_tree scopes. Totals are decimal strings, computed across all pages with up to 128-bit precision.",
"properties": {
"coverage": {
"additionalProperties": false,
"properties": {
"baselineEntries": {
"minimum": 0,
"type": "integer"
},
"deltaEntries": {
"minimum": 0,
"type": "integer"
},
"duplicateEntries": {
"minimum": 0,
"type": "integer"
},
"sessions": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"sessions",
"baselineEntries",
"deltaEntries",
"duplicateEntries"
],
"type": "object"
},
"estimatedTotalTokens": {
"pattern": "^(0|[1-9][0-9]{0,38})$",
"type": [
"string",
"null"
]
},
"measuredTotalTokens": {
"pattern": "^(0|[1-9][0-9]{0,38})$",
"type": [
"string",
"null"
]
}
},
"required": [
"measuredTotalTokens",
"estimatedTotalTokens",
"coverage"
],
"type": "object"
},
"ReviewContext": {
"additionalProperties": false,
"description": "Review guidance in the conversation; does not by itself prove consent.",
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"instructionRef": {
"minLength": 1,
"type": "string"
},
"reviewerType": {
"enum": [
"user",
"team_leader"
],
"type": "string"
}
},
"required": [
"reviewerType",
"conversationRef",
"instructionRef"
],
"type": "object"
},
"RevisePlan": {
"additionalProperties": false,
"properties": {
"baseRevision": {
"minimum": 1,
"type": "integer"
},
"changeSummary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"content": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
}
},
"required": [
"content",
"changeSummary",
"baseRevision"
],
"type": "object"
},
"SessionUsageInput": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/SessionUsageObservation"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
},
"SessionUsageObservation": {
"allOf": [
{
"$ref": "#/components/schemas/UsageObservation"
},
{
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
"inputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"modelId": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"outputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"quality": {
"const": "measured"
},
"reportKind": {
"const": "cumulative_snapshot"
},
"scope": {
"enum": [
"session",
"session_tree"
]
},
"totalTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
}
},
"required": [
"totalTokens"
],
"type": "object"
}
],
"description": "New-summary measured cumulative usage through observedAt for the declared session/epoch/model/actor. First snapshot is accepted with previousEvidenceId null and no delta. Total must equal inclusive input+output. Not exclusive task consumption. Multiple disjoint counters remain separate; never sum checkpoints or overlapping tree/child/model totals."
},
"Slug": {
"description": "Generated URL identifier, lowercase ASCII, stable across renames and unique per type including deleted records. Collisions use -2/-3; clients cannot write it.",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
},
"SlugResolution": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"slug": {
"$ref": "#/components/schemas/Slug"
}
},
"required": [
"id",
"slug"
],
"type": "object"
},
"Status": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"isDone": {
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"position": {
"minimum": 0,
"type": "integer"
},
"version": {
"minimum": 1,
"type": "integer"
}
},
"required": [
"id",
"boardId",
"name",
"isDone",
"position",
"archivedAt",
"version",
"deletedAt"
],
"type": "object"
},
"StatusInput": {
"additionalProperties": false,
"properties": {
"isDone": {
"default": false,
"type": "boolean"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"StatusList": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"StatusOrder": {
"additionalProperties": false,
"description": "All active statuses exactly once.",
"properties": {
"statusIds": {
"items": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"required": [
"statusIds"
],
"type": "object"
},
"StatusOrderResult": {
"additionalProperties": false,
"properties": {
"boardVersion": {
"minimum": 1,
"type": "integer"
},
"items": {
"items": {
"$ref": "#/components/schemas/Status"
},
"type": "array"
}
},
"required": [
"items",
"boardVersion"
],
"type": "object"
},
"SummaryUsageInput": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/UsageObservation"
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
},
"SummaryUsageReport": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"$ref": "#/components/schemas/UsageEntry"
},
"maxItems": 256,
"type": "array"
},
"reconciledAt": {
"format": "date-time",
"type": "string"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"revision": {
"minimum": 1,
"type": "integer"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
}
},
"required": [
"reportedAt",
"statusObserved",
"reportingActor",
"revision",
"entries"
],
"type": "object"
},
"SummaryUsageTimelineItem": {
"additionalProperties": false,
"properties": {
"recordedSessionUsage": {
"$ref": "#/components/schemas/RecordedSessionUsage"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"statusObserved": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageObservedStatus"
},
{
"type": "null"
}
]
},
"summaryId": {
"format": "uuid",
"type": "string"
},
"usageReport": {
"anyOf": [
{
"$ref": "#/components/schemas/SummaryUsageReport"
},
{
"type": "null"
}
]
}
},
"required": [
"summaryId",
"reportedAt",
"reportingActor",
"statusObserved",
"usageReport"
],
"type": "object"
},
"Task": {
"additionalProperties": false,
"description": "Recursive task with required author and executor, both agents. parentId references another Task without a fixed depth limit; board and executor may differ from the parent. No team ownership. Author/history are preserved after reassignment/agent transfer. Checklist is a projection of children.",
"properties": {
"archivedAt": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"authorAgentId": {
"description": "Required, immutable author/owner: the agent that wrote the task. Independent of the declared actor submitting the request.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"autonomyMode": {
"$ref": "#/components/schemas/TaskAutonomyMode"
},
"block": {
"$ref": "#/components/schemas/Block"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"childSummary": {
"additionalProperties": false,
"properties": {
"done": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"total",
"done"
],
"type": "object"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"currentSummary": {
"$ref": "#/components/schemas/CurrentSummary"
},
"deletedAt": {
"description": "Soft deletion: corresponds to deleted_at in PostgreSQL; does not physically remove data.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"executionContext": {
"$ref": "#/components/schemas/TaskExecutionContext"
},
"executorAgentId": {
"description": "Required executor, reassignable by the user without a team restriction.",
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"latestExecutionSummaryId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"parentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": [
"string",
"null"
]
},
"parentReference": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"slug": {
"$ref": "#/components/schemas/Slug"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title",
"slug"
],
"type": "object"
},
{
"type": "null"
}
],
"description": "Compact parent reference, including a parent on another board; null for a root. Additive read-only field, without changing parentId."
},
"position": {
"description": "Opaque rank generated by the server.",
"type": "string"
},
"progress": {
"$ref": "#/components/schemas/Progress"
},
"slug": {
"$ref": "#/components/schemas/Slug"
},
"specification": {
"$ref": "#/components/schemas/TaskSpecification"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 1,
"type": "integer"
},
"workScope": {
"$ref": "#/components/schemas/TaskWorkScope"
}
},
"required": [
"slug",
"id",
"boardId",
"parentId",
"title",
"description",
"specification",
"executorAgentId",
"statusId",
"position",
"currentSummary",
"progress",
"block",
"childSummary",
"latestExecutionSummaryId",
"archivedAt",
"version",
"createdAt",
"updatedAt",
"deletedAt",
"autonomyMode",
"executionContext",
"authorAgentId"
],
"type": "object"
},
"TaskAutonomyMode": {
"default": "manual",
"description": "Individual task mode, used only when the context's origin board is in standard mode.",
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"TaskExecution": {
"additionalProperties": false,
"properties": {
"activeIntervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageRootSessionId": {
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endSummaryId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"format": "uuid",
"type": "string"
},
"identity": {
"items": {},
"type": "array"
},
"scope": {
"type": "string"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
},
"state": {
"enum": [
"active",
"paused",
"finished"
]
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"agentId",
"source",
"sessionId",
"coverageRootSessionId",
"scope",
"identity",
"counterMode",
"state",
"startSummaryId",
"endSummaryId",
"activeIntervalId"
],
"type": "object"
},
"TaskExecutionContext": {
"additionalProperties": false,
"description": "The root task's origin board governs the entire recursive chain, including cross-board descendants. originBoardMode=manual forces effectiveMode=manual; automatic forces automatic; standard uses only the current task's autonomyMode. Do not inherit the parent flag or consult the destination board mode. Do not modify persisted settings. rootTaskId/originBoardId are derived from the chain and carried by the harness; the server does not execute tasks.",
"properties": {
"effectiveMode": {
"enum": [
"manual",
"automatic"
],
"type": "string"
},
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"originBoardMode": {
"$ref": "#/components/schemas/BoardAutonomyMode"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"readOnly": true,
"required": [
"rootTaskId",
"originBoardId",
"originBoardMode",
"effectiveMode"
],
"type": "object"
},
"TaskExecutionInterval": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"counterMode": {
"type": "string"
},
"counters": {
"items": {
"$ref": "#/components/schemas/ExecutionIntervalCounter"
},
"type": "array"
},
"coverage": {
"enum": [
"open",
"complete",
"incomplete",
"invalid"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endObservedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endReceivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"endSummaryId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"executionId": {
"format": "uuid",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"latestObservedAt": {
"format": "date-time",
"type": "string"
},
"models": {
"items": {
"type": "string"
},
"type": "array"
},
"observedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"partialTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"revision": {
"minimum": 0,
"type": "integer"
},
"scope": {
"type": "string"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"startObservedAt": {
"format": "date-time",
"type": "string"
},
"startReceivedAt": {
"format": "date-time",
"type": "string"
},
"startSummaryId": {
"format": "uuid",
"type": "string"
},
"state": {
"enum": [
"open",
"closed",
"incomplete",
"invalid"
]
},
"taskId": {
"format": "uuid",
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"executionId",
"agentId",
"source",
"sessionId",
"coverageRootSessionId",
"scope",
"counterMode",
"state",
"startSummaryId",
"endSummaryId",
"startObservedAt",
"endObservedAt",
"latestObservedAt",
"startReceivedAt",
"endReceivedAt",
"counters",
"models",
"revision",
"reason",
"coverageLost",
"coverage",
"totalTokens",
"partialTokens",
"observedDurationMs"
],
"type": "object"
},
"TaskExecutionIntervalPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionInterval"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionIntervalRevision": {
"additionalProperties": false,
"properties": {
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"format": "uuid",
"type": "string"
},
"interval": {
"$ref": "#/components/schemas/TaskExecutionInterval"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"revision": {
"minimum": 0,
"type": "integer"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"intervalId",
"revision",
"reason",
"reportingActor",
"interval"
],
"type": "object"
},
"TaskExecutionIntervalRevisionPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionIntervalRevision"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionIntervalUsage": {
"additionalProperties": false,
"properties": {
"coverage": {
"additionalProperties": false,
"properties": {
"incompleteIntervals": {
"minimum": 0,
"type": "integer"
},
"invalidIntervals": {
"minimum": 0,
"type": "integer"
},
"openIntervals": {
"minimum": 0,
"type": "integer"
},
"totalIntervals": {
"minimum": 0,
"type": "integer"
},
"untrackedSummaries": {
"minimum": 0,
"type": "integer"
},
"validIntervals": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"totalIntervals",
"validIntervals",
"openIntervals",
"incompleteIntervals",
"invalidIntervals",
"untrackedSummaries"
],
"type": "object"
},
"elapsedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"observedDurationMs": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"partialTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
},
"validTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]*)$",
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"validTotalTokens",
"partialTotalTokens",
"observedDurationMs",
"elapsedDurationMs",
"coverage"
],
"type": "object"
},
"TaskExecutionPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecution"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskExecutionTrackingEvent": {
"additionalProperties": false,
"properties": {
"action": {
"type": "string"
},
"agentId": {
"format": "uuid",
"type": "string"
},
"archivedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deletedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"evidence": {
"items": {
"$ref": "#/components/schemas/UsageEntry"
},
"type": "array"
},
"executionId": {
"format": "uuid",
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
]
},
"models": {
"items": {
"type": "string"
},
"type": "array"
},
"observedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"receivedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
},
"sessionId": {
"type": "string"
},
"source": {
"type": "string"
},
"statusObserved": {
"$ref": "#/components/schemas/UsageObservedStatus"
},
"summaryId": {
"format": "uuid",
"type": "string"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"version": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"id",
"version",
"createdAt",
"updatedAt",
"archivedAt",
"deletedAt",
"taskId",
"executionId",
"intervalId",
"action",
"summaryId",
"statusObserved",
"reportingActor",
"observedAt",
"receivedAt",
"source",
"sessionId",
"agentId",
"models",
"evidence",
"reason"
],
"type": "object"
},
"TaskExecutionTrackingEventPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskExecutionTrackingEvent"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"nextOffset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskOverview": {
"additionalProperties": false,
"properties": {
"currentSummaryMeta": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"eventId": {
"format": "uuid",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
}
},
"required": [
"eventId",
"occurredAt",
"actorKind",
"actorId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"decisions": {
"items": {
"type": "string"
},
"maxItems": 0,
"type": "array"
},
"directSubtasks": {
"additionalProperties": false,
"properties": {
"archivedIncluded": {
"const": true,
"type": "boolean"
},
"blocked": {
"minimum": 0,
"type": "integer"
},
"byExecutor": {
"items": {
"additionalProperties": false,
"properties": {
"agentName": {
"type": [
"string",
"null"
]
},
"done": {
"minimum": 0,
"type": "integer"
},
"executorAgentId": {
"format": "uuid",
"type": "string"
},
"remaining": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"executorAgentId",
"agentName",
"total",
"done",
"remaining"
],
"type": "object"
},
"type": "array"
},
"byStatus": {
"items": {
"additionalProperties": false,
"properties": {
"blocked": {
"minimum": 0,
"type": "integer"
},
"boardId": {
"format": "uuid",
"type": "string"
},
"boardName": {
"type": [
"string",
"null"
]
},
"color": {
"type": "null"
},
"isDone": {
"type": "boolean"
},
"statusId": {
"format": "uuid",
"type": "string"
},
"statusName": {
"type": "string"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"boardId",
"boardName",
"statusId",
"statusName",
"isDone",
"total",
"blocked",
"color"
],
"type": "object"
},
"type": "array"
},
"done": {
"minimum": 0,
"type": "integer"
},
"remaining": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"total",
"done",
"remaining",
"blocked",
"archivedIncluded",
"byStatus",
"byExecutor"
],
"type": "object"
},
"latestAttachments": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/Attachment"
},
"maxItems": 5,
"type": "array"
},
"limit": {
"const": 5,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"latestDeliverables": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"deliverable": {
"$ref": "#/components/schemas/Deliverable"
},
"summaryId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"summaryId",
"createdAt",
"actorKind",
"actorId",
"deliverable"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"limit": {
"const": 10,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"latestExecutionSummary": {
"anyOf": [
{
"$ref": "#/components/schemas/ExecutionSummary"
},
{
"type": "null"
}
]
},
"nextStep": {
"type": "null"
},
"progressHistory": {
"additionalProperties": false,
"properties": {
"coverage": {
"const": "explicit_progress_events_only",
"type": "string"
},
"items": {
"items": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"eventId": {
"format": "uuid",
"type": "string"
},
"note": {
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"source": {
"enum": [
"task.updated",
"execution.recorded"
],
"type": "string"
},
"summaryId": {
"description": "Explicit execution summary reference; absent for legacy standalone progress.",
"format": "uuid",
"type": [
"string",
"null"
]
}
},
"required": [
"eventId",
"occurredAt",
"actorKind",
"actorId",
"percent",
"note",
"source"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"limit": {
"const": 100,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated",
"coverage"
],
"type": "object"
},
"recentEvents": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/Event"
},
"maxItems": 20,
"type": "array"
},
"limit": {
"const": 20,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"limit",
"truncated"
],
"type": "object"
},
"task": {
"$ref": "#/components/schemas/Task"
},
"usage": {
"$ref": "#/components/schemas/TaskUsage"
}
},
"required": [
"task",
"directSubtasks",
"progressHistory",
"currentSummaryMeta",
"latestExecutionSummary",
"latestDeliverables",
"latestAttachments",
"recentEvents",
"nextStep",
"decisions",
"usage"
],
"type": "object"
},
"TaskPage": {
"additionalProperties": false,
"description": "Offset beyond the total: items=[], hasMore=false, nextOffset=null. Total and items use the same snapshot within this response; there is no snapshot across requests.",
"properties": {
"hasMore": {
"description": "offset + number of returned items < total.",
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/Task"
},
"type": "array"
},
"limit": {
"description": "Limit actually requested/applied.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"description": "offset + number of returned items when hasMore; otherwise null.",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Requested offset; always zero in the board view.",
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"total": {
"description": "",
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"offset",
"limit",
"total",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskParticipant": {
"additionalProperties": false,
"properties": {
"actorId": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"actorKind": {
"enum": [
"human",
"agent"
],
"type": "string"
},
"agentArchived": {
"type": "boolean"
},
"agentDeleted": {
"type": "boolean"
},
"agentName": {
"type": [
"string",
"null"
]
}
},
"required": [
"actorKind",
"actorId",
"agentName",
"agentArchived",
"agentDeleted"
],
"type": "object"
},
"TaskParticipantPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TaskParticipant"
},
"type": "array"
},
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"TaskSpecification": {
"description": "Markdown text preserved without rendering/conversion. Defines delivery, requirements, rules and acceptance criteria. Independent of the short description, execution plan and current synthesis. Empty means not yet defined; null is not accepted.",
"type": "string",
"x-maxBytes": 65536
},
"TaskUsage": {
"additionalProperties": false,
"properties": {
"coverage": {
"$ref": "#/components/schemas/UsageCoverage"
},
"estimatedTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"harnesses": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"knownTotalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"measuredComponents": {
"$ref": "#/components/schemas/UsageDelta"
},
"models": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"recordedSessionUsage": {
"$ref": "#/components/schemas/RecordedSessionUsage"
},
"timeline": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/SummaryUsageTimelineItem"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
}
},
"required": [
"knownTotalTokens",
"estimatedTotalTokens",
"measuredComponents",
"coverage",
"models",
"harnesses",
"timeline"
],
"type": "object"
},
"TaskWorkScope": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"$ref": "#/components/schemas/WorkProject"
},
"maxItems": 100,
"type": "array"
},
"repositories": {
"items": {
"$ref": "#/components/schemas/WorkRepository"
},
"maxItems": 100,
"type": "array"
},
"status": {
"enum": [
"identified",
"to_identify",
"not_applicable"
]
}
},
"required": [
"status",
"projects",
"repositories"
],
"type": "object"
},
"TaskWorkScopeInput": {
"additionalProperties": false,
"properties": {
"projects": {
"items": {
"$ref": "#/components/schemas/WorkProjectInput"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"projects"
],
"type": "object"
},
"TimelinePoint": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"occurredAt": {
"format": "date-time",
"type": "string"
},
"sequence": {
"minimum": 1,
"type": "integer"
},
"taskId": {
"format": "uuid",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/EventType"
}
},
"required": [
"id",
"taskId",
"type",
"occurredAt",
"sequence"
],
"type": "object"
},
"TimelinePointPage": {
"additionalProperties": false,
"properties": {
"hasMore": {
"type": "boolean"
},
"items": {
"items": {
"$ref": "#/components/schemas/TimelinePoint"
},
"type": "array"
},
"limit": {
"minimum": 1,
"type": "integer"
},
"nextOffset": {
"minimum": 0,
"type": [
"integer",
"null"
]
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"hasMore",
"nextOffset"
],
"type": "object"
},
"UploadAttachment": {
"additionalProperties": false,
"properties": {
"description": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"file": {
"description": "Bytes, maximum 20 MiB.",
"format": "binary",
"type": "string",
"x-maxBytes": 20971520
}
},
"required": [
"file"
],
"type": "object"
},
"UsageCoverage": {
"additionalProperties": false,
"properties": {
"baselineEntries": {
"minimum": 0,
"type": "integer"
},
"duplicateEntries": {
"minimum": 0,
"type": "integer"
},
"entries": {
"minimum": 0,
"type": "integer"
},
"estimatedEntries": {
"minimum": 0,
"type": "integer"
},
"measuredEntries": {
"minimum": 0,
"type": "integer"
},
"missingSummaries": {
"minimum": 0,
"type": "integer"
},
"reportedSummaries": {
"minimum": 0,
"type": "integer"
},
"totalSummaries": {
"minimum": 0,
"type": "integer"
},
"unallocatedEntries": {
"minimum": 0,
"type": "integer"
},
"unavailableEntries": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"totalSummaries",
"reportedSummaries",
"missingSummaries",
"entries",
"measuredEntries",
"estimatedEntries",
"unavailableEntries",
"baselineEntries",
"duplicateEntries",
"unallocatedEntries"
],
"type": "object"
},
"UsageDelta": {
"additionalProperties": false,
"properties": {
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"totalTokens"
],
"type": "object"
},
"UsageDimension": {
"additionalProperties": false,
"properties": {
"harness": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"provider",
"modelId",
"harness"
],
"type": "object"
},
"UsageDimensionPage": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/UsageDimension"
},
"type": "array"
},
"limit": {
"minimum": 0,
"type": "integer"
},
"offset": {
"minimum": 0,
"type": "integer"
},
"total": {
"minimum": 0,
"type": "integer"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"items",
"total",
"offset",
"limit",
"truncated"
],
"type": "object"
},
"UsageEntry": {
"additionalProperties": false,
"properties": {
"canonicalSummaryId": {
"format": "uuid",
"type": "string"
},
"counted": {
"type": "boolean"
},
"coverageReason": {
"enum": [
"baseline_or_unavailable",
"duplicate_reference",
"attributed",
"shared_or_unallocated"
],
"type": "string"
},
"delta": {
"anyOf": [
{
"$ref": "#/components/schemas/UsageDelta"
},
{
"type": "null"
}
]
},
"evidenceKey": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"observation": {
"$ref": "#/components/schemas/UsageObservation"
},
"reportRevision": {
"minimum": 1,
"type": "integer"
},
"reportedAt": {
"format": "date-time",
"type": "string"
},
"reportingActor": {
"$ref": "#/components/schemas/DeclaredActor"
}
},
"required": [
"id",
"reportedAt",
"reportingActor",
"reportRevision",
"observation",
"evidenceKey",
"canonicalSummaryId",
"delta",
"counted",
"coverageReason"
],
"type": "object"
},
"UsageObservation": {
"additionalProperties": false,
"description": "Historical/general evidence schema. New summaries use SessionUsageObservation; legacy/late evidence can retain partial or unavailable observations. No transcripts or secrets.",
"properties": {
"actor": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"id": {
"type": "null"
},
"kind": {
"const": "human"
}
},
"required": [
"kind",
"id"
],
"type": "object"
}
]
},
"actorRole": {
"enum": [
"leader",
"worker",
"human",
"unknown"
],
"type": "string"
},
"attribution": {
"enum": [
"exact",
"shared",
"unallocated"
],
"type": "string"
},
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"discovery": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"attempts": {
"items": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason",
"attempts"
],
"type": "object"
},
{
"type": "null"
}
]
},
"epoch": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harness": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harnessVersion": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"observedAt": {
"format": "date-time",
"type": "string"
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"periodEnd": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"periodStart": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"previousEvidenceId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"quality": {
"enum": [
"measured",
"estimated",
"unavailable"
],
"type": "string"
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reportKind": {
"enum": [
"cumulative_snapshot",
"period_delta",
"unavailable"
],
"type": "string"
},
"scope": {
"enum": [
"request",
"session",
"session_tree"
],
"type": "string"
},
"sessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"surface": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Explicit inclusive input+output cumulative total. Required for new summaries; optional in legacy evidence. Never add cache/reasoning twice or sum successive snapshots."
}
},
"required": [
"source",
"harness",
"surface",
"harnessVersion",
"sessionId",
"epoch",
"evidenceId",
"previousEvidenceId",
"actor",
"actorRole",
"provider",
"modelId",
"scope",
"reportKind",
"quality",
"attribution",
"observedAt",
"periodStart",
"periodEnd",
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"discovery"
],
"type": "object"
},
"UsageObservedStatus": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": "string"
},
"isDone": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"isDone"
],
"type": "object"
},
"WorkProject": {
"additionalProperties": false,
"properties": {
"discovery": {
"$ref": "#/components/schemas/ProjectGitDiscovery"
},
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"WorkProjectInput": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rootPath": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"name",
"rootPath"
],
"type": "object"
},
"WorkRepository": {
"additionalProperties": false,
"properties": {
"key": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"projectKeys": {
"items": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"provider": {
"enum": [
"github",
"gitlab",
"other"
]
},
"remoteUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"webUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"key",
"name",
"remoteUrl",
"webUrl",
"provider",
"projectKeys"
],
"type": "object"
}
}
},
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"block": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": true
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"blocked": {
"const": false
},
"reason": {
"type": "null"
}
},
"required": [
"blocked",
"reason"
],
"type": "object"
}
]
},
"comment": {
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"execution": {
"additionalProperties": false,
"description": "Completed requires a final status and no block, and sets progress to 100. Other outcomes require a nonfinal status; blocked requires an existing block. Review follows the user's instructions, with no universally required review stage. The supplied context must match the task chain, including cross-board origin; a mismatch returns 409 execution_context_mismatch. currentSummary is the required current cumulative synthesis, saved atomically on the task; summary remains the historical record of this activity.",
"properties": {
"commitReport": {
"additionalProperties": false,
"allOf": [
{
"else": {
"properties": {
"commits": {
"maxItems": 0
}
}
},
"if": {
"properties": {
"hasCommits": {
"const": true
}
}
},
"then": {
"properties": {
"commits": {
"minItems": 1
}
}
}
}
],
"properties": {
"commits": {
"items": {
"additionalProperties": false,
"properties": {
"availability": {
"enum": [
"local",
"published",
"unknown"
]
},
"branch": {
"additionalProperties": false,
"properties": {
"name": {
"anyOf": [
{
"maxLength": 1024,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
{
"type": "null"
}
]
},
"state": {
"enum": [
"named",
"detached",
"unknown"
]
}
},
"required": [
"state",
"name"
],
"type": "object"
},
"commitUrl": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"hash": {
"pattern": "^([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$",
"type": "string"
},
"remoteVerifiedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"repositoryKey": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$",
"type": "string"
}
},
"required": [
"repositoryKey",
"branch",
"hash",
"availability",
"remoteVerifiedAt",
"commitUrl"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"hasCommits": {
"type": "boolean"
}
},
"required": [
"hasCommits",
"commits"
],
"type": "object"
},
"currentSummary": {
"description": "Complete, nonempty cumulative synthesis replaces the current one while preserving the previous value in the timeline. Not a delta or transcript.",
"minLength": 1,
"pattern": "\\S",
"type": "string",
"x-maxBytes": 16384
},
"deliverables": {
"items": {
"additionalProperties": false,
"not": {
"required": [
"attachmentId",
"url"
]
},
"properties": {
"attachmentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"url": {
"format": "uri",
"pattern": "^https?://",
"type": "string"
}
},
"required": [
"label"
],
"type": "object"
},
"type": "array"
},
"executionContext": {
"additionalProperties": false,
"description": "Identifies the chain's origin. Persisted/derived by the server from the root task, never replaced by the destination board.",
"properties": {
"originBoardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"rootTaskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"rootTaskId",
"originBoardId"
],
"type": "object"
},
"executionTracking": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"start",
"checkpoint",
"pause",
"resume",
"finish"
]
},
"counterMode": {
"enum": [
"global",
"per_model"
]
},
"coverageLost": {
"type": "boolean"
},
"coverageRootSessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceIds": {
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"type": "array",
"uniqueItems": true
},
"executionId": {
"format": "uuid",
"type": "string"
},
"intervalId": {
"format": "uuid",
"type": "string"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"action",
"evidenceIds"
],
"type": "object"
},
"outcome": {
"enum": [
"progress",
"completed",
"blocked"
],
"type": "string"
},
"pending": {
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"progress": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Markdown, maximum 65536 UTF-8 bytes.",
"type": "string",
"x-maxBytes": 65536
},
"percent": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"percent",
"note"
],
"type": "object"
},
"reviewContext": {
"additionalProperties": false,
"description": "Review guidance in the conversation; does not by itself prove consent.",
"properties": {
"conversationRef": {
"minLength": 1,
"type": "string"
},
"instructionRef": {
"minLength": 1,
"type": "string"
},
"reviewerType": {
"enum": [
"user",
"team_leader"
],
"type": "string"
}
},
"required": [
"reviewerType",
"conversationRef",
"instructionRef"
],
"type": "object"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"summary": {
"description": "Maximum 16384 UTF-8 bytes.",
"minLength": 1,
"type": "string",
"x-maxBytes": 16384
},
"usageReport": {
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"allOf": [
{
"additionalProperties": false,
"description": "Historical/general evidence schema. New summaries use SessionUsageObservation; legacy/late evidence can retain partial or unavailable observations. No transcripts or secrets.",
"properties": {
"actor": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"id": {
"type": "null"
},
"kind": {
"const": "human"
}
},
"required": [
"kind",
"id"
],
"type": "object"
}
]
},
"actorRole": {
"enum": [
"leader",
"worker",
"human",
"unknown"
],
"type": "string"
},
"attribution": {
"enum": [
"exact",
"shared",
"unallocated"
],
"type": "string"
},
"cachedInputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"discovery": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"attempts": {
"items": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"maxItems": 12,
"minItems": 1,
"type": "array"
},
"reason": {
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"required": [
"reason",
"attempts"
],
"type": "object"
},
{
"type": "null"
}
]
},
"epoch": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"evidenceId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harness": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"harnessVersion": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"inputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"modelId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"observedAt": {
"format": "date-time",
"type": "string"
},
"outputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"periodEnd": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"periodStart": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
"previousEvidenceId": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"maxLength": 200,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"quality": {
"enum": [
"measured",
"estimated",
"unavailable"
],
"type": "string"
},
"reasoningOutputTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
]
},
"reportKind": {
"enum": [
"cumulative_snapshot",
"period_delta",
"unavailable"
],
"type": "string"
},
"scope": {
"enum": [
"request",
"session",
"session_tree"
],
"type": "string"
},
"sessionId": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"source": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"surface": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"totalTokens": {
"anyOf": [
{
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Explicit inclusive input+output cumulative total. Required for new summaries; optional in legacy evidence. Never add cache/reasoning twice or sum successive snapshots."
}
},
"required": [
"source",
"harness",
"surface",
"harnessVersion",
"sessionId",
"epoch",
"evidenceId",
"previousEvidenceId",
"actor",
"actorRole",
"provider",
"modelId",
"scope",
"reportKind",
"quality",
"attribution",
"observedAt",
"periodStart",
"periodEnd",
"inputTokens",
"outputTokens",
"cachedInputTokens",
"reasoningOutputTokens",
"discovery"
],
"type": "object"
},
{
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"kind": {
"const": "agent"
}
},
"required": [
"kind",
"id"
],
"type": "object"
},
"inputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"modelId": {
"maxLength": 200,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"outputTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
},
"quality": {
"const": "measured"
},
"reportKind": {
"const": "cumulative_snapshot"
},
"scope": {
"enum": [
"session",
"session_tree"
]
},
"totalTokens": {
"pattern": "^(0|[1-9][0-9]{0,18})$",
"type": "string"
}
},
"required": [
"totalTokens"
],
"type": "object"
}
],
"description": "New-summary measured cumulative usage through observedAt for the declared session/epoch/model/actor. First snapshot is accepted with previousEvidenceId null and no delta. Total must equal inclusive input+output. Not exclusive task consumption. Multiple disjoint counters remain separate; never sum checkpoints or overlapping tree/child/model totals."
},
"maxItems": 32,
"minItems": 1,
"type": "array"
}
},
"required": [
"entries"
],
"type": "object"
}
},
"required": [
"commitReport",
"usageReport",
"currentSummary",
"summary",
"outcome",
"statusId",
"deliverables",
"pending",
"executionContext"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"taskId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"taskId",
"expectedVersion",
"actor",
"idempotencyKey",
"execution"
],
"type": "object"
}Agent profiles
listAgents · Read
List agents
GET /api/v2/agents
Required top-level fields: none.
Original contract and full input schema
GET /api/v2/agents. List agents. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"archived": {
"default": false,
"type": "boolean"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"role": {
"enum": [
"leader",
"worker"
],
"type": "string"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt",
"updatedAt",
"name"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [],
"type": "object"
}createAgent · Write
Create a unique profile without bindings
POST /api/v2/agents
Required top-level fields: actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/agents. Create a unique profile without bindings. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Omitted text fields become empty strings, omitted arrays become []; image defaults to null.",
"properties": {
"accessLimits": {
"items": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"type": "array"
},
"contextSummary": {
"type": "string",
"x-maxBytes": 65536
},
"image": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"kind": {
"const": "external"
},
"url": {
"format": "uri",
"pattern": "^https://",
"type": "string"
}
},
"required": [
"kind",
"url"
],
"type": "object"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"roleDescription": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"rules": {
"items": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"type": "array"
},
"workInstructions": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"workStyle": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
}
},
"required": [
"name"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}resolveAgentSlug · Read
Resolve an Agent slug to its internal UUID
GET /api/v2/agents/by-slug/{slug}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/agents/by-slug/{slug}. Resolve an Agent slug to its internal UUID. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"slug": {
"description": "Generated URL identifier, lowercase ASCII, stable across renames and unique per type including deleted records. Collisions use -2/-3; clients cannot write it.",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getAgent · Read
Read profile and bindings
GET /api/v2/agents/{agentId}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/agents/{agentId}. Read profile and bindings. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}updateAgent · Write
Edit a shared profile
PATCH /api/v2/agents/{agentId}
Required top-level fields: params actor body .
Original contract and full input schema
PATCH /api/v2/agents/{agentId}. Edit a shared profile. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Omission preserves the value; null is allowed only for image.",
"minProperties": 1,
"properties": {
"accessLimits": {
"items": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"type": "array"
},
"contextSummary": {
"type": "string",
"x-maxBytes": 65536
},
"image": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"kind": {
"const": "external"
},
"url": {
"format": "uri",
"pattern": "^https://",
"type": "string"
}
},
"required": [
"kind",
"url"
],
"type": "object"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"roleDescription": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"rules": {
"items": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"type": "array"
},
"workInstructions": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"workStyle": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
}
},
"required": [],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}listAgentActivities · Read
Read the agent task and summary index
GET /api/v2/agents/{agentId}/activities
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/agents/{agentId}/activities. Read the agent task and summary index. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"archived": {
"default": false,
"type": "boolean"
},
"boardId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"relation": {
"default": "any",
"enum": [
"authored",
"executing",
"worked",
"any"
],
"type": "string"
},
"sortBy": {
"default": "taskUpdatedAt",
"enum": [
"taskUpdatedAt",
"title"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"statusId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"title": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}archiveAgent · Write
Archive or reactivate a profile
PUT /api/v2/agents/{agentId}/archive
Required top-level fields: params actor body .
Original contract and full input schema
PUT /api/v2/agents/{agentId}/archive. Archive or reactivate a profile. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"archived": {
"type": "boolean"
}
},
"required": [
"archived"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}listChatReferences · Read
List chat references
GET /api/v2/agents/{agentId}/chat-references
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/agents/{agentId}/chat-references. List chat references. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"archived": {
"default": false,
"type": "boolean"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"harness": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt",
"updatedAt",
"label"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}createChatReference · Write
Register an external chat reference
POST /api/v2/agents/{agentId}/chat-references
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/agents/{agentId}/chat-references. Register an external chat reference. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Omitted URL is null. Secrets in the URL are rejected; the link is not resolved or fetched.",
"properties": {
"externalId": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"harness": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"url": {
"format": "uri",
"pattern": "^(https?://|codex://)",
"type": [
"string",
"null"
]
}
},
"required": [
"harness",
"externalId",
"label"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}updateChatReference · Write
Edit or archive a reference
PATCH /api/v2/agents/{agentId}/chat-references/{chatReferenceId}
Required top-level fields: params actor body .
Original contract and full input schema
PATCH /api/v2/agents/{agentId}/chat-references/{chatReferenceId}. Edit or archive a reference. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Does not change agentId, harness or externalId. External identity is unique per agent (harness,externalId).",
"minProperties": 1,
"properties": {
"archived": {
"type": "boolean"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"url": {
"format": "uri",
"pattern": "^(https?://|codex://)",
"type": [
"string",
"null"
]
}
},
"required": [],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"chatReferenceId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId",
"chatReferenceId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}copyAgent · Write
Copy a profile to a new worker
POST /api/v2/agents/{agentId}/copies
Required top-level fields: params actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/agents/{agentId}/copies. Copy a profile to a new worker. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "New independent identity in the destination team; copies the profile without duplicating activity authorship. contextSummary is included only when supplied. The source may be archived; transferring the same identity uses composition changes, not copying.",
"properties": {
"contextSummary": {
"description": "When explicitly requested, summary text to place in the new identity. Omission leaves it empty; do not import history automatically.",
"type": "string",
"x-maxBytes": 65536
},
"coordinationContext": {
"additionalProperties": false,
"description": "Without execution context, require approval/manual mode. Does not grant global autonomy.",
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
"expectedTeamVersion": {
"minimum": 1,
"type": "integer"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"targetTeamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"targetTeamId",
"expectedTeamVersion",
"coordinationContext"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}uploadAgentImage · Write
Upload or replace an image
POST /api/v2/agents/{agentId}/image
Required top-level fields: params actor idempotencyKey .
Original contract and full input schema
POST /api/v2/agents/{agentId}/image. Upload or replace an image. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"idempotencyKey"
],
"type": "object"
}removeAgentImage · Write
Remove the current image
DELETE /api/v2/agents/{agentId}/image
Required top-level fields: params actor .
Original contract and full input schema
DELETE /api/v2/agents/{agentId}/image. Remove the current image. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor"
],
"type": "object"
}downloadAgentImage · Read
GET /api/v2/agents/{agentId}/image/content
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/agents/{agentId}/image/content. . Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getAgentLatestActivity · Read
Read the latest recorded task activity attributed to an agent
GET /api/v2/agents/{agentId}/latest-activity
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/agents/{agentId}/latest-activity. Read the latest recorded task activity attributed to an agent. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"agentId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"agentId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}Teams
changeTeamComposition · Write
Change composition or transfer between teams atomically
POST /api/v2/team-composition-changes
Required top-level fields: actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/team-composition-changes. Change composition or transfer between teams atomically. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Complete final state of affected teams in one transaction. May remove/transfer an agent from an archived team; preserves identity, tasks and authorship. Archiving does not release bindings. Allow at most one binding per role, in different teams; do not impose task or board constraints.",
"properties": {
"coordinationContext": {
"additionalProperties": false,
"description": "Without execution context, require approval/manual mode. Does not grant global autonomy.",
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
"teams": {
"items": {
"additionalProperties": false,
"description": "Final composition of a changed team (including an archived source), with a required leader. Unspecified teams remain unchanged; validate versions and final role cardinality.",
"properties": {
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"leaderId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"workerIds": {
"items": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"required": [
"teamId",
"expectedVersion",
"leaderId",
"workerIds"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"teams",
"coordinationContext"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}listTeamRoleIcons · Read
List the closed catalog of team role icons
GET /api/v2/team-role-icons
Required top-level fields: none.
Original contract and full input schema
GET /api/v2/team-role-icons. List the closed catalog of team role icons. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [],
"type": "object"
}listTeams · Read
List teams
GET /api/v2/teams
Required top-level fields: none.
Original contract and full input schema
GET /api/v2/teams. List teams. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"archived": {
"default": false,
"type": "boolean"
},
"createdBefore": {
"format": "date-time",
"type": "string"
},
"createdFrom": {
"format": "date-time",
"type": "string"
},
"leaderId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"sortBy": {
"default": "createdAt",
"enum": [
"createdAt",
"updatedAt",
"name"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"updatedBefore": {
"format": "date-time",
"type": "string"
},
"updatedFrom": {
"format": "date-time",
"type": "string"
},
"workerId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [],
"type": "object"
}createTeam · Write
Create a team with a leader and members
POST /api/v2/teams
Required top-level fields: actor idempotencyKey body .
Original contract and full input schema
POST /api/v2/teams. Create a team with a leader and members. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Create a group with a leader and members, without a higher-level grouping entity or task ownership. Identities must exist and role cardinalities must be valid.",
"properties": {
"context": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"coordinationContext": {
"additionalProperties": false,
"description": "Without execution context, require approval/manual mode. Does not grant global autonomy.",
"properties": {
"approvalRef": {
"minLength": 1,
"type": "string"
},
"conversationRef": {
"minLength": 1,
"type": "string"
},
"mode": {
"const": "manual"
}
},
"required": [
"mode",
"conversationRef",
"approvalRef"
],
"type": "object"
},
"leaderIconId": {
"description": "Stable closed catalog ID. Legacy teams default to crown for leader and user-round for worker.",
"enum": [
"crown",
"user-round",
"star",
"shield",
"rocket",
"compass",
"wrench",
"lightbulb",
"flower-2",
"bot",
"code",
"terminal",
"bug",
"flask-conical",
"book-open",
"graduation-cap",
"palette",
"globe",
"heart",
"zap",
"target",
"key-round",
"lock",
"music"
],
"type": "string"
},
"leaderId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"purpose": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"workerIconId": {
"description": "Stable closed catalog ID. Legacy teams default to crown for leader and user-round for worker.",
"enum": [
"crown",
"user-round",
"star",
"shield",
"rocket",
"compass",
"wrench",
"lightbulb",
"flower-2",
"bot",
"code",
"terminal",
"bug",
"flask-conical",
"book-open",
"graduation-cap",
"palette",
"globe",
"heart",
"zap",
"target",
"key-round",
"lock",
"music"
],
"type": "string"
},
"workerIds": {
"items": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"required": [
"name",
"leaderId",
"coordinationContext"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {},
"required": [],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"actor",
"idempotencyKey",
"body"
],
"type": "object"
}resolveTeamSlug · Read
Resolve a Team slug to its internal UUID
GET /api/v2/teams/by-slug/{slug}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/teams/by-slug/{slug}. Resolve a Team slug to its internal UUID. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"slug": {
"description": "Generated URL identifier, lowercase ASCII, stable across renames and unique per type including deleted records. Collisions use -2/-3; clients cannot write it.",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}getTeam · Read
Read a team
GET /api/v2/teams/{teamId}
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/teams/{teamId}. Read a team. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"teamId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}updateTeam · Write
Edit team purpose and context
PATCH /api/v2/teams/{teamId}
Required top-level fields: params actor body .
Original contract and full input schema
PATCH /api/v2/teams/{teamId}. Edit team purpose and context. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"description": "Composition changes only through the separate atomic command.",
"minProperties": 1,
"properties": {
"context": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"leaderIconId": {
"description": "Stable closed catalog ID. Legacy teams default to crown for leader and user-round for worker.",
"enum": [
"crown",
"user-round",
"star",
"shield",
"rocket",
"compass",
"wrench",
"lightbulb",
"flower-2",
"bot",
"code",
"terminal",
"bug",
"flask-conical",
"book-open",
"graduation-cap",
"palette",
"globe",
"heart",
"zap",
"target",
"key-round",
"lock",
"music"
],
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"purpose": {
"description": "Maximum 64 KiB UTF-8; text, not a complete transcript.",
"type": "string",
"x-maxBytes": 65536
},
"workerIconId": {
"description": "Stable closed catalog ID. Legacy teams default to crown for leader and user-round for worker.",
"enum": [
"crown",
"user-round",
"star",
"shield",
"rocket",
"compass",
"wrench",
"lightbulb",
"flower-2",
"bot",
"code",
"terminal",
"bug",
"flask-conical",
"book-open",
"graduation-cap",
"palette",
"globe",
"heart",
"zap",
"target",
"key-round",
"lock",
"music"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"teamId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}archiveTeam · Write
Archive or reactivate a team
PUT /api/v2/teams/{teamId}/archive
Required top-level fields: params actor body .
Original contract and full input schema
PUT /api/v2/teams/{teamId}/archive. Archive or reactivate a team. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"archived": {
"type": "boolean"
}
},
"required": [
"archived"
],
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"teamId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params",
"actor",
"body"
],
"type": "object"
}listTeamMembers · Read
List the leader and workers
GET /api/v2/teams/{teamId}/members
Required top-level fields: params .
Original contract and full input schema
GET /api/v2/teams/{teamId}/members. List the leader and workers. Actor is declared, not authenticated.
{
"additionalProperties": false,
"properties": {
"actor": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"type": [
"string",
"null"
]
},
"kind": {
"enum": [
"human",
"agent"
]
}
},
"required": [
"kind"
],
"type": "object"
},
"body": {
"additionalProperties": false,
"properties": {
"description": {
"type": "string"
}
},
"type": "object"
},
"expectedVersion": {
"minimum": 1,
"type": "integer"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"params": {
"additionalProperties": false,
"properties": {
"teamId": {
"format": "uuid",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
"type": "string"
}
},
"required": [
"teamId"
],
"type": "object"
},
"query": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"offset": {
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"role": {
"enum": [
"leader",
"worker"
],
"type": "string"
},
"sortBy": {
"default": "name",
"enum": [
"name",
"agentId"
],
"type": "string"
},
"sortOrder": {
"default": "asc",
"enum": [
"asc",
"desc"
],
"type": "string"
}
},
"type": "object"
},
"upload": {
"additionalProperties": false,
"properties": {
"dataBase64": {
"type": "string"
},
"mediaType": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"mediaType",
"dataBase64"
],
"type": "object"
}
},
"required": [
"params"
],
"type": "object"
}Portable transfer
exportData · Write
Start an export of a consistent database snapshot.
Required top-level fields: idempotencyKey .
Original contract and full input schema
Portable data transfer administration. Imports must first be uploaded through HTTP; job IDs never denote filesystem paths. Restores require an empty destination and the preview confirmation. No authentication is implied.
{
"additionalProperties": false,
"properties": {
"idempotencyKey": {
"format": "uuid",
"type": "string"
}
},
"required": [
"idempotencyKey"
],
"type": "object"
}getDataTransfer · Read
Read the transfer job state.
Required top-level fields: jobId .
Original contract and full input schema
Portable data transfer administration. Imports must first be uploaded through HTTP; job IDs never denote filesystem paths. Restores require an empty destination and the preview confirmation. No authentication is implied.
{
"additionalProperties": false,
"properties": {
"jobId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"jobId"
],
"type": "object"
}previewDataImport · Read
Read an existing preview for a job previously uploaded over HTTP.
Required top-level fields: jobId .
Original contract and full input schema
Portable data transfer administration. Imports must first be uploaded through HTTP; job IDs never denote filesystem paths. Restores require an empty destination and the preview confirmation. No authentication is implied.
{
"additionalProperties": false,
"properties": {
"jobId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"jobId"
],
"type": "object"
}restoreDataImport · Write
Restore an approved package into an empty destination.
Required top-level fields: jobId idempotencyKey confirmation .
Original contract and full input schema
Portable data transfer administration. Imports must first be uploaded through HTTP; job IDs never denote filesystem paths. Restores require an empty destination and the preview confirmation. No authentication is implied.
{
"additionalProperties": false,
"properties": {
"confirmation": {
"additionalProperties": false,
"properties": {
"archiveSha256": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"confirmationToken": {
"format": "uuid",
"type": "string"
},
"destinationId": {
"format": "uuid",
"type": "string"
},
"timestampPolicy": {
"enum": [
"strict",
"truncate_to_microseconds"
]
}
},
"required": [
"confirmationToken",
"archiveSha256",
"destinationId"
],
"type": "object"
},
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"jobId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"jobId",
"idempotencyKey",
"confirmation"
],
"type": "object"
}cancelDataTransfer · Write
Request cancellation of a transfer job.
Required top-level fields: jobId idempotencyKey .
Original contract and full input schema
Portable data transfer administration. Imports must first be uploaded through HTTP; job IDs never denote filesystem paths. Restores require an empty destination and the preview confirmation. No authentication is implied.
{
"additionalProperties": false,
"properties": {
"idempotencyKey": {
"format": "uuid",
"type": "string"
},
"jobId": {
"format": "uuid",
"type": "string"
}
},
"required": [
"jobId",
"idempotencyKey"
],
"type": "object"
}Example response
On an empty database, listBoards with query.limit set to 1 returns this structured content:
{
"createdId": null,
"data": {
"hasMore": false,
"items": [],
"limit": 1,
"nextOffset": null,
"offset": 0,
"total": 0
},
"version": null
}A stale write can return a version conflict. Read the current version and reconcile the change. When retrying the same operation after a timeout, preserve the idempotency key and original request.
A stale updateAgent call returns isError with this structured content. Transfer calls on an instance with transfers disabled return transfer_disabled.
{
"code": "version_conflict",
"details": {},
"error": "Resource has changed"
}Resources
Use resources/list and resources/read for the bundled reference material.
beeteam://references/repository-evidencebeeteam://references/execution-intervalsbeeteam://references/worker-bootstrapbeeteam://references/usage-reportbeeteam://skills/leaderbeeteam://skills/workerbeeteam://references/integrationbeeteam://references/handoffbeeteam://references/codexbeeteam://references/team-examplesbeeteam://references/leader-onboarding-flowsbeeteam://references/worker-workflowbeeteam://references/mcp-contentbeeteam://references/task-briefingbeeteam://references/worker-resumptionbeeteam://references/delivery-reviewbeeteam://references/content-manifest
Prompts
Discover templates with prompts/list and retrieve one with prompts/get. Templates prepare context for the client.
task_briefing(taskId)delivery_review(taskId)