Catálogo de ferramentas MCP
Este catálogo acompanha o binário desta versão. No cliente conectado, use tools/list para descobrir o que está disponível. Consultar esta página não executa ferramentas.
Protocolo: 2025-11-25 · 0.1.1. As transferências exigem BEE_TRANSFER_ENABLED=true e acesso administrativo permitido.
81 / 81 ferramentas
Serviço
health_check · Leitura
Verifica a saúde do serviço.
Campos obrigatórios na raiz: nenhum.
Contrato original e esquema completo
Service health
{
"additionalProperties": false,
"properties": {},
"type": "object"
}echo_request · Leitura
Devolve o conteúdo enviado para testar a comunicação.
Campos obrigatórios na raiz: method path headers .
Contrato original e esquema completo
Echo a request
{
"properties": {
"body": {
"type": [
"string",
"null"
]
},
"headers": {
"type": "object"
},
"method": {
"type": "string"
},
"path": {
"type": "string"
}
},
"required": [
"method",
"path",
"headers"
],
"type": "object"
}Quadros e status
listBoards · Leitura
Lista os quadros com filtros e paginação.
GET /api/v2/boards
Campos obrigatórios na raiz: nenhum.
Contrato original e esquema completo
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 · Gravação
Cria um quadro com time gestor e colunas.
POST /api/v2/boards
Campos obrigatórios na raiz: actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Lê um quadro pelo identificador.
GET /api/v2/boards/{boardId}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Atualiza os metadados do quadro.
PATCH /api/v2/boards/{boardId}
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Gravação
Reordena os status de um quadro.
PUT /api/v2/boards/{boardId}/status-order
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Lista as colunas do quadro em ordem.
GET /api/v2/boards/{boardId}/statuses
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Cria um status no quadro.
POST /api/v2/boards/{boardId}/statuses
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Gravação
Altera os metadados de um status.
PATCH /api/v2/boards/{boardId}/statuses/{statusId}
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Lê as colunas e tarefas do Kanban.
GET /api/v2/boards/{boardId}/view
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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"
}Tarefas e execução
listTasks · Leitura
Lista tarefas de um quadro.
GET /api/v2/boards/{boardId}/tasks
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Cria uma tarefa ou subtarefa com autor, executor e projeto.
POST /api/v2/boards/{boardId}/tasks
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Localiza intervalos abertos por agente ou sessão.
GET /api/v2/execution-intervals
Campos obrigatórios na raiz: nenhum.
Contrato original e esquema completo
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 · Leitura
Pesquisa tarefas entre quadros.
GET /api/v2/tasks
Campos obrigatórios na raiz: nenhum.
Contrato original e esquema completo
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 · Leitura
Resolve o slug imutável de uma tarefa para UUID.
GET /api/v2/tasks/by-slug/{slug}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lê uma tarefa e sua versão.
GET /api/v2/tasks/{taskId}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Atualiza conteúdo, progresso ou síntese da tarefa.
PATCH /api/v2/tasks/{taskId}
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Gravação
Altera o arquivamento da tarefa.
PUT /api/v2/tasks/{taskId}/archive
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Gravação
Altera o executor da tarefa.
PUT /api/v2/tasks/{taskId}/assignment
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Lista arquivos anexados à tarefa.
GET /api/v2/tasks/{taskId}/attachments
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Grava um arquivo e seus metadados na tarefa.
POST /api/v2/tasks/{taskId}/attachments
Campos obrigatórios na raiz: params actor idempotencyKey .
Contrato original e esquema completo
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 · Gravação
Registra a remoção de um anexo.
DELETE /api/v2/tasks/{taskId}/attachments/{attachmentId}
Campos obrigatórios na raiz: params actor .
Contrato original e esquema completo
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 · Leitura
Obtém o conteúdo de um anexo.
GET /api/v2/tasks/{taskId}/attachments/{attachmentId}/content
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Define ou remove o bloqueio da tarefa.
PUT /api/v2/tasks/{taskId}/block
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Lista comentários da tarefa com filtros.
GET /api/v2/tasks/{taskId}/comments
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Registra um comentário e sua autoria declarada.
POST /api/v2/tasks/{taskId}/comments
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Lê um comentário específico da tarefa.
GET /api/v2/tasks/{taskId}/comments/{commentId}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Consulta o consumo registrado por intervalo.
GET /api/v2/tasks/{taskId}/execution-interval-usage
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lista os intervalos de execução da tarefa.
GET /api/v2/tasks/{taskId}/execution-intervals
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Consulta revisões de um intervalo.
GET /api/v2/tasks/{taskId}/execution-intervals/{intervalId}/revisions
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Registra uma revisão para reconciliar um intervalo.
POST /api/v2/tasks/{taskId}/execution-intervals/{intervalId}/revisions
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Lista os resumos históricos de execução.
GET /api/v2/tasks/{taskId}/execution-summaries
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Grava resumo, síntese, status, consumo e evidência de commits atomicamente.
POST /api/v2/tasks/{taskId}/execution-summaries
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Gravação
Registra uma revisão da evidência de consumo de um resumo.
POST /api/v2/tasks/{taskId}/execution-summaries/{summaryId}/usage-revisions
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Lista eventos de acompanhamento de execução.
GET /api/v2/tasks/{taskId}/execution-tracking-events
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lista as execuções explícitas da tarefa.
GET /api/v2/tasks/{taskId}/executions
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lê a visão geral da tarefa em um snapshot.
GET /api/v2/tasks/{taskId}/overview
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Vincula uma tarefa existente a uma tarefa pai.
POST /api/v2/tasks/{taskId}/parent/link
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Lista os participantes registrados na tarefa.
GET /api/v2/tasks/{taskId}/participants
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lista os planos da tarefa.
GET /api/v2/tasks/{taskId}/plans
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Registra um plano e sua primeira revisão.
POST /api/v2/tasks/{taskId}/plans
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Lista revisões de um plano.
GET /api/v2/tasks/{taskId}/plans/{planId}/revisions
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Grava uma revisão de um plano existente.
POST /api/v2/tasks/{taskId}/plans/{planId}/revisions
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Gravação
Altera a posição da tarefa conforme as regras de movimentação.
PUT /api/v2/tasks/{taskId}/position
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Consulta o histórico de eventos da tarefa.
GET /api/v2/tasks/{taskId}/timeline
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Consulta pontos da linha do tempo.
GET /api/v2/tasks/{taskId}/timeline-points
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Consulta o consumo de sessão registrado na tarefa.
GET /api/v2/tasks/{taskId}/usage
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lista dimensões disponíveis para filtrar o consumo.
GET /api/v2/tasks/{taskId}/usage/dimensions
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lê o contexto da tarefa e do executor para preparar o trabalho.
Campos obrigatórios na raiz: taskId .
Contrato original e esquema completo
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 · Gravação
Registra síntese, comentário, progresso e bloqueio em uma transação.
Campos obrigatórios na raiz: taskId expectedVersion actor idempotencyKey .
Contrato original e esquema completo
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 · Gravação
Registra o encerramento da atividade e os dados de execução fornecidos.
Campos obrigatórios na raiz: taskId expectedVersion actor idempotencyKey execution .
Contrato original e esquema completo
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"
}Perfis de agentes
listAgents · Leitura
Lista perfis de agentes.
GET /api/v2/agents
Campos obrigatórios na raiz: nenhum.
Contrato original e esquema completo
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 · Gravação
Cria um perfil sem vínculos de time.
POST /api/v2/agents
Campos obrigatórios na raiz: actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Resolve o slug de um agente para UUID.
GET /api/v2/agents/by-slug/{slug}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lê o perfil e os vínculos de um agente.
GET /api/v2/agents/{agentId}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Atualiza instruções, regras ou metadados do perfil.
PATCH /api/v2/agents/{agentId}
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Consulta atividades relacionadas ao agente.
GET /api/v2/agents/{agentId}/activities
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Altera o arquivamento do agente.
PUT /api/v2/agents/{agentId}/archive
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Lista referências externas a chats.
GET /api/v2/agents/{agentId}/chat-references
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Registra uma referência externa a um chat.
POST /api/v2/agents/{agentId}/chat-references
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Gravação
Atualiza os dados de uma referência a chat.
PATCH /api/v2/agents/{agentId}/chat-references/{chatReferenceId}
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Gravação
Cria um perfil a partir de outro agente.
POST /api/v2/agents/{agentId}/copies
Campos obrigatórios na raiz: params actor idempotencyKey body .
Contrato original e esquema completo
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 · Gravação
Armazena a imagem enviada para o perfil.
POST /api/v2/agents/{agentId}/image
Campos obrigatórios na raiz: params actor idempotencyKey .
Contrato original e esquema completo
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 · Gravação
Remove a imagem do perfil.
DELETE /api/v2/agents/{agentId}/image
Campos obrigatórios na raiz: params actor .
Contrato original e esquema completo
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 · Leitura
Obtém o conteúdo da imagem do agente.
GET /api/v2/agents/{agentId}/image/content
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Consulta a atividade mais recente registrada.
GET /api/v2/agents/{agentId}/latest-activity
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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"
}Times
changeTeamComposition · Gravação
Aplica a composição final dos times afetados em uma transação.
POST /api/v2/team-composition-changes
Campos obrigatórios na raiz: actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Lista os ícones permitidos para os papéis do time.
GET /api/v2/team-role-icons
Campos obrigatórios na raiz: nenhum.
Contrato original e esquema completo
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 · Leitura
Lista os times.
GET /api/v2/teams
Campos obrigatórios na raiz: nenhum.
Contrato original e esquema completo
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 · Gravação
Cria um time com líder e workers.
POST /api/v2/teams
Campos obrigatórios na raiz: actor idempotencyKey body .
Contrato original e esquema completo
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 · Leitura
Resolve o slug de um time para UUID.
GET /api/v2/teams/by-slug/{slug}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Leitura
Lê o time e os ícones dos papéis.
GET /api/v2/teams/{teamId}
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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 · Gravação
Atualiza metadados e ícones do time.
PATCH /api/v2/teams/{teamId}
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Gravação
Altera o arquivamento do time.
PUT /api/v2/teams/{teamId}/archive
Campos obrigatórios na raiz: params actor body .
Contrato original e esquema completo
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 · Leitura
Lista os integrantes de um time.
GET /api/v2/teams/{teamId}/members
Campos obrigatórios na raiz: params .
Contrato original e esquema completo
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"
}Transferência portátil
exportData · Gravação
Inicia a exportação de uma cópia consistente dos dados.
Campos obrigatórios na raiz: idempotencyKey .
Contrato original e esquema completo
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 · Leitura
Consulta o estado da operação de transferência.
Campos obrigatórios na raiz: jobId .
Contrato original e esquema completo
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 · Leitura
Lê a prévia existente de um pacote enviado por HTTP.
Campos obrigatórios na raiz: jobId .
Contrato original e esquema completo
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 · Gravação
Restaura o pacote aprovado em um destino vazio.
Campos obrigatórios na raiz: jobId idempotencyKey confirmation .
Contrato original e esquema completo
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 · Gravação
Solicita cancelamento da transferência em andamento.
Campos obrigatórios na raiz: jobId idempotencyKey .
Contrato original e esquema completo
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"
}Exemplo de resposta
Em uma base vazia, listBoards com query.limit igual a 1 retorna este conteúdo estruturado:
{
"createdId": null,
"data": {
"hasMore": false,
"items": [],
"limit": 1,
"nextOffset": null,
"offset": 0,
"total": 0
},
"version": null
}Uma gravação com versão antiga pode retornar conflito. Leia a versão atual e reconcilie a alteração. Para repetir a mesma operação após timeout, preserve a chave de idempotência e o conteúdo original.
Uma chamada updateAgent com versão antiga retorna isError com este conteúdo estruturado. Chamadas de transferência com o recurso desativado retornam transfer_disabled.
{
"code": "version_conflict",
"details": {},
"error": "Resource has changed"
}Recursos
Use resources/list e resources/read para consultar os materiais empacotados.
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
Descubra os modelos com prompts/list e obtenha um deles com prompts/get. Eles preparam contexto para o cliente.
task_briefing(taskId)delivery_review(taskId)