From 22e17d36effdf578b26bcd2dd09359697a7ee604 Mon Sep 17 00:00:00 2001 From: Ari Nguyen Date: Tue, 15 Sep 2026 12:29:36 -0700 Subject: [PATCH 1/6] Fix conflict --- stainless/.gitignore | 2 + .../2026-09-02T18-57-23-317Z-custom-code.json | 6 + .../2026-09-02T18-57-22-747Z-custom-code.json | 6 + stainless/openapi.yml | 7653 +++++++++++++++++ stainless/stainless.yml | 314 + stainless/workspace.json | 5 + 6 files changed, 7986 insertions(+) create mode 100644 stainless/.gitignore create mode 100644 stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json create mode 100644 stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json create mode 100644 stainless/openapi.yml create mode 100644 stainless/stainless.yml create mode 100644 stainless/workspace.json diff --git a/stainless/.gitignore b/stainless/.gitignore new file mode 100644 index 00000000..b8ea8674 --- /dev/null +++ b/stainless/.gitignore @@ -0,0 +1,2 @@ +sdks/ +builds/ diff --git a/stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json b/stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json new file mode 100644 index 00000000..936bbf84 --- /dev/null +++ b/stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json @@ -0,0 +1,6 @@ +{ + "base": "08bb48c2fad4ba7e45f524e77a47e12cd302aad4", + "integrated": "f394ce7f1dfd0088eb63e7cdf64ff37307990706", + "branch": "main", + "filename": "2026-09-02T18-57-23-317Z-custom-code.json" +} \ No newline at end of file diff --git a/stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json b/stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json new file mode 100644 index 00000000..a515fb6d --- /dev/null +++ b/stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json @@ -0,0 +1,6 @@ +{ + "base": "821e5dbeb4f943017eb57aa3eefd2677c4c1636f", + "integrated": "e0e33cd9b1f4de7f3544b7bd2407c065b2fe69b2", + "branch": "main", + "filename": "2026-09-02T18-57-22-747Z-custom-code.json" +} \ No newline at end of file diff --git a/stainless/openapi.yml b/stainless/openapi.yml new file mode 100644 index 00000000..88dd2a78 --- /dev/null +++ b/stainless/openapi.yml @@ -0,0 +1,7653 @@ +openapi: 3.1.0 +info: + title: Agentex API + version: 0.1.0 +paths: + /agents/{agent_id}: + get: + tags: + - Agents + summary: Get Agent by ID + description: Get an agent by its unique ID. + operationId: get_agent_by_id_agents__agent_id__get + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Agent' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Agents + summary: Delete Agent by ID + description: Delete an agent by its unique ID. + operationId: delete_agent_by_id_agents__agent_id__delete + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/name/{agent_name}: + get: + tags: + - Agents + summary: Get Agent by Name + description: Get an agent by its unique name. + operationId: get_agent_by_name_agents_name__agent_name__get + parameters: + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Agent' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Agents + summary: Delete Agent by Name + description: Delete an agent by its unique name. + operationId: delete_agent_by_name_agents_name__agent_name__delete + parameters: + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents: + get: + tags: + - Agents + summary: List Agents + description: List all registered agents, optionally filtered by query parameters. + operationId: list_agents_agents_get + parameters: + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Task ID + title: Task Id + description: Task ID + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit + description: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number + description: Page number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By + description: Field to order by + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction + description: Order direction (asc or desc) + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Agent' + title: Response List Agents Agents Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/register: + post: + tags: + - Agents + summary: Register Agent + description: Register a new agent or update an existing one. + operationId: register_agent_agents_register_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RegisterAgentRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RegisterAgentResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/register-build: + post: + tags: + - Agents + summary: Register Build + description: Register an agent at build time, before it is deployed, so it can + be permissioned and shared prior to deploy. Idempotent by name. + operationId: register_build_agents_register_build_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RegisterBuildRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Agent' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/forward/name/{agent_name}/{path}: + get: + tags: + - Agents + summary: Forward GET request to agent by name + description: Forward a GET request to an agent by its name. + operationId: forward_get_request_to_agent_agents_forward_name__agent_name___path__get + parameters: + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name + - name: path + in: path + required: true + schema: + type: string + title: Path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - Agents + summary: Forward POST request to agent by name + description: Forward a POST request to an agent by its name. + operationId: forward_post_request_to_agent_agents_forward_name__agent_name___path__post + parameters: + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name + - name: path + in: path + required: true + schema: + type: string + title: Path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/rpc: + post: + tags: + - Agents + summary: Handle Agent RPC by ID + description: Handle JSON-RPC requests for an agent by its unique ID. + operationId: handle_agent_rpc_by_id_agents__agent_id__rpc_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRPCRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRPCResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/name/{agent_name}/rpc: + post: + tags: + - Agents + summary: Handle Agent RPC by Name + description: Handle JSON-RPC requests for an agent by its unique name. + operationId: handle_agent_rpc_by_name_agents_name__agent_name__rpc_post + parameters: + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRPCRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRPCResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}: + get: + tags: + - Tasks + summary: Get Task by ID + description: Get a task by its unique ID. + operationId: get_task_tasks__task_id__get + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + - name: relationships + in: query + required: false + schema: + type: array + items: + $ref: '#/components/schemas/TaskRelationships' + title: Relationships + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/TaskResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Tasks + summary: Delete Task by ID + description: Delete a task by its unique ID. + operationId: delete_task_tasks__task_id__delete + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Tasks + summary: Update Task by ID + description: Update mutable fields for a task by its unique ID. + operationId: update_task_tasks__task_id__put + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTaskRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/name/{task_name}: + get: + tags: + - Tasks + summary: Get Task by Name + description: Get a task by its unique name. + operationId: get_task_by_name_tasks_name__task_name__get + parameters: + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name + - name: relationships + in: query + required: false + schema: + type: array + items: + $ref: '#/components/schemas/TaskRelationships' + title: Relationships + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/TaskResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Tasks + summary: Delete Task by Name + description: Delete a task by its unique name. + operationId: delete_task_by_name_tasks_name__task_name__delete + parameters: + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Tasks + summary: Update Task by Name + description: Update mutable fields for a task by its unique Name. + operationId: update_task_by_name_tasks_name__task_name__put + parameters: + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTaskRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks: + get: + tags: + - Tasks + summary: List Tasks + description: List tasks. Returns a lean summary per task and omits `params`; + fetch GET /tasks/{task_id} for the full record including `params`. + operationId: list_tasks_tasks_get + parameters: + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: status + in: query + required: false + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatus' + - type: 'null' + description: Filter tasks by status (e.g. RUNNING, COMPLETED). + title: Status + description: Filter tasks by status (e.g. RUNNING, COMPLETED). + - name: task_metadata + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: 'JSON-encoded object used to filter tasks via JSONB containment. + Example: {"created_by_user_id": "abc-123"}.' + title: Task Metadata + description: 'JSON-encoded object used to filter tasks via JSONB containment. + Example: {"created_by_user_id": "abc-123"}.' + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction + - name: relationships + in: query + required: false + schema: + type: array + items: + $ref: '#/components/schemas/TaskRelationships' + title: Relationships + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaskSummary' + title: Response List Tasks Tasks Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/complete: + post: + tags: + - Tasks + summary: Complete Task + description: Mark a running task as completed. + operationId: complete_task_tasks__task_id__complete_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/fail: + post: + tags: + - Tasks + summary: Fail Task + description: Mark a running task as failed. + operationId: fail_task_tasks__task_id__fail_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/cancel: + post: + tags: + - Tasks + summary: Cancel Task + description: Mark a running task as canceled. + operationId: cancel_task_tasks__task_id__cancel_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/interrupt: + post: + tags: + - Tasks + summary: Interrupt Task + description: Stop the in-flight turn without terminating the task. Transitions + a running task to the non-terminal INTERRUPTED status; the task stays continuable + and the next message or event resumes it. + operationId: interrupt_task_tasks__task_id__interrupt_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/terminate: + post: + tags: + - Tasks + summary: Terminate Task + description: Mark a running task as terminated. + operationId: terminate_task_tasks__task_id__terminate_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/timeout: + post: + tags: + - Tasks + summary: Timeout Task + description: Mark a running task as timed out. + operationId: timeout_task_tasks__task_id__timeout_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Task' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/stream: + get: + tags: + - Tasks + summary: Stream Task Events by ID + description: Stream events for a task by its unique ID. + operationId: stream_task_events_tasks__task_id__stream_get + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/name/{task_name}/stream: + get: + tags: + - Tasks + summary: Stream Task Events by Name + description: Stream events for a task by its unique name. + operationId: stream_task_events_by_name_tasks_name__task_name__stream_get + parameters: + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/query/{query_name}: + get: + tags: + - Tasks + summary: Query Task Workflow + description: Query a Temporal workflow associated with a task for its current + state. + operationId: query_task_workflow_tasks__task_id__query__query_name__get + parameters: + - name: query_name + in: path + required: true + schema: + type: string + title: Query Name + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: object + additionalProperties: true + title: Response Query Task Workflow Tasks Task Id Query Query Name Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /messages/batch: + put: + tags: + - Messages + summary: Batch Update Messages + operationId: batch_update_messages_messages_batch_put + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchUpdateTaskMessagesRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TaskMessage' + type: array + title: Response Batch Update Messages Messages Batch Put + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - Messages + summary: Batch Create Messages + operationId: batch_create_messages_messages_batch_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchCreateTaskMessagesRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TaskMessage' + type: array + title: Response Batch Create Messages Messages Batch Post + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /messages: + post: + tags: + - Messages + summary: Create Message + operationId: create_message_messages_post + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTaskMessageRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMessage' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - Messages + summary: List Messages + description: 'List messages for a task with offset-based pagination. + + + For cursor-based pagination with infinite scroll support, use /messages/paginated.' + operationId: list_messages_messages_get + parameters: + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction + - name: filters + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\n\ + Schema: {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \ + \ \"properties\": {\n \"type\": {\n \"anyOf\": [\n \ + \ {\n \"const\": \"data\",\n \"type\"\ + : \"string\"\n },\n {\n \"type\": \"\ + null\"\n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The type of the message, in this case `data`.\"\ + ,\n \"title\": \"Type\"\n },\n \"author\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The role of the messages author, in this case `system`,\ + \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"data\"\ + : {\n \"anyOf\": [\n {\n \"additionalProperties\"\ + : true,\n \"type\": \"object\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n ],\n\ + \ \"default\": null,\n \"description\": \"The contents\ + \ of the data message.\",\n \"title\": \"Data\"\n }\n\ + \ },\n \"title\": \"DataContentEntityOptional\",\n \"type\"\ + : \"object\"\n },\n \"FileAttachmentEntity\": {\n \"description\"\ + : \"Represents a file attachment in messages.\",\n \"properties\"\ + : {\n \"file_id\": {\n \"description\": \"The unique ID\ + \ of the attached file\",\n \"title\": \"File Id\",\n \ + \ \"type\": \"string\"\n },\n \"name\": {\n \"\ + description\": \"The name of the file\",\n \"title\": \"Name\"\ + ,\n \"type\": \"string\"\n },\n \"size\": {\n \ + \ \"description\": \"The size of the file in bytes\",\n \ + \ \"title\": \"Size\",\n \"type\": \"integer\"\n },\n\ + \ \"type\": {\n \"description\": \"The MIME type or content\ + \ type of the file\",\n \"title\": \"Type\",\n \"type\"\ + : \"string\"\n }\n },\n \"required\": [\n \"file_id\"\ + ,\n \"name\",\n \"size\",\n \"type\"\n ],\n\ + \ \"title\": \"FileAttachmentEntity\",\n \"type\": \"object\"\ + \n },\n \"MessageAuthor\": {\n \"enum\": [\n \"user\"\ + ,\n \"agent\"\n ],\n \"title\": \"MessageAuthor\",\n\ + \ \"type\": \"string\"\n },\n \"MessageStyle\": {\n \"\ + enum\": [\n \"static\",\n \"active\"\n ],\n \"\ + title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n \"\ + ReasoningContentEntityOptional\": {\n \"properties\": {\n \ + \ \"type\": {\n \"anyOf\": [\n {\n \"\ + const\": \"reasoning\",\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `reasoning`.\",\n \"\ + title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The role of the messages author, in this case `system`,\ + \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"summary\"\ + : {\n \"anyOf\": [\n {\n \"items\": {\n\ + \ \"type\": \"string\"\n },\n \ + \ \"type\": \"array\"\n },\n {\n \"\ + type\": \"null\"\n }\n ],\n \"default\":\ + \ null,\n \"description\": \"A list of short reasoning summaries\"\ + ,\n \"title\": \"Summary\"\n },\n \"content\":\ + \ {\n \"anyOf\": [\n {\n \"items\": {\n\ + \ \"type\": \"string\"\n },\n \ + \ \"type\": \"array\"\n },\n {\n \"\ + type\": \"null\"\n }\n ],\n \"default\":\ + \ null,\n \"description\": \"The reasoning content or chain-of-thought\ + \ text\",\n \"title\": \"Content\"\n }\n },\n \ + \ \"title\": \"ReasoningContentEntityOptional\",\n \"type\": \"\ + object\"\n },\n \"TextContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"text\",\n \"type\": \"string\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The type of the message, in this case `text`.\",\n \ + \ \"title\": \"Type\"\n },\n \"author\": {\n \ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The role of the messages author, in this case `system`,\ + \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"format\"\ + : {\n \"anyOf\": [\n {\n \"$ref\": \"\ + #/$defs/TextFormat\"\n },\n {\n \"\ + type\": \"null\"\n }\n ],\n \"default\":\ + \ null,\n \"description\": \"The format of the message. This\ + \ is used by the client to determine how to display the message.\"\n \ + \ },\n \"content\": {\n \"anyOf\": [\n \ + \ {\n \"type\": \"string\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n ],\n\ + \ \"default\": null,\n \"description\": \"The contents\ + \ of the text message.\",\n \"title\": \"Content\"\n },\n\ + \ \"attachments\": {\n \"anyOf\": [\n {\n \ + \ \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ + \n },\n \"type\": \"array\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"\ + Optional list of file attachments with structured metadata.\",\n \ + \ \"title\": \"Attachments\"\n }\n },\n \"title\"\ + : \"TextContentEntityOptional\",\n \"type\": \"object\"\n },\n\ + \ \"TextFormat\": {\n \"enum\": [\n \"markdown\",\n \ + \ \"plain\",\n \"code\"\n ],\n \"title\": \"TextFormat\"\ + ,\n \"type\": \"string\"\n },\n \"ToolRequestContentEntityOptional\"\ + : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ + : [\n {\n \"const\": \"tool_request\",\n \ + \ \"type\": \"string\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"\ + default\": null,\n \"description\": \"The type of the message,\ + \ in this case `tool_request`.\",\n \"title\": \"Type\"\n \ + \ },\n \"author\": {\n \"anyOf\": [\n {\n\ + \ \"$ref\": \"#/$defs/MessageAuthor\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"\ + The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ + : {\n \"anyOf\": [\n {\n \"type\": \"\ + string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The ID of the tool call that is being requested.\"\ + ,\n \"title\": \"Tool Call Id\"\n },\n \"name\"\ + : {\n \"anyOf\": [\n {\n \"type\": \"\ + string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The name of the tool that is being requested.\"\ + ,\n \"title\": \"Name\"\n },\n \"arguments\": {\n\ + \ \"anyOf\": [\n {\n \"additionalProperties\"\ + : true,\n \"type\": \"object\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n ],\n\ + \ \"default\": null,\n \"description\": \"The arguments\ + \ to the tool.\",\n \"title\": \"Arguments\"\n }\n \ + \ },\n \"title\": \"ToolRequestContentEntityOptional\",\n \ + \ \"type\": \"object\"\n },\n \"ToolResponseContentEntityOptional\"\ + : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ + : [\n {\n \"const\": \"tool_response\",\n \ + \ \"type\": \"string\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"\ + default\": null,\n \"description\": \"The type of the message,\ + \ in this case `tool_response`.\",\n \"title\": \"Type\"\n \ + \ },\n \"author\": {\n \"anyOf\": [\n \ + \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"\ + The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ + : {\n \"anyOf\": [\n {\n \"type\": \"\ + string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The ID of the tool call that is being responded\ + \ to.\",\n \"title\": \"Tool Call Id\"\n },\n \"\ + name\": {\n \"anyOf\": [\n {\n \"type\"\ + : \"string\"\n },\n {\n \"type\": \"\ + null\"\n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The name of the tool that is being responded\ + \ to.\",\n \"title\": \"Name\"\n },\n \"content\"\ + : {\n \"anyOf\": [\n {},\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"default\"\ + : null,\n \"description\": \"The result of the tool.\",\n \ + \ \"title\": \"Content\"\n },\n \"is_error\": {\n\ + \ \"anyOf\": [\n {\n \"type\": \"boolean\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"Whether the tool call resulted in an error. `None` when\ + \ the harness does not report a status.\",\n \"title\": \"Is\ + \ Error\"\n }\n },\n \"title\": \"ToolResponseContentEntityOptional\"\ + ,\n \"type\": \"object\"\n }\n },\n \"description\": \"Filter\ + \ model for TaskMessage - all fields optional for flexible filtering.\\\ + n\\nThe `exclude` field determines whether this filter is inclusionary\ + \ or exclusionary.\\nWhen multiple filters are provided:\\n- Inclusionary\ + \ filters (exclude=False) are OR'd together\\n- Exclusionary filters (exclude=True)\ + \ are OR'd together and negated with $nor\\n- The two groups are AND'd:\ + \ (include1 OR include2) AND NOT (exclude1 OR exclude2)\",\n \"properties\"\ + : {\n \"content\": {\n \"anyOf\": [\n {\n \"$ref\"\ + : \"#/$defs/ToolRequestContentEntityOptional\"\n },\n {\n\ + \ \"$ref\": \"#/$defs/DataContentEntityOptional\"\n },\n\ + \ {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\n\ + \ },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ + \n },\n {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"Filter by message\ + \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ + : {\n \"anyOf\": [\n {\n \"enum\": [\n \ + \ \"IN_PROGRESS\",\n \"DONE\"\n ],\n \"\ + type\": \"string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \"description\"\ + : \"Filter by streaming status\",\n \"title\": \"Streaming Status\"\ + \n },\n \"exclude\": {\n \"default\": false,\n \"description\"\ + : \"If true, this filter excludes matching messages\",\n \"title\"\ + : \"Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\"\ + : \"TaskMessageEntityFilter\",\n \"type\": \"object\"\n}\n\nEach filter\ + \ can include:\n- `content`: Filter by message content (type, author,\ + \ data fields)\n- `streaming_status`: Filter by status (\"IN_PROGRESS\"\ + \ or \"DONE\")\n- `exclude`: If true, excludes matching messages (default:\ + \ false)\n\nMultiple filters are combined: inclusionary filters (exclude=false)\ + \ are OR'd together,\nexclusionary filters (exclude=true) are OR'd and\ + \ negated, then both groups are AND'd.\n" + title: Filters + description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\nSchema:\ + \ {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"data\",\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `data`.\",\n \"title\"\ + : \"Type\"\n },\n \"author\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"data\": {\n \ + \ \"anyOf\": [\n {\n \"additionalProperties\": true,\n\ + \ \"type\": \"object\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"\ + default\": null,\n \"description\": \"The contents of the data\ + \ message.\",\n \"title\": \"Data\"\n }\n },\n \ + \ \"title\": \"DataContentEntityOptional\",\n \"type\": \"object\"\ + \n },\n \"FileAttachmentEntity\": {\n \"description\": \"Represents\ + \ a file attachment in messages.\",\n \"properties\": {\n \"\ + file_id\": {\n \"description\": \"The unique ID of the attached\ + \ file\",\n \"title\": \"File Id\",\n \"type\": \"string\"\ + \n },\n \"name\": {\n \"description\": \"The name\ + \ of the file\",\n \"title\": \"Name\",\n \"type\": \"\ + string\"\n },\n \"size\": {\n \"description\": \"\ + The size of the file in bytes\",\n \"title\": \"Size\",\n \ + \ \"type\": \"integer\"\n },\n \"type\": {\n \ + \ \"description\": \"The MIME type or content type of the file\",\n \ + \ \"title\": \"Type\",\n \"type\": \"string\"\n }\n\ + \ },\n \"required\": [\n \"file_id\",\n \"name\"\ + ,\n \"size\",\n \"type\"\n ],\n \"title\": \"FileAttachmentEntity\"\ + ,\n \"type\": \"object\"\n },\n \"MessageAuthor\": {\n \"\ + enum\": [\n \"user\",\n \"agent\"\n ],\n \"title\"\ + : \"MessageAuthor\",\n \"type\": \"string\"\n },\n \"MessageStyle\"\ + : {\n \"enum\": [\n \"static\",\n \"active\"\n ],\n\ + \ \"title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n\ + \ \"ReasoningContentEntityOptional\": {\n \"properties\": {\n \ + \ \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"reasoning\",\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `reasoning`.\",\n \"\ + title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"summary\": {\n \ + \ \"anyOf\": [\n {\n \"items\": {\n \ + \ \"type\": \"string\"\n },\n \"type\":\ + \ \"array\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \"\ + description\": \"A list of short reasoning summaries\",\n \"title\"\ + : \"Summary\"\n },\n \"content\": {\n \"anyOf\":\ + \ [\n {\n \"items\": {\n \"type\"\ + : \"string\"\n },\n \"type\": \"array\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The reasoning content or chain-of-thought text\",\n \"title\"\ + : \"Content\"\n }\n },\n \"title\": \"ReasoningContentEntityOptional\"\ + ,\n \"type\": \"object\"\n },\n \"TextContentEntityOptional\"\ + : {\n \"properties\": {\n \"type\": {\n \"anyOf\":\ + \ [\n {\n \"const\": \"text\",\n \"\ + type\": \"string\"\n },\n {\n \"type\"\ + : \"null\"\n }\n ],\n \"default\": null,\n\ + \ \"description\": \"The type of the message, in this case `text`.\"\ + ,\n \"title\": \"Type\"\n },\n \"author\": {\n \ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"format\": {\n \ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextFormat\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The format of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"content\": {\n \ + \ \"anyOf\": [\n {\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The contents of the text message.\",\n \"title\": \"Content\"\ + \n },\n \"attachments\": {\n \"anyOf\": [\n \ + \ {\n \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ + \n },\n \"type\": \"array\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"Optional\ + \ list of file attachments with structured metadata.\",\n \"title\"\ + : \"Attachments\"\n }\n },\n \"title\": \"TextContentEntityOptional\"\ + ,\n \"type\": \"object\"\n },\n \"TextFormat\": {\n \"enum\"\ + : [\n \"markdown\",\n \"plain\",\n \"code\"\n \ + \ ],\n \"title\": \"TextFormat\",\n \"type\": \"string\"\n \ + \ },\n \"ToolRequestContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"tool_request\",\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `tool_request`.\",\n \ + \ \"title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"tool_call_id\": {\n \ + \ \"anyOf\": [\n {\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The ID of the tool call that is being requested.\",\n \"title\"\ + : \"Tool Call Id\"\n },\n \"name\": {\n \"anyOf\"\ + : [\n {\n \"type\": \"string\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"The\ + \ name of the tool that is being requested.\",\n \"title\": \"\ + Name\"\n },\n \"arguments\": {\n \"anyOf\": [\n \ + \ {\n \"additionalProperties\": true,\n \ + \ \"type\": \"object\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"default\"\ + : null,\n \"description\": \"The arguments to the tool.\",\n \ + \ \"title\": \"Arguments\"\n }\n },\n \"title\"\ + : \"ToolRequestContentEntityOptional\",\n \"type\": \"object\"\n \ + \ },\n \"ToolResponseContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"tool_response\",\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `tool_response`.\",\n \ + \ \"title\": \"Type\"\n },\n \"author\": {\n \"\ + anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"tool_call_id\": {\n \ + \ \"anyOf\": [\n {\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The ID of the tool call that is being responded to.\",\n \"\ + title\": \"Tool Call Id\"\n },\n \"name\": {\n \"\ + anyOf\": [\n {\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n }\n\ + \ ],\n \"default\": null,\n \"description\":\ + \ \"The name of the tool that is being responded to.\",\n \"title\"\ + : \"Name\"\n },\n \"content\": {\n \"anyOf\": [\n\ + \ {},\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The result of the tool.\",\n \"title\": \"Content\"\n \ + \ },\n \"is_error\": {\n \"anyOf\": [\n {\n\ + \ \"type\": \"boolean\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \ + \ \"default\": null,\n \"description\": \"Whether the tool call\ + \ resulted in an error. `None` when the harness does not report a status.\"\ + ,\n \"title\": \"Is Error\"\n }\n },\n \"title\"\ + : \"ToolResponseContentEntityOptional\",\n \"type\": \"object\"\n \ + \ }\n },\n \"description\": \"Filter model for TaskMessage - all fields\ + \ optional for flexible filtering.\\n\\nThe `exclude` field determines whether\ + \ this filter is inclusionary or exclusionary.\\nWhen multiple filters are\ + \ provided:\\n- Inclusionary filters (exclude=False) are OR'd together\\\ + n- Exclusionary filters (exclude=True) are OR'd together and negated with\ + \ $nor\\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1\ + \ OR exclude2)\",\n \"properties\": {\n \"content\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/ToolRequestContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/DataContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ + \n },\n {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"Filter by message\ + \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ + : {\n \"anyOf\": [\n {\n \"enum\": [\n \"\ + IN_PROGRESS\",\n \"DONE\"\n ],\n \"type\":\ + \ \"string\"\n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\": \"Filter\ + \ by streaming status\",\n \"title\": \"Streaming Status\"\n },\n\ + \ \"exclude\": {\n \"default\": false,\n \"description\": \"\ + If true, this filter excludes matching messages\",\n \"title\": \"\ + Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\": \"TaskMessageEntityFilter\"\ + ,\n \"type\": \"object\"\n}\n\nEach filter can include:\n- `content`: Filter\ + \ by message content (type, author, data fields)\n- `streaming_status`:\ + \ Filter by status (\"IN_PROGRESS\" or \"DONE\")\n- `exclude`: If true,\ + \ excludes matching messages (default: false)\n\nMultiple filters are combined:\ + \ inclusionary filters (exclude=false) are OR'd together,\nexclusionary\ + \ filters (exclude=true) are OR'd and negated, then both groups are AND'd.\n" + examples: + single_filter: + summary: Filter by content type + value: '{"content": {"type": "text"}}' + multiple_types: + summary: Filter multiple content types (OR) + value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' + with_exclusion: + summary: Include data messages, exclude specific data types + value: '[{"content": {"type": "data"}}, {"content": {"data": {"type": + "error_report"}}, "exclude": true}]' + nested_data: + summary: Filter by nested data field + value: '{"content": {"data": {"type": "report_status_update"}}}' + - name: task_id + in: query + required: true + schema: + type: string + description: The task ID + title: Task Id + description: The task ID + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TaskMessage' + title: Response List Messages Messages Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /messages/{message_id}: + put: + tags: + - Messages + summary: Update Message + operationId: update_message_messages__message_id__put + parameters: + - name: message_id + in: path + required: true + schema: + type: string + title: Message Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTaskMessageRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMessage' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - Messages + summary: Get Message + operationId: get_message_messages__message_id__get + parameters: + - name: message_id + in: path + required: true + schema: + type: string + title: Message Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMessage' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /messages/paginated: + get: + tags: + - Messages + summary: List Messages Paginated + description: "List messages for a task with cursor-based pagination.\n\nThis\ + \ endpoint is designed for infinite scroll UIs where new messages may arrive\n\ + while paginating through older ones.\n\nArgs:\n task_id: The task ID to\ + \ filter messages by\n limit: Maximum number of messages to return (default:\ + \ 50)\n cursor: Opaque cursor string for pagination. Pass the `next_cursor`\ + \ from\n a previous response to get the next page.\n direction:\ + \ Pagination direction - \"older\" to get older messages (default),\n \ + \ \"newer\" to get newer messages.\n\nReturns:\n PaginatedMessagesResponse\ + \ with:\n - data: List of messages (newest first when direction=\"older\"\ + )\n - next_cursor: Cursor for fetching the next page (null if no more pages)\n\ + \ - has_more: Whether there are more messages to fetch\n\nExample:\n \ + \ First request: GET /messages/paginated?task_id=xxx&limit=50\n Next page:\ + \ GET /messages/paginated?task_id=xxx&limit=50&cursor=" + operationId: list_messages_paginated_messages_paginated_get + parameters: + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: cursor + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Cursor + - name: direction + in: query + required: false + schema: + enum: + - older + - newer + type: string + default: older + title: Direction + - name: filters + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\n\ + Schema: {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \ + \ \"properties\": {\n \"type\": {\n \"anyOf\": [\n \ + \ {\n \"const\": \"data\",\n \"type\"\ + : \"string\"\n },\n {\n \"type\": \"\ + null\"\n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The type of the message, in this case `data`.\"\ + ,\n \"title\": \"Type\"\n },\n \"author\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The role of the messages author, in this case `system`,\ + \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"data\"\ + : {\n \"anyOf\": [\n {\n \"additionalProperties\"\ + : true,\n \"type\": \"object\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n ],\n\ + \ \"default\": null,\n \"description\": \"The contents\ + \ of the data message.\",\n \"title\": \"Data\"\n }\n\ + \ },\n \"title\": \"DataContentEntityOptional\",\n \"type\"\ + : \"object\"\n },\n \"FileAttachmentEntity\": {\n \"description\"\ + : \"Represents a file attachment in messages.\",\n \"properties\"\ + : {\n \"file_id\": {\n \"description\": \"The unique ID\ + \ of the attached file\",\n \"title\": \"File Id\",\n \ + \ \"type\": \"string\"\n },\n \"name\": {\n \"\ + description\": \"The name of the file\",\n \"title\": \"Name\"\ + ,\n \"type\": \"string\"\n },\n \"size\": {\n \ + \ \"description\": \"The size of the file in bytes\",\n \ + \ \"title\": \"Size\",\n \"type\": \"integer\"\n },\n\ + \ \"type\": {\n \"description\": \"The MIME type or content\ + \ type of the file\",\n \"title\": \"Type\",\n \"type\"\ + : \"string\"\n }\n },\n \"required\": [\n \"file_id\"\ + ,\n \"name\",\n \"size\",\n \"type\"\n ],\n\ + \ \"title\": \"FileAttachmentEntity\",\n \"type\": \"object\"\ + \n },\n \"MessageAuthor\": {\n \"enum\": [\n \"user\"\ + ,\n \"agent\"\n ],\n \"title\": \"MessageAuthor\",\n\ + \ \"type\": \"string\"\n },\n \"MessageStyle\": {\n \"\ + enum\": [\n \"static\",\n \"active\"\n ],\n \"\ + title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n \"\ + ReasoningContentEntityOptional\": {\n \"properties\": {\n \ + \ \"type\": {\n \"anyOf\": [\n {\n \"\ + const\": \"reasoning\",\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `reasoning`.\",\n \"\ + title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The role of the messages author, in this case `system`,\ + \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"summary\"\ + : {\n \"anyOf\": [\n {\n \"items\": {\n\ + \ \"type\": \"string\"\n },\n \ + \ \"type\": \"array\"\n },\n {\n \"\ + type\": \"null\"\n }\n ],\n \"default\":\ + \ null,\n \"description\": \"A list of short reasoning summaries\"\ + ,\n \"title\": \"Summary\"\n },\n \"content\":\ + \ {\n \"anyOf\": [\n {\n \"items\": {\n\ + \ \"type\": \"string\"\n },\n \ + \ \"type\": \"array\"\n },\n {\n \"\ + type\": \"null\"\n }\n ],\n \"default\":\ + \ null,\n \"description\": \"The reasoning content or chain-of-thought\ + \ text\",\n \"title\": \"Content\"\n }\n },\n \ + \ \"title\": \"ReasoningContentEntityOptional\",\n \"type\": \"\ + object\"\n },\n \"TextContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"text\",\n \"type\": \"string\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The type of the message, in this case `text`.\",\n \ + \ \"title\": \"Type\"\n },\n \"author\": {\n \ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The role of the messages author, in this case `system`,\ + \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"format\"\ + : {\n \"anyOf\": [\n {\n \"$ref\": \"\ + #/$defs/TextFormat\"\n },\n {\n \"\ + type\": \"null\"\n }\n ],\n \"default\":\ + \ null,\n \"description\": \"The format of the message. This\ + \ is used by the client to determine how to display the message.\"\n \ + \ },\n \"content\": {\n \"anyOf\": [\n \ + \ {\n \"type\": \"string\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n ],\n\ + \ \"default\": null,\n \"description\": \"The contents\ + \ of the text message.\",\n \"title\": \"Content\"\n },\n\ + \ \"attachments\": {\n \"anyOf\": [\n {\n \ + \ \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ + \n },\n \"type\": \"array\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"\ + Optional list of file attachments with structured metadata.\",\n \ + \ \"title\": \"Attachments\"\n }\n },\n \"title\"\ + : \"TextContentEntityOptional\",\n \"type\": \"object\"\n },\n\ + \ \"TextFormat\": {\n \"enum\": [\n \"markdown\",\n \ + \ \"plain\",\n \"code\"\n ],\n \"title\": \"TextFormat\"\ + ,\n \"type\": \"string\"\n },\n \"ToolRequestContentEntityOptional\"\ + : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ + : [\n {\n \"const\": \"tool_request\",\n \ + \ \"type\": \"string\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"\ + default\": null,\n \"description\": \"The type of the message,\ + \ in this case `tool_request`.\",\n \"title\": \"Type\"\n \ + \ },\n \"author\": {\n \"anyOf\": [\n {\n\ + \ \"$ref\": \"#/$defs/MessageAuthor\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"\ + The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ + : {\n \"anyOf\": [\n {\n \"type\": \"\ + string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The ID of the tool call that is being requested.\"\ + ,\n \"title\": \"Tool Call Id\"\n },\n \"name\"\ + : {\n \"anyOf\": [\n {\n \"type\": \"\ + string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The name of the tool that is being requested.\"\ + ,\n \"title\": \"Name\"\n },\n \"arguments\": {\n\ + \ \"anyOf\": [\n {\n \"additionalProperties\"\ + : true,\n \"type\": \"object\"\n },\n \ + \ {\n \"type\": \"null\"\n }\n ],\n\ + \ \"default\": null,\n \"description\": \"The arguments\ + \ to the tool.\",\n \"title\": \"Arguments\"\n }\n \ + \ },\n \"title\": \"ToolRequestContentEntityOptional\",\n \ + \ \"type\": \"object\"\n },\n \"ToolResponseContentEntityOptional\"\ + : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ + : [\n {\n \"const\": \"tool_response\",\n \ + \ \"type\": \"string\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"\ + default\": null,\n \"description\": \"The type of the message,\ + \ in this case `tool_response`.\",\n \"title\": \"Type\"\n \ + \ },\n \"author\": {\n \"anyOf\": [\n \ + \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"\ + The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"The style of the message. This is used by the client\ + \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ + : {\n \"anyOf\": [\n {\n \"type\": \"\ + string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The ID of the tool call that is being responded\ + \ to.\",\n \"title\": \"Tool Call Id\"\n },\n \"\ + name\": {\n \"anyOf\": [\n {\n \"type\"\ + : \"string\"\n },\n {\n \"type\": \"\ + null\"\n }\n ],\n \"default\": null,\n \ + \ \"description\": \"The name of the tool that is being responded\ + \ to.\",\n \"title\": \"Name\"\n },\n \"content\"\ + : {\n \"anyOf\": [\n {},\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"default\"\ + : null,\n \"description\": \"The result of the tool.\",\n \ + \ \"title\": \"Content\"\n },\n \"is_error\": {\n\ + \ \"anyOf\": [\n {\n \"type\": \"boolean\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"\ + description\": \"Whether the tool call resulted in an error. `None` when\ + \ the harness does not report a status.\",\n \"title\": \"Is\ + \ Error\"\n }\n },\n \"title\": \"ToolResponseContentEntityOptional\"\ + ,\n \"type\": \"object\"\n }\n },\n \"description\": \"Filter\ + \ model for TaskMessage - all fields optional for flexible filtering.\\\ + n\\nThe `exclude` field determines whether this filter is inclusionary\ + \ or exclusionary.\\nWhen multiple filters are provided:\\n- Inclusionary\ + \ filters (exclude=False) are OR'd together\\n- Exclusionary filters (exclude=True)\ + \ are OR'd together and negated with $nor\\n- The two groups are AND'd:\ + \ (include1 OR include2) AND NOT (exclude1 OR exclude2)\",\n \"properties\"\ + : {\n \"content\": {\n \"anyOf\": [\n {\n \"$ref\"\ + : \"#/$defs/ToolRequestContentEntityOptional\"\n },\n {\n\ + \ \"$ref\": \"#/$defs/DataContentEntityOptional\"\n },\n\ + \ {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\n\ + \ },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ + \n },\n {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"Filter by message\ + \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ + : {\n \"anyOf\": [\n {\n \"enum\": [\n \ + \ \"IN_PROGRESS\",\n \"DONE\"\n ],\n \"\ + type\": \"string\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \"description\"\ + : \"Filter by streaming status\",\n \"title\": \"Streaming Status\"\ + \n },\n \"exclude\": {\n \"default\": false,\n \"description\"\ + : \"If true, this filter excludes matching messages\",\n \"title\"\ + : \"Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\"\ + : \"TaskMessageEntityFilter\",\n \"type\": \"object\"\n}\n\nEach filter\ + \ can include:\n- `content`: Filter by message content (type, author,\ + \ data fields)\n- `streaming_status`: Filter by status (\"IN_PROGRESS\"\ + \ or \"DONE\")\n- `exclude`: If true, excludes matching messages (default:\ + \ false)\n\nMultiple filters are combined: inclusionary filters (exclude=false)\ + \ are OR'd together,\nexclusionary filters (exclude=true) are OR'd and\ + \ negated, then both groups are AND'd.\n" + title: Filters + description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\nSchema:\ + \ {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"data\",\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `data`.\",\n \"title\"\ + : \"Type\"\n },\n \"author\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"data\": {\n \ + \ \"anyOf\": [\n {\n \"additionalProperties\": true,\n\ + \ \"type\": \"object\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"\ + default\": null,\n \"description\": \"The contents of the data\ + \ message.\",\n \"title\": \"Data\"\n }\n },\n \ + \ \"title\": \"DataContentEntityOptional\",\n \"type\": \"object\"\ + \n },\n \"FileAttachmentEntity\": {\n \"description\": \"Represents\ + \ a file attachment in messages.\",\n \"properties\": {\n \"\ + file_id\": {\n \"description\": \"The unique ID of the attached\ + \ file\",\n \"title\": \"File Id\",\n \"type\": \"string\"\ + \n },\n \"name\": {\n \"description\": \"The name\ + \ of the file\",\n \"title\": \"Name\",\n \"type\": \"\ + string\"\n },\n \"size\": {\n \"description\": \"\ + The size of the file in bytes\",\n \"title\": \"Size\",\n \ + \ \"type\": \"integer\"\n },\n \"type\": {\n \ + \ \"description\": \"The MIME type or content type of the file\",\n \ + \ \"title\": \"Type\",\n \"type\": \"string\"\n }\n\ + \ },\n \"required\": [\n \"file_id\",\n \"name\"\ + ,\n \"size\",\n \"type\"\n ],\n \"title\": \"FileAttachmentEntity\"\ + ,\n \"type\": \"object\"\n },\n \"MessageAuthor\": {\n \"\ + enum\": [\n \"user\",\n \"agent\"\n ],\n \"title\"\ + : \"MessageAuthor\",\n \"type\": \"string\"\n },\n \"MessageStyle\"\ + : {\n \"enum\": [\n \"static\",\n \"active\"\n ],\n\ + \ \"title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n\ + \ \"ReasoningContentEntityOptional\": {\n \"properties\": {\n \ + \ \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"reasoning\",\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `reasoning`.\",\n \"\ + title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"summary\": {\n \ + \ \"anyOf\": [\n {\n \"items\": {\n \ + \ \"type\": \"string\"\n },\n \"type\":\ + \ \"array\"\n },\n {\n \"type\": \"null\"\ + \n }\n ],\n \"default\": null,\n \"\ + description\": \"A list of short reasoning summaries\",\n \"title\"\ + : \"Summary\"\n },\n \"content\": {\n \"anyOf\":\ + \ [\n {\n \"items\": {\n \"type\"\ + : \"string\"\n },\n \"type\": \"array\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The reasoning content or chain-of-thought text\",\n \"title\"\ + : \"Content\"\n }\n },\n \"title\": \"ReasoningContentEntityOptional\"\ + ,\n \"type\": \"object\"\n },\n \"TextContentEntityOptional\"\ + : {\n \"properties\": {\n \"type\": {\n \"anyOf\":\ + \ [\n {\n \"const\": \"text\",\n \"\ + type\": \"string\"\n },\n {\n \"type\"\ + : \"null\"\n }\n ],\n \"default\": null,\n\ + \ \"description\": \"The type of the message, in this case `text`.\"\ + ,\n \"title\": \"Type\"\n },\n \"author\": {\n \ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"format\": {\n \ + \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextFormat\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The format of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"content\": {\n \ + \ \"anyOf\": [\n {\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The contents of the text message.\",\n \"title\": \"Content\"\ + \n },\n \"attachments\": {\n \"anyOf\": [\n \ + \ {\n \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ + \n },\n \"type\": \"array\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"Optional\ + \ list of file attachments with structured metadata.\",\n \"title\"\ + : \"Attachments\"\n }\n },\n \"title\": \"TextContentEntityOptional\"\ + ,\n \"type\": \"object\"\n },\n \"TextFormat\": {\n \"enum\"\ + : [\n \"markdown\",\n \"plain\",\n \"code\"\n \ + \ ],\n \"title\": \"TextFormat\",\n \"type\": \"string\"\n \ + \ },\n \"ToolRequestContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"tool_request\",\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `tool_request`.\",\n \ + \ \"title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"tool_call_id\": {\n \ + \ \"anyOf\": [\n {\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The ID of the tool call that is being requested.\",\n \"title\"\ + : \"Tool Call Id\"\n },\n \"name\": {\n \"anyOf\"\ + : [\n {\n \"type\": \"string\"\n },\n\ + \ {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"The\ + \ name of the tool that is being requested.\",\n \"title\": \"\ + Name\"\n },\n \"arguments\": {\n \"anyOf\": [\n \ + \ {\n \"additionalProperties\": true,\n \ + \ \"type\": \"object\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \"default\"\ + : null,\n \"description\": \"The arguments to the tool.\",\n \ + \ \"title\": \"Arguments\"\n }\n },\n \"title\"\ + : \"ToolRequestContentEntityOptional\",\n \"type\": \"object\"\n \ + \ },\n \"ToolResponseContentEntityOptional\": {\n \"properties\"\ + : {\n \"type\": {\n \"anyOf\": [\n {\n \ + \ \"const\": \"tool_response\",\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The type of the message, in this case `tool_response`.\",\n \ + \ \"title\": \"Type\"\n },\n \"author\": {\n \"\ + anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ + \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ + \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ + \ },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The style of the message. This is used by the client to determine how\ + \ to display the message.\"\n },\n \"tool_call_id\": {\n \ + \ \"anyOf\": [\n {\n \"type\": \"string\"\ + \n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The ID of the tool call that is being responded to.\",\n \"\ + title\": \"Tool Call Id\"\n },\n \"name\": {\n \"\ + anyOf\": [\n {\n \"type\": \"string\"\n \ + \ },\n {\n \"type\": \"null\"\n }\n\ + \ ],\n \"default\": null,\n \"description\":\ + \ \"The name of the tool that is being responded to.\",\n \"title\"\ + : \"Name\"\n },\n \"content\": {\n \"anyOf\": [\n\ + \ {},\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\"\ + : \"The result of the tool.\",\n \"title\": \"Content\"\n \ + \ },\n \"is_error\": {\n \"anyOf\": [\n {\n\ + \ \"type\": \"boolean\"\n },\n {\n \ + \ \"type\": \"null\"\n }\n ],\n \ + \ \"default\": null,\n \"description\": \"Whether the tool call\ + \ resulted in an error. `None` when the harness does not report a status.\"\ + ,\n \"title\": \"Is Error\"\n }\n },\n \"title\"\ + : \"ToolResponseContentEntityOptional\",\n \"type\": \"object\"\n \ + \ }\n },\n \"description\": \"Filter model for TaskMessage - all fields\ + \ optional for flexible filtering.\\n\\nThe `exclude` field determines whether\ + \ this filter is inclusionary or exclusionary.\\nWhen multiple filters are\ + \ provided:\\n- Inclusionary filters (exclude=False) are OR'd together\\\ + n- Exclusionary filters (exclude=True) are OR'd together and negated with\ + \ $nor\\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1\ + \ OR exclude2)\",\n \"properties\": {\n \"content\": {\n \"anyOf\"\ + : [\n {\n \"$ref\": \"#/$defs/ToolRequestContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/DataContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ + \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ + \n },\n {\n \"type\": \"null\"\n }\n \ + \ ],\n \"default\": null,\n \"description\": \"Filter by message\ + \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ + : {\n \"anyOf\": [\n {\n \"enum\": [\n \"\ + IN_PROGRESS\",\n \"DONE\"\n ],\n \"type\":\ + \ \"string\"\n },\n {\n \"type\": \"null\"\n \ + \ }\n ],\n \"default\": null,\n \"description\": \"Filter\ + \ by streaming status\",\n \"title\": \"Streaming Status\"\n },\n\ + \ \"exclude\": {\n \"default\": false,\n \"description\": \"\ + If true, this filter excludes matching messages\",\n \"title\": \"\ + Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\": \"TaskMessageEntityFilter\"\ + ,\n \"type\": \"object\"\n}\n\nEach filter can include:\n- `content`: Filter\ + \ by message content (type, author, data fields)\n- `streaming_status`:\ + \ Filter by status (\"IN_PROGRESS\" or \"DONE\")\n- `exclude`: If true,\ + \ excludes matching messages (default: false)\n\nMultiple filters are combined:\ + \ inclusionary filters (exclude=false) are OR'd together,\nexclusionary\ + \ filters (exclude=true) are OR'd and negated, then both groups are AND'd.\n" + examples: + single_filter: + summary: Filter by content type + value: '{"content": {"type": "text"}}' + multiple_types: + summary: Filter multiple content types (OR) + value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' + with_exclusion: + summary: Include data messages, exclude specific data types + value: '[{"content": {"type": "data"}}, {"content": {"data": {"type": + "error_report"}}, "exclude": true}]' + nested_data: + summary: Filter by nested data field + value: '{"content": {"data": {"type": "report_status_update"}}}' + - name: task_id + in: query + required: true + schema: + type: string + description: The task ID + title: Task Id + description: The task ID + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedMessagesResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /spans: + post: + tags: + - Spans + summary: Create Span + description: Create a new span with the provided parameters + operationId: create_span_spans_post + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSpanRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Span' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - Spans + summary: List Spans + description: List spans, optionally filtered by trace_id and/or task_id + operationId: list_spans_spans_get + parameters: + - name: trace_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Trace Id + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Task Id + - name: limit + in: query + required: false + schema: + type: integer + maximum: 1000 + minimum: 1 + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Span' + title: Response List Spans Spans Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /spans/{span_id}: + patch: + tags: + - Spans + summary: Partial Update Span + description: Update a span with the provided output data and mark it as complete + operationId: partial_update_span_spans__span_id__patch + parameters: + - name: span_id + in: path + required: true + schema: + type: string + title: Span Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSpanRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Span' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - Spans + summary: Get Span + description: Get a span by ID + operationId: get_span_spans__span_id__get + parameters: + - name: span_id + in: path + required: true + schema: + type: string + title: Span Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Span' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /states: + post: + tags: + - States + summary: Create Task State + operationId: create_task_state_states_post + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateStateRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/State' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - States + summary: List States + description: List all states, optionally filtered by query parameters. + operationId: filter_states_states_get + parameters: + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Task ID + title: Task Id + description: Task ID + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Agent ID + title: Agent Id + description: Agent ID + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit + description: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number + description: Page number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By + description: Field to order by + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction + description: Order direction (asc or desc) + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/State' + title: Response Filter States States Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /states/{state_id}: + get: + tags: + - States + summary: Get State by State ID + description: Get a state by its unique state ID. + operationId: get_state_states__state_id__get + parameters: + - name: state_id + in: path + required: true + schema: + type: string + title: State Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/State' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - States + summary: Update Task State + operationId: update_task_state_states__state_id__put + parameters: + - name: state_id + in: path + required: true + schema: + type: string + title: State Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateStateRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/State' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - States + summary: Delete Task State + operationId: delete_task_state_states__state_id__delete + parameters: + - name: state_id + in: path + required: true + schema: + type: string + title: State Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/State' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /events/{event_id}: + get: + tags: + - Events + summary: Get Event + operationId: get_event_events__event_id__get + parameters: + - name: event_id + in: path + required: true + schema: + type: string + title: Event Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Event' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /events: + get: + tags: + - Events + summary: List Events + description: 'List events for a specific task and agent. + + + Optionally filter for events after a specific sequence ID. + + Results are ordered by sequence_id.' + operationId: list_events_events_get + parameters: + - name: last_processed_event_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Optional event ID to get events after this ID + title: Last Processed Event Id + description: Optional event ID to get events after this ID + - name: limit + in: query + required: false + schema: + anyOf: + - type: integer + maximum: 1000 + minimum: 1 + - type: 'null' + description: Optional limit on number of results + title: Limit + description: Optional limit on number of results + - name: task_id + in: query + required: true + schema: + type: string + description: The task ID to filter events by + title: Task Id + description: The task ID to filter events by + - name: agent_id + in: query + required: true + schema: + type: string + description: The agent ID to filter events by + title: Agent Id + description: The agent ID to filter events by + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Event' + title: Response List Events Events Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /slack/events: + post: + tags: + - Slack + summary: Slack Events API ingress for the @agent app + operationId: slack_events_slack_events_post + responses: + '200': + description: Successful Response + content: + application/json: + schema: + additionalProperties: true + type: object + title: Response Slack Events Slack Events Post + /slack/commands: + post: + tags: + - Slack + summary: Slack slash-command ingress (e.g. /agents) + operationId: slack_commands_slack_commands_post + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + /slack/interactions: + post: + tags: + - Slack + summary: Slack interactivity ingress (modals, shortcuts) + operationId: slack_interactions_slack_interactions_post + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + /tracker/{tracker_id}: + get: + tags: + - Agent Task Tracker + summary: Get Agent Task Tracker + description: Get agent task tracker by tracker ID + operationId: get_agent_task_tracker_tracker__tracker_id__get + parameters: + - name: tracker_id + in: path + required: true + schema: + type: string + title: Tracker Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentTaskTracker' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Agent Task Tracker + summary: Update Agent Task Tracker + description: Update agent task tracker by tracker ID + operationId: update_agent_task_tracker_tracker__tracker_id__put + parameters: + - name: tracker_id + in: path + required: true + schema: + type: string + title: Tracker Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateAgentTaskTrackerRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentTaskTracker' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tracker: + get: + tags: + - Agent Task Tracker + summary: List Agent Task Trackers + description: List all agent task trackers, optionally filtered by query parameters. + operationId: filter_agent_task_tracker_tracker_get + parameters: + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Agent ID + title: Agent Id + description: Agent ID + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Task ID + title: Task Id + description: Task ID + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit + description: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number + description: Page number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By + description: Field to order by + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction + description: Order direction (asc or desc) + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AgentTaskTracker' + title: Response Filter Agent Task Tracker Tracker Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agent_api_keys: + post: + tags: + - Agent APIKeys + summary: Create Api Key + operationId: create_api_key_agent_api_keys_post + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAPIKeyRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAPIKeyResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - Agent APIKeys + summary: List API keys for an agent ID + description: List API keys for an agent ID. + operationId: list_agent_api_keys_agent_api_keys_get + parameters: + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: limit + in: query + required: false + schema: + type: integer + maximum: 1000 + minimum: 1 + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + default: 1 + title: Page Number + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AgentAPIKey' + title: Response List Agent Api Keys Agent Api Keys Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agent_api_keys/webhook-trigger: + post: + tags: + - Agent APIKeys + summary: Create Webhook Trigger + description: 'Wire a webhook trigger in one call. + + + Registers the source''s signature-verification key (github/slack) for the + agent and + + returns the ready-to-paste forward webhook URL plus the signing secret (shown + once). + + The webhook then flows through the existing /agents/forward ingress, which + verifies + + the signature against this key. Bundles the existing key-create + URL composition + so + + a UI (or a curl) can set up a trigger without two steps.' + operationId: create_webhook_trigger_agent_api_keys_webhook_trigger_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateWebhookTriggerRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CreateWebhookTriggerResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agent_api_keys/name/{name}: + get: + tags: + - Agent APIKeys + summary: Return named API key for the agent ID + description: Return named API key for the agent ID. + operationId: get_agent_api_key_by_name_agent_api_keys_name__name__get + parameters: + - name: name + in: path + required: true + schema: + type: string + title: Name + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: api_key_type + in: query + required: false + schema: + $ref: '#/components/schemas/AgentAPIKeyType' + default: external + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentAPIKey' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agent_api_keys/{id}: + get: + tags: + - Agent APIKeys + summary: Return the API key by ID + description: Return API key by ID. + operationId: get_agent_api_key_agent_api_keys__id__get + parameters: + - name: id + in: path + required: true + schema: + type: string + title: Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentAPIKey' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Agent APIKeys + summary: Delete API key by ID + description: Delete API key by ID. + operationId: delete_agent_api_key_agent_api_keys__id__delete + parameters: + - name: id + in: path + required: true + schema: + type: string + title: Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: string + title: Response Delete Agent Api Key Agent Api Keys Id Delete + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agent_api_keys/name/{api_key_name}: + delete: + tags: + - Agent APIKeys + summary: Delete API key by name + description: Delete API key by name. + operationId: delete_agent_api_key_by_name_agent_api_keys_name__api_key_name__delete + parameters: + - name: api_key_name + in: path + required: true + schema: + type: string + title: Api Key Name + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: api_key_type + in: query + required: false + schema: + $ref: '#/components/schemas/AgentAPIKeyType' + default: external + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: string + title: Response Delete Agent Api Key By Name Agent Api Keys Name Api + Key Name Delete + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /linear/events: + post: + tags: + - Linear + summary: Linear agent webhook ingress for the @agentex app + operationId: linear_events_linear_events_post + responses: + '200': + description: Successful Response + content: + application/json: + schema: + additionalProperties: true + type: object + title: Response Linear Events Linear Events Post + /integrations/slack/link: + get: + tags: + - Integrations + summary: Confirm linking a Slack identity to SGP + description: 'Render the confirmation screen. Does NOT consume the nonce, so + a refresh or + + a link-prefetching browser doesn''t break the flow.' + operationId: slack_link_page_integrations_slack_link_get + parameters: + - name: nonce + in: query + required: false + schema: + type: string + default: '' + title: Nonce + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - Integrations + summary: Complete a Slack identity link + description: 'Mint a key as the signed-in user and store the mapping. + + + Order matters: the nonce is consumed only after a successful mint, so a + + transient identity-service failure leaves the link clickable instead of + + burning it and forcing the user back to Slack.' + operationId: slack_link_confirm_integrations_slack_link_post + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/Body_slack_link_confirm_integrations_slack_link_post' + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /deployment-history/{deployment_id}: + get: + tags: + - Deployment History + summary: Get Deployment by ID + description: Get a deployment record by its unique ID. + operationId: get_deployment_by_id_deployment_history__deployment_id__get + parameters: + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeploymentHistory' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /deployment-history: + get: + tags: + - Deployment History + summary: List Deployments for an agent + description: List deployment history for an agent. + operationId: list_deployments_deployment_history_get + parameters: + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DeploymentHistory' + title: Response List Deployments Deployment History Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/deployments: + post: + tags: + - Deployments + summary: Create Deployment + description: Create a new deployment record in PENDING status. + operationId: create_deployment_agents__agent_id__deployments_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDeploymentRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Deployment' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - Deployments + summary: List Deployments + description: List deployments for an agent, newest first. + operationId: list_deployments_agents__agent_id__deployments_get + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit + description: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number + description: Page number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By + description: Field to order by + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction + description: Order direction (asc or desc) + responses: + '200': + description: Successful Response + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Deployment' + title: Response List Deployments Agents Agent Id Deployments Get + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/deployments/{deployment_id}: + get: + tags: + - Deployments + summary: Get Deployment + description: Get a specific deployment by ID. + operationId: get_deployment_agents__agent_id__deployments__deployment_id__get + parameters: + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Deployment' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Deployments + summary: Delete Deployment + description: Delete a non-production deployment. + operationId: delete_deployment_agents__agent_id__deployments__deployment_id__delete + parameters: + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/deployments/{deployment_id}/promote: + post: + tags: + - Deployments + summary: Promote Deployment + description: Promote a deployment to production with atomic cutover. + operationId: promote_deployment_agents__agent_id__deployments__deployment_id__promote_post + parameters: + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Deployment' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/deployments/{deployment_id}/rpc: + post: + tags: + - Deployments + summary: Preview RPC + description: Send an RPC request to a specific deployment (for preview testing). + operationId: handle_deployment_rpc_agents__agent_id__deployments__deployment_id__rpc_post + parameters: + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRPCRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRPCResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules: + post: + tags: + - Schedules + summary: Create Run Schedule + description: Create a recurring schedule that starts a fresh agent run on each + fire. + operationId: create_run_schedule_agents__agent_id__schedules_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAgentRunScheduleRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + get: + tags: + - Schedules + summary: List Run Schedules + description: List run schedules for an agent. + operationId: list_run_schedules_agents__agent_id__schedules_get + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: limit + in: query + required: false + schema: + type: integer + maximum: 1000 + minimum: 1 + default: 100 + title: Limit + - name: include_live + in: query + required: false + schema: + type: boolean + description: Include live Temporal state and upcoming action times. + default: false + title: Include Live + description: Include live Temporal state and upcoming action times. + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/name/{name}: + get: + tags: + - Schedules + summary: Get Run Schedule By Name + description: Get a run schedule by its active name. + operationId: get_run_schedule_by_name_agents__agent_id__schedules_name__name__get + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: name + in: path + required: true + schema: + type: string + title: Name + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + patch: + tags: + - Schedules + summary: Update Run Schedule By Name + description: Partially update a run schedule's definition by its active name. + operationId: update_run_schedule_by_name_agents__agent_id__schedules_name__name__patch + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: name + in: path + required: true + schema: + type: string + title: Name + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateAgentRunScheduleRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Schedules + summary: Delete Run Schedule By Name + description: Delete a run schedule by its active name. + operationId: delete_run_schedule_by_name_agents__agent_id__schedules_name__name__delete + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: name + in: path + required: true + schema: + type: string + title: Name + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/{schedule_id}: + get: + tags: + - Schedules + summary: Get Run Schedule + description: Get a run schedule by its id. + operationId: get_run_schedule_agents__agent_id__schedules__schedule_id__get + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + patch: + tags: + - Schedules + summary: Update Run Schedule + description: Partially update a run schedule's definition (cadence, window, + input, etc.). + operationId: update_run_schedule_agents__agent_id__schedules__schedule_id__patch + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateAgentRunScheduleRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Schedules + summary: Delete Run Schedule + description: Delete a run schedule permanently. + operationId: delete_run_schedule_agents__agent_id__schedules__schedule_id__delete + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/name/{name}/trigger: + post: + tags: + - Schedules + summary: Trigger Run Schedule By Name + description: Trigger an immediate, out-of-band run of the schedule by its active + name. + operationId: trigger_run_schedule_by_name_agents__agent_id__schedules_name__name__trigger_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: name + in: path + required: true + schema: + type: string + title: Name + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/{schedule_id}/trigger: + post: + tags: + - Schedules + summary: Trigger Run Schedule + description: Trigger an immediate, out-of-band run of the schedule (in addition + to its cadence). + operationId: trigger_run_schedule_agents__agent_id__schedules__schedule_id__trigger_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/{schedule_id}/skip: + post: + tags: + - Schedules + summary: Skip Run Schedule Action + description: Skip a recurring fire of the schedule. + operationId: skip_run_schedule_action_agents__agent_id__schedules__schedule_id__skip_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SkipRunScheduleRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/{schedule_id}/unskip: + post: + tags: + - Schedules + summary: Unskip Run Schedule Action + description: Remove a skip for a recurring fire of the schedule. + operationId: unskip_run_schedule_action_agents__agent_id__schedules__schedule_id__unskip_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UnskipRunScheduleRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/name/{name}/pause: + post: + tags: + - Schedules + summary: Pause Run Schedule By Name + description: Pause a run schedule by its active name. + operationId: pause_run_schedule_by_name_agents__agent_id__schedules_name__name__pause_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: name + in: path + required: true + schema: + type: string + title: Name + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/PauseRunScheduleRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/{schedule_id}/pause: + post: + tags: + - Schedules + summary: Pause Run Schedule + description: Pause a run schedule so it stops firing. + operationId: pause_run_schedule_agents__agent_id__schedules__schedule_id__pause_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/PauseRunScheduleRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/name/{name}/resume: + post: + tags: + - Schedules + summary: Resume Run Schedule By Name + description: Resume a paused run schedule by its active name. + operationId: resume_run_schedule_by_name_agents__agent_id__schedules_name__name__resume_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: name + in: path + required: true + schema: + type: string + title: Name + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/ResumeRunScheduleRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /agents/{agent_id}/schedules/{schedule_id}/resume: + post: + tags: + - Schedules + summary: Resume Run Schedule + description: Resume a paused run schedule so it fires again. + operationId: resume_run_schedule_agents__agent_id__schedules__schedule_id__resume_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_id + in: path + required: true + schema: + type: string + title: Schedule Id + requestBody: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/ResumeRunScheduleRequest' + - type: 'null' + title: Request + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AgentRunScheduleResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /checkpoints/get-tuple: + post: + tags: + - Checkpoints + summary: Get Checkpoint Tuple + operationId: get_checkpoint_tuple_checkpoints_get_tuple_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetCheckpointTupleRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/CheckpointTupleResponse' + - type: 'null' + title: Response Get Checkpoint Tuple Checkpoints Get Tuple Post + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /checkpoints/put: + post: + tags: + - Checkpoints + summary: Put Checkpoint + operationId: put_checkpoint_checkpoints_put_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PutCheckpointRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PutCheckpointResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /checkpoints/put-writes: + post: + tags: + - Checkpoints + summary: Put Writes + operationId: put_writes_checkpoints_put_writes_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PutWritesRequest' + required: true + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /checkpoints/list: + post: + tags: + - Checkpoints + summary: List Checkpoints + operationId: list_checkpoints_checkpoints_list_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListCheckpointsRequest' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/CheckpointListItem' + type: array + title: Response List Checkpoints Checkpoints List Post + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /checkpoints/delete-thread: + post: + tags: + - Checkpoints + summary: Delete Thread + operationId: delete_thread_checkpoints_delete_thread_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteThreadRequest' + required: true + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/export: + get: + tags: + - task-retention + summary: Export Task + description: 'Build a self-contained snapshot of a task''s content surfaces. + + + Returns the exact payload format that POST /rehydrate accepts, so + + export → clean → rehydrate is a round-trip-equivalent operation.' + operationId: export_task_tasks__task_id__export_get + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ExportTaskResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - task-retention + summary: Export Task To Url + description: 'Build the task snapshot and PUT it to a caller-supplied presigned + URL. + + + Use this when the snapshot is too large for a JSON response body (long + + conversations, deep reasoning content, many attachments). The upload URL + + must be https and resolve to a public address — see SSRF guard.' + operationId: export_task_to_url_tasks__task_id__export_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExportTaskToUrlRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ExportTaskToUrlResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/clean: + post: + tags: + - task-retention + summary: Clean Task + description: 'Delete content-bearing rows for a stale task. + + + Refuses on active tasks, in-flight workflows, or unprocessed events + + regardless of `force`. The `force=true` flag only bypasses the + + idle-threshold check.' + operationId: clean_task_tasks__task_id__clean_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CleanTaskRequest' + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CleanTaskResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /tasks/{task_id}/rehydrate: + post: + tags: + - task-retention + summary: Rehydrate Task + description: 'Restore content-bearing rows from a snapshot. + + + Two modes: + + - Inline: caller provides messages and task_states in the request body. + + - URL: caller provides snapshot_url; Agentex downloads and parses it. + + + Refuses if the task isn''t currently in a cleaned state, or if any supplied + + message/state ID already exists in Mongo (catches double-rehydrate).' + operationId: rehydrate_task_tasks__task_id__rehydrate_post + parameters: + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RehydrateTaskRequest' + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' +components: + schemas: + ACPType: + type: string + enum: + - sync + - async + - agentic + title: ACPType + Agent: + properties: + id: + type: string + title: Id + description: The unique identifier of the agent. + name: + type: string + title: Name + description: The unique name of the agent. + description: + type: string + title: Description + description: The description of the action. + status: + $ref: '#/components/schemas/AgentStatus' + description: The status of the action, indicating if it's building, ready, + failed, etc. + default: Unknown + acp_type: + $ref: '#/components/schemas/ACPType' + description: The type of the ACP Server (Either sync or async) + status_reason: + anyOf: + - type: string + - type: 'null' + title: Status Reason + description: The reason for the status of the action. + created_at: + type: string + format: date-time + title: Created At + description: The timestamp when the agent was created + updated_at: + type: string + format: date-time + title: Updated At + description: The timestamp when the agent was last updated + registration_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Registration Metadata + description: The metadata for the agent's registration. + registered_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Registered At + description: The timestamp when the agent was last registered + agent_input_type: + anyOf: + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' + description: The type of input the agent expects. + production_deployment_id: + anyOf: + - type: string + - type: 'null' + title: Production Deployment Id + description: ID of the current production deployment. + type: object + required: + - id + - name + - description + - acp_type + - created_at + - updated_at + title: Agent + AgentAPIKey: + properties: + id: + type: string + title: Id + description: The unique identifier of the agent API key. + agent_id: + type: string + title: Agent Id + description: The UUID of the agent + created_at: + type: string + format: date-time + title: Created At + description: When the agent API key was created + name: + anyOf: + - type: string + - type: 'null' + title: Name + description: The optional name of the agent API key. + api_key_type: + $ref: '#/components/schemas/AgentAPIKeyType' + description: The type of the agent API key (either internal or external) + type: object + required: + - id + - agent_id + - created_at + - name + - api_key_type + title: AgentAPIKey + AgentAPIKeyType: + type: string + enum: + - internal + - external + - github + - slack + title: AgentAPIKeyType + AgentInputType: + type: string + enum: + - text + - json + title: AgentInputType + AgentRPCMethod: + type: string + enum: + - event/send + - task/create + - message/send + - task/cancel + - task/interrupt + title: AgentRPCMethod + AgentRPCParams: + anyOf: + - $ref: '#/components/schemas/CreateTaskRequest' + - $ref: '#/components/schemas/CancelTaskRequest' + - $ref: '#/components/schemas/InterruptTaskRequest' + - $ref: '#/components/schemas/SendMessageRequest' + - $ref: '#/components/schemas/SendEventRequest' + title: AgentRPCParams + description: The parameters for the agent RPC request + AgentRPCRequest: + properties: + jsonrpc: + type: string + const: '2.0' + title: Jsonrpc + default: '2.0' + method: + $ref: '#/components/schemas/AgentRPCMethod' + params: + $ref: '#/components/schemas/AgentRPCParams' + id: + anyOf: + - type: integer + - type: string + - type: 'null' + title: Id + type: object + required: + - method + - params + title: AgentRPCRequest + AgentRPCResponse: + properties: + jsonrpc: + type: string + const: '2.0' + title: Jsonrpc + default: '2.0' + result: + $ref: '#/components/schemas/AgentRPCResult' + description: The result of the agent RPC request + error: + anyOf: + - {} + - type: 'null' + title: Error + id: + anyOf: + - type: integer + - type: string + - type: 'null' + title: Id + type: object + required: + - result + title: AgentRPCResponse + AgentRPCResult: + anyOf: + - items: + $ref: '#/components/schemas/TaskMessage' + type: array + - $ref: '#/components/schemas/TaskMessageUpdate' + - $ref: '#/components/schemas/Task' + - $ref: '#/components/schemas/Event' + - type: 'null' + title: AgentRPCResult + AgentRunScheduleListResponse: + properties: + run_schedules: + items: + $ref: '#/components/schemas/AgentRunScheduleResponse' + type: array + title: Run Schedules + description: The list of run schedules. + total: + type: integer + title: Total + description: The number of run schedules returned. + type: object + required: + - run_schedules + - total + title: AgentRunScheduleListResponse + description: Response model for listing run schedules. + AgentRunScheduleResponse: + properties: + id: + type: string + title: Id + description: The unique identifier of the run schedule. + agent_id: + type: string + title: Agent Id + description: The agent this schedule belongs to. + name: + type: string + title: Name + description: Human-readable schedule name. + description: + anyOf: + - type: string + - type: 'null' + title: Description + description: Optional description. + cron_expression: + anyOf: + - type: string + - type: 'null' + title: Cron Expression + description: Cron cadence, if cron-based. + interval_seconds: + anyOf: + - type: integer + - type: 'null' + title: Interval Seconds + description: Interval cadence in seconds, if interval-based. + timezone: + type: string + title: Timezone + description: Timezone the cron expression is evaluated in. + default: UTC + start_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Start At + description: Schedule activation time. + end_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: End At + description: Schedule deactivation time. + paused: + type: boolean + title: Paused + description: Whether the schedule is paused. + default: false + task_params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Params + description: Task params at fire time. + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Metadata + description: Task metadata at fire time. + initial_input: + $ref: '#/components/schemas/ScheduleInitialInput' + description: The initial input. + initial_input_method: + type: string + title: Initial Input Method + description: Delivery method, inferred from the agent's ACP type. + creator_principal: + anyOf: + - $ref: '#/components/schemas/ScheduleCreatorPrincipal' + - type: 'null' + description: Credential-free creator identity. + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Created At + description: When the schedule was created. + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Updated At + description: When the schedule was updated. + state: + $ref: '#/components/schemas/RunScheduleState' + description: Live schedule state from Temporal. + default: ACTIVE + next_action_times: + items: + type: string + format: date-time + type: array + title: Next Action Times + description: Upcoming scheduled fire times. + live_data_available: + anyOf: + - type: boolean + - type: 'null' + title: Live Data Available + description: Whether requested live Temporal fields were retrieved successfully. + Null when live enrichment was not requested. + skipped_action_times: + items: + type: string + format: date-time + type: array + title: Skipped Action Times + description: Skipped one-off scheduled fire times. + last_action_time: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Last Action Time + description: When the schedule last fired. + num_actions_taken: + type: integer + title: Num Actions Taken + description: Number of times the schedule has fired. + default: 0 + type: object + required: + - id + - agent_id + - name + - initial_input + - initial_input_method + title: AgentRunScheduleResponse + description: Response model describing a scheduled agent run. + AgentStatus: + type: string + enum: + - Ready + - Failed + - Unknown + - Deleted + - Unhealthy + - BuildOnly + title: AgentStatus + AgentTaskTracker: + properties: + id: + type: string + title: Id + description: The UUID of the agent task tracker + agent_id: + type: string + title: Agent Id + description: The UUID of the agent + task_id: + type: string + title: Task Id + description: The UUID of the task + status: + anyOf: + - type: string + - type: 'null' + title: Status + description: Processing status + status_reason: + anyOf: + - type: string + - type: 'null' + title: Status Reason + description: Optional status reason + last_processed_event_id: + anyOf: + - type: string + - type: 'null' + title: Last Processed Event Id + description: The last processed event ID + created_at: + type: string + format: date-time + title: Created At + description: When the agent task tracker was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Updated At + description: When the agent task tracker was last updated + type: object + required: + - id + - agent_id + - task_id + - created_at + title: AgentTaskTracker + BatchCreateTaskMessagesRequest: + properties: + task_id: + type: string + title: The unique id of the task to send the messages to + contents: + items: + $ref: '#/components/schemas/TaskMessageContent' + type: array + title: The messages to send to the task. The order of the messages will + be the order they are added to the task. + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Optional caller-supplied base creation timestamp for the batch + description: Optional base timestamp. Each message in the batch is stamped + with base + i milliseconds to guarantee unique, monotonic ordering. If + omitted, the server stamps datetime.now(UTC) at insert time. + type: object + required: + - task_id + - contents + title: BatchCreateTaskMessagesRequest + BatchUpdateTaskMessagesRequest: + properties: + task_id: + type: string + title: The unique id of the task to update the messages of + updates: + additionalProperties: + $ref: '#/components/schemas/TaskMessageContent' + type: object + title: The updates to apply to the messages. The key is the TaskMessage + id and the value is the TaskMessageContent to update the message with. + type: object + required: + - task_id + - updates + title: BatchUpdateTaskMessagesRequest + BlobData: + properties: + channel: + type: string + title: Channel name + version: + type: string + title: Channel version + type: + type: string + title: Serialization type tag + blob: + anyOf: + - type: string + - type: 'null' + title: Base64-encoded binary data + type: object + required: + - channel + - version + - type + title: BlobData + BlobResponse: + properties: + channel: + type: string + title: Channel + version: + type: string + title: Version + type: + type: string + title: Type + blob: + anyOf: + - type: string + - type: 'null' + title: Blob + type: object + required: + - channel + - version + - type + title: BlobResponse + Body_slack_link_confirm_integrations_slack_link_post: + properties: + nonce: + type: string + title: Nonce + default: '' + type: object + title: Body_slack_link_confirm_integrations_slack_link_post + CancelTaskRequest: + properties: + task_id: + anyOf: + - type: string + - type: 'null' + title: Task Id + description: The ID of the task to cancel. Either this or task_name must + be provided. + task_name: + anyOf: + - type: string + - type: 'null' + title: Task Name + description: The name of the task to cancel. Either this or task_id must + be provided. + type: object + title: CancelTaskRequest + CheckpointListItem: + properties: + thread_id: + type: string + title: Thread Id + checkpoint_ns: + type: string + title: Checkpoint Ns + checkpoint_id: + type: string + title: Checkpoint Id + parent_checkpoint_id: + anyOf: + - type: string + - type: 'null' + title: Parent Checkpoint Id + checkpoint: + additionalProperties: true + type: object + title: Checkpoint + metadata: + additionalProperties: true + type: object + title: Metadata + type: object + required: + - thread_id + - checkpoint_ns + - checkpoint_id + - checkpoint + - metadata + title: CheckpointListItem + CheckpointTupleResponse: + properties: + thread_id: + type: string + title: Thread Id + checkpoint_ns: + type: string + title: Checkpoint Ns + checkpoint_id: + type: string + title: Checkpoint Id + parent_checkpoint_id: + anyOf: + - type: string + - type: 'null' + title: Parent Checkpoint Id + checkpoint: + additionalProperties: true + type: object + title: Checkpoint + metadata: + additionalProperties: true + type: object + title: Metadata + blobs: + items: + $ref: '#/components/schemas/BlobResponse' + type: array + title: Blobs + pending_writes: + items: + $ref: '#/components/schemas/WriteResponse' + type: array + title: Pending Writes + type: object + required: + - thread_id + - checkpoint_ns + - checkpoint_id + - checkpoint + - metadata + title: CheckpointTupleResponse + CleanTaskRequest: + properties: + force: + type: boolean + title: Force + description: Skip the idle-threshold check. Active-workflow and unprocessed-events + checks still apply. Admin use only. + default: false + idle_days: + type: integer + minimum: 1.0 + title: Idle Days + description: Idle threshold in days (ignored when force=true). + default: 7 + type: object + title: CleanTaskRequest + CleanTaskResponse: + properties: + task_id: + type: string + title: Task Id + cleaned_at: + type: string + format: date-time + title: Cleaned At + messages_deleted: + type: integer + title: Messages Deleted + task_states_deleted: + type: integer + title: Task States Deleted + events_deleted: + type: integer + title: Events Deleted + type: object + required: + - task_id + - cleaned_at + - messages_deleted + - task_states_deleted + - events_deleted + title: CleanTaskResponse + CreateAPIKeyRequest: + properties: + agent_id: + anyOf: + - type: string + - type: 'null' + title: Agent Id + description: The UUID of the agent + agent_name: + anyOf: + - type: string + - type: 'null' + title: Agent Name + description: The name of the agent - if not provided, the agent_id must + be set. + name: + type: string + title: Name + description: The name of the agent's API key. + api_key_type: + $ref: '#/components/schemas/AgentAPIKeyType' + description: The type of the agent API key (external by default). + default: external + api_key: + anyOf: + - type: string + - type: 'null' + title: Api Key + description: Optionally provide the API key value - if not set, one will + be generated. + type: object + required: + - name + title: CreateAPIKeyRequest + CreateAPIKeyResponse: + properties: + id: + type: string + title: Id + description: The unique identifier of the agent API key. + agent_id: + type: string + title: Agent Id + description: The UUID of the agent + created_at: + type: string + format: date-time + title: Created At + description: When the agent API key was created + name: + anyOf: + - type: string + - type: 'null' + title: Name + description: The optional name of the agent API key. + api_key_type: + $ref: '#/components/schemas/AgentAPIKeyType' + description: The type of the created agent API key (external). + api_key: + type: string + title: Api Key + description: The value of the newly created API key. + type: object + required: + - id + - agent_id + - created_at + - name + - api_key_type + - api_key + title: CreateAPIKeyResponse + CreateAgentRunScheduleRequest: + properties: + name: + type: string + maxLength: 64 + minLength: 1 + pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$ + title: Schedule Name + description: Human-readable name, unique among active schedules for the + agent. + description: + anyOf: + - type: string + - type: 'null' + title: Description + description: Optional description of what this schedule does. + cron_expression: + anyOf: + - type: string + - type: 'null' + title: Cron Expression + description: Cron expression for the cadence (e.g. '0 17 * * MON-FRI'). + Mutually exclusive with interval_seconds. + interval_seconds: + anyOf: + - type: integer + minimum: 1.0 + - type: 'null' + title: Interval Seconds + description: Interval cadence in seconds. Mutually exclusive with cron_expression. + timezone: + type: string + title: Timezone + description: IANA timezone the cron expression is evaluated in (e.g. 'America/New_York'). + default: UTC + start_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Start At + description: When the schedule should start being active. + end_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: End At + description: When the schedule should stop being active. + paused: + type: boolean + title: Paused + description: Whether to create the schedule in a paused state. + default: false + task_params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Params + description: Resolved config forwarded as task `params` at fire time. + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Metadata + description: Metadata copied onto each created task at fire time. + initial_input: + $ref: '#/components/schemas/ScheduleInitialInput' + description: The first input delivered to each created task. + type: object + required: + - name + - initial_input + title: CreateAgentRunScheduleRequest + description: Request body for creating a scheduled agent run. + CreateDeploymentRequest: + properties: + docker_image: + type: string + title: Docker Image + description: Full Docker image URI. + registration_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Registration Metadata + description: Git/build metadata (commit_hash, branch_name, author_name, + author_email, build_timestamp). + sgp_deploy_id: + anyOf: + - type: string + - type: 'null' + title: Sgp Deploy Id + description: SGP deployment ID. + helm_release_name: + anyOf: + - type: string + - type: 'null' + title: Helm Release Name + description: Helm release name. + type: object + required: + - docker_image + title: CreateDeploymentRequest + CreateSpanRequest: + properties: + id: + anyOf: + - type: string + - type: 'null' + title: Unique Span ID + description: Unique identifier for the span. If not provided, an ID will + be generated. + trace_id: + type: string + title: The trace ID for this span + description: Unique identifier for the trace this span belongs to + task_id: + anyOf: + - type: string + - type: 'null' + title: The task ID this span is associated with + description: ID of the task this span belongs to + parent_id: + anyOf: + - type: string + - type: 'null' + title: The parent span ID if this is a child span + description: ID of the parent span if this is a child span in a trace + name: + type: string + title: The name of the span + description: Name that describes what operation this span represents + start_time: + type: string + format: date-time + title: The start time of the span + description: The time the span started + end_time: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The end time of the span + description: The time the span ended + input: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: The input data for the span + description: Input parameters or data for the operation + output: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: The output data from the span + description: Output data resulting from the operation + data: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: Additional data associated with the span + description: Any additional metadata or context for the span + type: object + required: + - trace_id + - name + - start_time + title: CreateSpanRequest + CreateStateRequest: + properties: + task_id: + type: string + title: The unique id of the task to send the state to + agent_id: + type: string + title: The unique id of the agent to send the state to + state: + additionalProperties: true + type: object + title: The state to send to the task. + type: object + required: + - task_id + - agent_id + - state + title: CreateStateRequest + CreateTaskMessageRequest: + properties: + task_id: + type: string + title: The unique id of the task to send the message to + content: + $ref: '#/components/schemas/TaskMessageContent' + title: The message to send to the task. + streaming_status: + anyOf: + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' + title: The streaming status of the message + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Optional caller-supplied creation timestamp + description: Optional timestamp for the message. Workflow callers should + pass workflow.now() (Temporal's deterministic monotonic clock) so that + two awaited messages.create calls from the same workflow are guaranteed + to have monotonic timestamps regardless of HTTP scheduling at the server. + If omitted, the server's wall clock at insert time is used. + type: object + required: + - task_id + - content + title: CreateTaskMessageRequest + CreateTaskRequest: + properties: + name: + anyOf: + - type: string + - type: 'null' + title: Name + description: 'Optional human-readable name for the task. When set it must + be globally unique. task/create is get-or-create by name: reusing an existing + name returns the existing task (with its prior history) instead of creating + a new one, so omit name (or make it unique, e.g. by appending a UUID) + whenever each call should produce a fresh task.' + params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Params + description: The parameters for the task. On a get-or-create by name, providing + params overwrites the existing task's params (it is not a pure read). + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Metadata + description: Caller-provided metadata to persist on the task row. Only applied + at task creation; ignored if a task with this name already exists. Forwarded + to the agent inside the ACP payload for backward compatibility. + type: object + title: CreateTaskRequest + CreateWebhookTriggerRequest: + properties: + agent_name: + type: string + title: Agent Name + description: The agent the webhook drives. + source: + $ref: '#/components/schemas/AgentAPIKeyType' + description: Webhook source whose signature is verified (github or slack). + default: github + name: + type: string + title: Name + description: 'Signature-lookup key: the repo full_name (github) or api_app_id + (slack) that the forward ingress matches the incoming webhook against.' + forward_path: + type: string + title: Forward Path + description: Subpath the agent's own route handles, e.g. 'github-pr/'. + Appended to /agents/forward/name/{agent_name}/ to form the webhook URL. + secret: + anyOf: + - type: string + - type: 'null' + title: Secret + description: Signing secret. For GitHub, omit to generate one, or provide + an existing webhook secret. For Slack, this is required and must be the + Slack app's Signing Secret. + base_url: + anyOf: + - type: string + - type: 'null' + title: Base Url + description: Optional public agentex base URL for the returned webhook_url; + defaults to the AGENTEX_PUBLIC_URL env var. + type: object + required: + - agent_name + - name + - forward_path + title: CreateWebhookTriggerRequest + description: 'One-call setup for a webhook trigger: register the source''s signature + key and + + get back the ready-to-paste forward webhook URL.' + CreateWebhookTriggerResponse: + properties: + key_id: + type: string + title: Key Id + description: The created agent API key id. + agent_name: + type: string + title: Agent Name + description: The agent the webhook drives. + source: + $ref: '#/components/schemas/AgentAPIKeyType' + description: Webhook source (github or slack). + name: + type: string + title: Name + description: Signature-lookup key (repo full_name / api_app_id). + secret: + type: string + title: Secret + description: The signing secret — shown once; paste into the source's webhook + config. + webhook_path: + type: string + title: Webhook Path + description: The forward path to POST webhooks to. + webhook_url: + anyOf: + - type: string + - type: 'null' + title: Webhook Url + description: Full webhook URL to paste into the source (None if no base + URL configured). + type: object + required: + - key_id + - agent_name + - source + - name + - secret + - webhook_path + title: CreateWebhookTriggerResponse + DataContent: + properties: + type: + type: string + const: data + title: Type + description: The type of the message, in this case `data`. + default: data + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + data: + additionalProperties: true + type: object + title: Data + description: The contents of the data message. + type: object + required: + - author + - data + title: DataContent + DataContentEntity: + properties: + type: + type: string + const: data + title: Type + description: The type of the message, in this case `data`. + default: data + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + data: + additionalProperties: true + type: object + title: Data + description: The contents of the data message. + type: object + required: + - author + - data + title: DataContentEntity + DataDelta: + properties: + type: + type: string + const: data + title: Type + default: data + data_delta: + anyOf: + - type: string + - type: 'null' + title: Data Delta + default: '' + type: object + title: DataDelta + description: Delta for data updates + DeleteResponse: + properties: + id: + type: string + title: Id + message: + type: string + title: Message + type: object + required: + - id + - message + title: DeleteResponse + DeleteThreadRequest: + properties: + thread_id: + type: string + title: Thread ID + type: object + required: + - thread_id + title: DeleteThreadRequest + Deployment: + properties: + id: + type: string + title: Id + description: The unique identifier of the deployment. + agent_id: + type: string + title: Agent Id + description: The agent this deployment belongs to. + docker_image: + type: string + title: Docker Image + description: Full Docker image URI. + registration_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Registration Metadata + description: Git/build metadata from the agent pod. + status: + $ref: '#/components/schemas/DeploymentStatus' + description: Current deployment status. + acp_url: + anyOf: + - type: string + - type: 'null' + title: Acp Url + description: ACP URL set when agent registers. + is_production: + type: boolean + title: Is Production + description: Whether this is the production deployment. + sgp_deploy_id: + anyOf: + - type: string + - type: 'null' + title: Sgp Deploy Id + description: Correlates to SGP's agentex_deploys.id. + helm_release_name: + anyOf: + - type: string + - type: 'null' + title: Helm Release Name + description: Helm release name for cleanup. + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Created At + description: When the deployment was created. + promoted_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Promoted At + description: When promoted to production. + expires_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Expires At + description: When marked for cleanup. + type: object + required: + - id + - agent_id + - docker_image + - status + - is_production + title: Deployment + DeploymentHistory: + properties: + id: + type: string + title: Id + description: The unique identifier of the deployment record + agent_id: + type: string + title: Agent Id + description: The ID of the agent this deployment belongs to + author_name: + type: string + title: Author Name + description: Name of the commit author + author_email: + type: string + title: Author Email + description: Email of the commit author + branch_name: + type: string + title: Branch Name + description: Name of the branch + build_timestamp: + type: string + format: date-time + title: Build Timestamp + description: When the build was created + deployment_timestamp: + type: string + format: date-time + title: Deployment Timestamp + description: When this deployment was first seen in the system + commit_hash: + type: string + title: Commit Hash + description: Git commit hash for this deployment + type: object + required: + - id + - agent_id + - author_name + - author_email + - branch_name + - build_timestamp + - deployment_timestamp + - commit_hash + title: DeploymentHistory + description: API schema for deployment history. + DeploymentStatus: + type: string + enum: + - Pending + - Ready + - Failed + title: DeploymentStatus + Event: + properties: + id: + type: string + title: Id + description: The UUID of the event + sequence_id: + type: integer + title: Sequence Id + description: The sequence ID of the event + task_id: + type: string + title: Task Id + description: The UUID of the task that the event belongs to + agent_id: + type: string + title: Agent Id + description: The UUID of the agent that the event belongs to + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Created At + description: The timestamp of the event + content: + anyOf: + - $ref: '#/components/schemas/TaskMessageContent' + - type: 'null' + description: The content of the event + type: object + required: + - id + - sequence_id + - task_id + - agent_id + title: Event + ExportTaskResponse: + properties: + task_id: + type: string + title: Task Id + messages: + items: + $ref: '#/components/schemas/TaskMessageEntity' + type: array + title: Messages + task_states: + items: + $ref: '#/components/schemas/StateEntity' + type: array + title: Task States + type: object + required: + - task_id + title: ExportTaskResponse + description: Wire format mirrors the entity directly — schema parity is intentional. + ExportTaskToUrlRequest: + properties: + upload_url: + type: string + maxLength: 2083 + minLength: 1 + format: uri + title: Upload Url + description: Presigned PUT URL where Agentex will upload the task snapshot + as JSON. Must be https; must resolve to a public address. + type: object + required: + - upload_url + title: ExportTaskToUrlRequest + ExportTaskToUrlResponse: + properties: + task_id: + type: string + title: Task Id + upload_url: + type: string + title: Upload Url + uploaded_bytes: + type: integer + title: Uploaded Bytes + messages_count: + type: integer + title: Messages Count + task_states_count: + type: integer + title: Task States Count + type: object + required: + - task_id + - upload_url + - uploaded_bytes + - messages_count + - task_states_count + title: ExportTaskToUrlResponse + FileAttachment: + properties: + file_id: + type: string + title: File Id + description: The unique ID of the attached file + name: + type: string + title: Name + description: The name of the file + size: + type: integer + title: Size + description: The size of the file in bytes + type: + type: string + title: Type + description: The MIME type or content type of the file + type: object + required: + - file_id + - name + - size + - type + title: FileAttachment + description: Represents a file attachment in messages. + FileAttachmentEntity: + properties: + file_id: + type: string + title: File Id + description: The unique ID of the attached file + name: + type: string + title: Name + description: The name of the file + size: + type: integer + title: Size + description: The size of the file in bytes + type: + type: string + title: Type + description: The MIME type or content type of the file + type: object + required: + - file_id + - name + - size + - type + title: FileAttachmentEntity + description: Represents a file attachment in messages. + GetCheckpointTupleRequest: + properties: + thread_id: + type: string + title: Thread ID + checkpoint_ns: + type: string + title: Checkpoint namespace + default: '' + checkpoint_id: + anyOf: + - type: string + - type: 'null' + title: Checkpoint ID (None = latest) + type: object + required: + - thread_id + title: GetCheckpointTupleRequest + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + InterruptTaskRequest: + properties: + task_id: + anyOf: + - type: string + - type: 'null' + title: Task Id + description: The ID of the task to interrupt. Either this or task_name must + be provided. + task_name: + anyOf: + - type: string + - type: 'null' + title: Task Name + description: The name of the task to interrupt. Either this or task_id must + be provided. + type: object + title: InterruptTaskRequest + ListCheckpointsRequest: + properties: + thread_id: + type: string + title: Thread ID + checkpoint_ns: + anyOf: + - type: string + - type: 'null' + title: Checkpoint namespace + before_checkpoint_id: + anyOf: + - type: string + - type: 'null' + title: Before checkpoint ID + filter_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Metadata filter (JSONB @>) + limit: + type: integer + maximum: 1000.0 + minimum: 1.0 + title: Max results + default: 100 + type: object + required: + - thread_id + title: ListCheckpointsRequest + MessageAuthor: + type: string + enum: + - user + - agent + title: MessageAuthor + MessageStyle: + type: string + enum: + - static + - active + title: MessageStyle + PaginatedMessagesResponse: + properties: + data: + items: + $ref: '#/components/schemas/TaskMessage' + type: array + title: Data + description: List of messages + next_cursor: + anyOf: + - type: string + - type: 'null' + title: Next Cursor + description: Cursor for fetching the next page of older messages + has_more: + type: boolean + title: Has More + description: Whether there are more messages to fetch + default: false + type: object + required: + - data + title: PaginatedMessagesResponse + description: Response with cursor pagination metadata. + PauseRunScheduleRequest: + properties: + note: + anyOf: + - type: string + - type: 'null' + title: Note + description: Optional note explaining the pause. + type: object + title: PauseRunScheduleRequest + PutCheckpointRequest: + properties: + thread_id: + type: string + title: Thread ID + checkpoint_ns: + type: string + title: Checkpoint namespace + default: '' + checkpoint_id: + type: string + title: Checkpoint ID + parent_checkpoint_id: + anyOf: + - type: string + - type: 'null' + title: Parent checkpoint ID + checkpoint: + additionalProperties: true + type: object + title: Checkpoint JSONB payload + metadata: + additionalProperties: true + type: object + title: Checkpoint metadata + blobs: + items: + $ref: '#/components/schemas/BlobData' + type: array + title: Channel blob data + type: object + required: + - thread_id + - checkpoint_id + - checkpoint + title: PutCheckpointRequest + PutCheckpointResponse: + properties: + thread_id: + type: string + title: Thread Id + checkpoint_ns: + type: string + title: Checkpoint Ns + checkpoint_id: + type: string + title: Checkpoint Id + type: object + required: + - thread_id + - checkpoint_ns + - checkpoint_id + title: PutCheckpointResponse + PutWritesRequest: + properties: + thread_id: + type: string + title: Thread ID + checkpoint_ns: + type: string + title: Checkpoint namespace + default: '' + checkpoint_id: + type: string + title: Checkpoint ID + writes: + items: + $ref: '#/components/schemas/WriteData' + type: array + title: Write data + upsert: + type: boolean + title: Upsert mode + default: false + type: object + required: + - thread_id + - checkpoint_id + - writes + title: PutWritesRequest + ReasoningContent: + properties: + type: + type: string + const: reasoning + title: Type + description: The type of the message, in this case `reasoning`. + default: reasoning + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + summary: + items: + type: string + type: array + title: Summary + description: A list of short reasoning summaries + content: + anyOf: + - items: + type: string + type: array + - type: 'null' + title: Content + description: The reasoning content or chain-of-thought text + type: object + required: + - author + - summary + title: ReasoningContent + ReasoningContentDelta: + properties: + type: + type: string + const: reasoning_content + title: Type + default: reasoning_content + content_index: + type: integer + title: Content Index + content_delta: + anyOf: + - type: string + - type: 'null' + title: Content Delta + default: '' + type: object + required: + - content_index + title: ReasoningContentDelta + description: Delta for reasoning content updates + ReasoningContentEntity: + properties: + type: + type: string + const: reasoning + title: Type + description: The type of the message, in this case `reasoning`. + default: reasoning + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + summary: + items: + type: string + type: array + title: Summary + description: A list of short reasoning summaries + content: + anyOf: + - items: + type: string + type: array + - type: 'null' + title: Content + description: The reasoning content or chain-of-thought text + type: object + required: + - author + - summary + title: ReasoningContentEntity + ReasoningSummaryDelta: + properties: + type: + type: string + const: reasoning_summary + title: Type + default: reasoning_summary + summary_index: + type: integer + title: Summary Index + summary_delta: + anyOf: + - type: string + - type: 'null' + title: Summary Delta + default: '' + type: object + required: + - summary_index + title: ReasoningSummaryDelta + description: Delta for reasoning summary updates + RegisterAgentRequest: + properties: + name: + type: string + pattern: ^[a-z0-9-]+$ + title: Name + description: The unique name of the agent. + description: + type: string + title: Description + description: The description of the agent. + acp_url: + type: string + title: Acp Url + description: The URL of the ACP server for the agent. + agent_id: + anyOf: + - type: string + - type: 'null' + title: Agent Id + description: Optional agent ID if the agent already exists and needs to + be updated. + acp_type: + $ref: '#/components/schemas/ACPType' + description: The type of ACP to use for the agent. + principal_context: + anyOf: + - {} + - type: 'null' + title: Principal Context + description: Principal used for authorization + registration_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Registration Metadata + description: The metadata for the agent's registration. + agent_input_type: + anyOf: + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' + description: The type of input the agent expects. + type: object + required: + - name + - description + - acp_url + - acp_type + title: RegisterAgentRequest + RegisterAgentResponse: + properties: + id: + type: string + title: Id + description: The unique identifier of the agent. + name: + type: string + title: Name + description: The unique name of the agent. + description: + type: string + title: Description + description: The description of the action. + status: + $ref: '#/components/schemas/AgentStatus' + description: The status of the action, indicating if it's building, ready, + failed, etc. + default: Unknown + acp_type: + $ref: '#/components/schemas/ACPType' + description: The type of the ACP Server (Either sync or async) + status_reason: + anyOf: + - type: string + - type: 'null' + title: Status Reason + description: The reason for the status of the action. + created_at: + type: string + format: date-time + title: Created At + description: The timestamp when the agent was created + updated_at: + type: string + format: date-time + title: Updated At + description: The timestamp when the agent was last updated + registration_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Registration Metadata + description: The metadata for the agent's registration. + registered_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Registered At + description: The timestamp when the agent was last registered + agent_input_type: + anyOf: + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' + description: The type of input the agent expects. + production_deployment_id: + anyOf: + - type: string + - type: 'null' + title: Production Deployment Id + description: ID of the current production deployment. + agent_api_key: + anyOf: + - type: string + - type: 'null' + title: Agent Api Key + description: The API key for the agent, if applicable. + type: object + required: + - id + - name + - description + - acp_type + - created_at + - updated_at + title: RegisterAgentResponse + description: Response model for registering an agent. + RegisterBuildRequest: + properties: + name: + type: string + pattern: ^[a-z0-9-]+$ + title: Name + description: The unique name of the agent. + description: + type: string + title: Description + description: The description of the agent. + registration_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Registration Metadata + description: The metadata for the agent's build registration. + agent_input_type: + anyOf: + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' + description: The type of input the agent expects. + type: object + required: + - name + - description + title: RegisterBuildRequest + description: 'Request model for registering an agent at build time (pre-deploy). + + + Unlike RegisterAgentRequest, there is no acp_url (the agent is not running + + yet) and no acp_type is required. The created agent is left in BUILD_ONLY + + status so it can be permissioned/shared before it is deployed.' + RehydrateTaskRequest: + properties: + task_id: + type: string + title: Task Id + messages: + items: + $ref: '#/components/schemas/TaskMessageEntity' + type: array + title: Messages + task_states: + items: + $ref: '#/components/schemas/StateEntity' + type: array + title: Task States + snapshot_url: + anyOf: + - type: string + maxLength: 2083 + minLength: 1 + format: uri + - type: 'null' + title: Snapshot Url + description: Presigned GET URL whose body is a JSON-encoded TaskSnapshotEntity. + Must be https; must resolve to a public address. When set, messages/task_states + must be empty. + type: object + required: + - task_id + title: RehydrateTaskRequest + description: 'Either provide inline content (messages + task_states) or a snapshot_url + + pointing at a presigned JSON download. Mixing both is rejected. + + + The inline form is the canonical shape used by export''s GET response, so + + snapshot → clean → rehydrate round-trips cleanly without serialization + + changes.' + ResumeRunScheduleRequest: + properties: + note: + anyOf: + - type: string + - type: 'null' + title: Note + description: Optional note explaining the resume. + type: object + title: ResumeRunScheduleRequest + RunScheduleState: + type: string + enum: + - ACTIVE + - PAUSED + title: RunScheduleState + description: Live state of a run schedule, derived from Temporal. + ScheduleCreatorPrincipal: + properties: + principal_type: + anyOf: + - type: string + - type: 'null' + title: Principal Type + description: e.g. 'user' or 'service_account'. + user_id: + anyOf: + - type: string + - type: 'null' + title: User Id + description: Creator user id, if a user principal. + service_account_id: + anyOf: + - type: string + - type: 'null' + title: Service Account Id + description: Creator service-account id, if a service principal. + account_id: + anyOf: + - type: string + - type: 'null' + title: Account Id + description: Account/workspace id of the creator. + type: object + title: ScheduleCreatorPrincipal + description: 'Credential-free creator identity stored with the schedule. + + + Never carries cookies, JWTs, API keys, OAuth tokens, or request headers — + it + + is creator *context* used only for AuthZ and ownership at fire time.' + ScheduleInitialInput: + properties: + type: + type: string + const: text + title: Type + description: Input content type. + default: text + author: + $ref: '#/components/schemas/MessageAuthor' + description: The author attributed to the initial input. + default: user + content: + type: string + title: Content + description: The initial prompt delivered to the task. + type: object + required: + - content + title: ScheduleInitialInput + description: The first input delivered to each freshly created scheduled task. + SendEventRequest: + properties: + task_id: + anyOf: + - type: string + - type: 'null' + title: Task Id + description: The ID of the task that the event was sent to + task_name: + anyOf: + - type: string + - type: 'null' + title: Task Name + description: The name of the task that the event was sent to + content: + anyOf: + - $ref: '#/components/schemas/TaskMessageContent' + - type: 'null' + description: The content to send to the event + type: object + title: SendEventRequest + SendMessageRequest: + properties: + task_id: + anyOf: + - type: string + - type: 'null' + title: Task Id + description: The ID of the task that the message was sent to + task_name: + anyOf: + - type: string + - type: 'null' + title: Task Name + description: The name of the task that the message was sent to + content: + $ref: '#/components/schemas/TaskMessageContent' + description: The message that was sent to the agent + stream: + type: boolean + title: Stream + description: Whether to stream the response message back to the client + default: false + task_params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Params + description: The parameters for the task (only used when creating new tasks) + type: object + required: + - content + title: SendMessageRequest + SkipRunScheduleRequest: + properties: + scheduled_time: + type: string + format: date-time + title: Scheduled Time + description: Specific scheduled fire time to skip. + type: object + required: + - scheduled_time + title: SkipRunScheduleRequest + Span: + properties: + id: + type: string + title: Unique Span ID + trace_id: + type: string + title: The trace ID for this span + description: Unique identifier for the trace this span belongs to + task_id: + anyOf: + - type: string + - type: 'null' + title: The task ID this span is associated with + description: ID of the task this span belongs to + parent_id: + anyOf: + - type: string + - type: 'null' + title: The parent span ID if this is a child span + description: ID of the parent span if this is a child span in a trace + name: + type: string + title: The name of the span + description: Name that describes what operation this span represents + start_time: + type: string + format: date-time + title: The start time of the span + description: The time the span started + end_time: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The end time of the span + description: The time the span ended + input: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: The input data for the span + description: Input parameters or data for the operation + output: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: The output data from the span + description: Output data resulting from the operation + data: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: Additional data associated with the span + description: Any additional metadata or context for the span + type: object + required: + - id + - trace_id + - name + - start_time + title: Span + State: + properties: + task_id: + type: string + title: The unique id of the task to send the state to + agent_id: + type: string + title: The unique id of the agent to send the state to + state: + additionalProperties: true + type: object + title: The state to send to the task. + id: + type: string + title: Id + description: The task state's unique id + created_at: + type: string + format: date-time + title: Created At + description: The timestamp when the state was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Updated At + description: The timestamp when the state was last updated + type: object + required: + - task_id + - agent_id + - state + - id + - created_at + title: State + description: 'Represents a state in the agent system. A state is associated + uniquely with a task and an agent. + + + This entity is used to store states in MongoDB, with each state + + associated with a specific task and agent. The combination of task_id and + agent_id is globally unique. + + + The state is a dictionary of arbitrary data.' + StateEntity: + properties: + id: + anyOf: + - type: string + - type: 'null' + title: Id + description: The task state's unique id + task_id: + type: string + title: Task Id + description: ID of the task this state belongs to. The combination of task_id + and agent_id is globally unique. + agent_id: + type: string + title: Agent Id + description: ID of the agent this state belongs to. The combination of task_id + and agent_id is globally unique. + state: + additionalProperties: true + type: object + title: State + description: The state object that contains arbitrary data + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Created At + description: The timestamp when the state was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Updated At + description: The timestamp when the state was last updated + type: object + required: + - task_id + - agent_id + - state + title: StateEntity + description: 'Represents a state in the agent system. A state is associated + uniquely with a task and an agent. + + + This entity is used to store states in MongoDB, with each state + + associated with a specific task and agent. The combination of task_id and + agent_id is globally unique. + + + The state is a dictionary of arbitrary data.' + StreamTaskMessageDelta: + properties: + type: + type: string + const: delta + title: Type + default: delta + index: + anyOf: + - type: integer + - type: 'null' + title: Index + parent_task_message: + anyOf: + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' + delta: + anyOf: + - $ref: '#/components/schemas/TaskMessageDelta' + - type: 'null' + type: object + title: StreamTaskMessageDelta + description: Event for streaming chunks of content + StreamTaskMessageDone: + properties: + type: + type: string + const: done + title: Type + default: done + index: + anyOf: + - type: integer + - type: 'null' + title: Index + parent_task_message: + anyOf: + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' + type: object + title: StreamTaskMessageDone + description: Event for indicating the task is done + StreamTaskMessageFull: + properties: + type: + type: string + const: full + title: Type + default: full + index: + anyOf: + - type: integer + - type: 'null' + title: Index + parent_task_message: + anyOf: + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' + content: + $ref: '#/components/schemas/TaskMessageContent' + type: object + required: + - content + title: StreamTaskMessageFull + description: Event for streaming the full content + StreamTaskMessageStart: + properties: + type: + type: string + const: start + title: Type + default: start + index: + anyOf: + - type: integer + - type: 'null' + title: Index + parent_task_message: + anyOf: + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' + content: + $ref: '#/components/schemas/TaskMessageContent' + type: object + required: + - content + title: StreamTaskMessageStart + description: Event for starting a streaming message + Task: + properties: + id: + type: string + title: Unique Task ID + name: + anyOf: + - type: string + - type: 'null' + title: Unique name of the task + status: + anyOf: + - $ref: '#/components/schemas/TaskStatus' + - type: 'null' + title: The current status of the task + status_reason: + anyOf: + - type: string + - type: 'null' + title: The reason for the current task status + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task was last updated + cleaned_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task's content was cleaned for retention compliance; + null when active + params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task parameters + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task metadata + type: object + required: + - id + title: Task + TaskMessage: + properties: + id: + anyOf: + - type: string + - type: 'null' + title: Id + description: The task message's unique id + task_id: + type: string + title: Task Id + description: ID of the task this message belongs to + content: + $ref: '#/components/schemas/TaskMessageContent' + description: The content of the message. This content is not OpenAI compatible. + These are messages that are meant to be displayed to the user. + streaming_status: + anyOf: + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' + title: In case of streaming, this indicates whether the message is still + being streamed or has been completed + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Created At + description: The timestamp when the message was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Updated At + description: The timestamp when the message was last updated + type: object + required: + - task_id + - content + title: TaskMessage + description: 'Represents a message in the agent system. + + + This entity is used to store messages in MongoDB, with each message + + associated with a specific task.' + TaskMessageContent: + oneOf: + - $ref: '#/components/schemas/TextContent' + - $ref: '#/components/schemas/ReasoningContent' + - $ref: '#/components/schemas/DataContent' + - $ref: '#/components/schemas/ToolRequestContent' + - $ref: '#/components/schemas/ToolResponseContent' + title: TaskMessageContent + discriminator: + propertyName: type + mapping: + data: '#/components/schemas/DataContent' + reasoning: '#/components/schemas/ReasoningContent' + text: '#/components/schemas/TextContent' + tool_request: '#/components/schemas/ToolRequestContent' + tool_response: '#/components/schemas/ToolResponseContent' + TaskMessageDelta: + oneOf: + - $ref: '#/components/schemas/TextDelta' + - $ref: '#/components/schemas/DataDelta' + - $ref: '#/components/schemas/ToolRequestDelta' + - $ref: '#/components/schemas/ToolResponseDelta' + - $ref: '#/components/schemas/ReasoningSummaryDelta' + - $ref: '#/components/schemas/ReasoningContentDelta' + title: TaskMessageDelta + discriminator: + propertyName: type + mapping: + data: '#/components/schemas/DataDelta' + reasoning_content: '#/components/schemas/ReasoningContentDelta' + reasoning_summary: '#/components/schemas/ReasoningSummaryDelta' + text: '#/components/schemas/TextDelta' + tool_request: '#/components/schemas/ToolRequestDelta' + tool_response: '#/components/schemas/ToolResponseDelta' + TaskMessageEntity: + properties: + id: + anyOf: + - type: string + - type: 'null' + title: Id + description: The task message's unique id + task_id: + type: string + title: Task Id + description: ID of the task this message belongs to + content: + oneOf: + - $ref: '#/components/schemas/TextContentEntity' + - $ref: '#/components/schemas/DataContentEntity' + - $ref: '#/components/schemas/ToolRequestContentEntity' + - $ref: '#/components/schemas/ToolResponseContentEntity' + - $ref: '#/components/schemas/ReasoningContentEntity' + title: Content + description: The content of the message. This content is not OpenAI compatible. + These are messages that are meant to be displayed to the user. + discriminator: + propertyName: type + mapping: + data: '#/components/schemas/DataContentEntity' + reasoning: '#/components/schemas/ReasoningContentEntity' + text: '#/components/schemas/TextContentEntity' + tool_request: '#/components/schemas/ToolRequestContentEntity' + tool_response: '#/components/schemas/ToolResponseContentEntity' + streaming_status: + anyOf: + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' + title: In case of streaming, this indicates whether the message is still + being streamed or has been completed + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Created At + description: The timestamp when the message was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Updated At + description: The timestamp when the message was last updated + type: object + required: + - task_id + - content + title: TaskMessageEntity + description: 'Represents a message in the agent system. + + + This entity is used to store messages in MongoDB, with each message + + associated with a specific task.' + TaskMessageUpdate: + oneOf: + - $ref: '#/components/schemas/StreamTaskMessageStart' + - $ref: '#/components/schemas/StreamTaskMessageDelta' + - $ref: '#/components/schemas/StreamTaskMessageFull' + - $ref: '#/components/schemas/StreamTaskMessageDone' + title: TaskMessageUpdate + discriminator: + propertyName: type + mapping: + delta: '#/components/schemas/StreamTaskMessageDelta' + done: '#/components/schemas/StreamTaskMessageDone' + full: '#/components/schemas/StreamTaskMessageFull' + start: '#/components/schemas/StreamTaskMessageStart' + TaskRelationships: + type: string + enum: + - agents + title: TaskRelationships + description: Task relationships that can be loaded + TaskResponse: + properties: + id: + type: string + title: Unique Task ID + name: + anyOf: + - type: string + - type: 'null' + title: Unique name of the task + status: + anyOf: + - $ref: '#/components/schemas/TaskStatus' + - type: 'null' + title: The current status of the task + status_reason: + anyOf: + - type: string + - type: 'null' + title: The reason for the current task status + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task was last updated + cleaned_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task's content was cleaned for retention compliance; + null when active + params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task parameters + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task metadata + agents: + anyOf: + - items: + $ref: '#/components/schemas/Agent' + type: array + - type: 'null' + title: Agents associated with this task (only populated when 'agent' view + is requested) + type: object + required: + - id + title: TaskResponse + description: Task response model with optional related data based on relationships + TaskStatus: + type: string + enum: + - CANCELED + - COMPLETED + - FAILED + - RUNNING + - INTERRUPTED + - TERMINATED + - TIMED_OUT + - DELETED + title: TaskStatus + TaskStatusReasonRequest: + properties: + reason: + anyOf: + - type: string + - type: 'null' + title: Optional reason for the status change + type: object + title: TaskStatusReasonRequest + TaskSummary: + properties: + id: + type: string + title: Unique Task ID + name: + anyOf: + - type: string + - type: 'null' + title: Unique name of the task + status: + anyOf: + - $ref: '#/components/schemas/TaskStatus' + - type: 'null' + title: The current status of the task + status_reason: + anyOf: + - type: string + - type: 'null' + title: The reason for the current task status + created_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task was created + updated_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task was last updated + cleaned_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The timestamp when the task's content was cleaned for retention compliance; + null when active + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task metadata + agents: + anyOf: + - items: + $ref: '#/components/schemas/Agent' + type: array + - type: 'null' + title: Agents associated with this task (only populated when 'agents' view + is requested) + type: object + required: + - id + title: TaskSummary + description: 'Lean list-response shape. Omits `params` (the arbitrary create-time + + payload, which can carry per-caller secrets and PII); fetch GET /tasks/{id} + + for the full record.' + TextContent: + properties: + type: + type: string + const: text + title: Type + description: The type of the message, in this case `text`. + default: text + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + format: + $ref: '#/components/schemas/TextFormat' + description: The format of the message. This is used by the client to determine + how to display the message. + default: plain + content: + type: string + title: Content + description: The contents of the text message. + attachments: + anyOf: + - items: + $ref: '#/components/schemas/FileAttachment' + type: array + - type: 'null' + title: Attachments + description: Optional list of file attachments with structured metadata. + type: object + required: + - author + - content + title: TextContent + TextContentEntity: + properties: + type: + type: string + const: text + title: Type + description: The type of the message, in this case `text`. + default: text + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + format: + $ref: '#/components/schemas/TextFormat' + description: The format of the message. This is used by the client to determine + how to display the message. + default: plain + content: + type: string + title: Content + description: The contents of the text message. + attachments: + anyOf: + - items: + $ref: '#/components/schemas/FileAttachmentEntity' + type: array + - type: 'null' + title: Attachments + description: Optional list of file attachments with structured metadata. + type: object + required: + - author + - content + title: TextContentEntity + TextDelta: + properties: + type: + type: string + const: text + title: Type + default: text + text_delta: + anyOf: + - type: string + - type: 'null' + title: Text Delta + default: '' + type: object + title: TextDelta + description: Delta for text updates + TextFormat: + type: string + enum: + - markdown + - plain + - code + title: TextFormat + ToolRequestContent: + properties: + type: + type: string + const: tool_request + title: Type + description: The type of the message, in this case `tool_request`. + default: tool_request + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + tool_call_id: + type: string + title: Tool Call Id + description: The ID of the tool call that is being requested. + name: + type: string + title: Name + description: The name of the tool that is being requested. + arguments: + additionalProperties: true + type: object + title: Arguments + description: The arguments to the tool. + type: object + required: + - author + - tool_call_id + - name + - arguments + title: ToolRequestContent + ToolRequestContentEntity: + properties: + type: + type: string + const: tool_request + title: Type + description: The type of the message, in this case `tool_request`. + default: tool_request + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + tool_call_id: + type: string + title: Tool Call Id + description: The ID of the tool call that is being requested. + name: + type: string + title: Name + description: The name of the tool that is being requested. + arguments: + additionalProperties: true + type: object + title: Arguments + description: The arguments to the tool. + type: object + required: + - author + - tool_call_id + - name + - arguments + title: ToolRequestContentEntity + ToolRequestDelta: + properties: + type: + type: string + const: tool_request + title: Type + default: tool_request + tool_call_id: + type: string + title: Tool Call Id + name: + type: string + title: Name + arguments_delta: + anyOf: + - type: string + - type: 'null' + title: Arguments Delta + default: '' + type: object + required: + - tool_call_id + - name + title: ToolRequestDelta + description: Delta for tool request updates + ToolResponseContent: + properties: + type: + type: string + const: tool_response + title: Type + description: The type of the message, in this case `tool_response`. + default: tool_response + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + tool_call_id: + type: string + title: Tool Call Id + description: The ID of the tool call that is being responded to. + name: + type: string + title: Name + description: The name of the tool that is being responded to. + content: + title: Content + description: The result of the tool. + is_error: + anyOf: + - type: boolean + - type: 'null' + title: Is Error + description: Whether the tool call resulted in an error. `None` when the + harness does not report a status. + type: object + required: + - author + - tool_call_id + - name + - content + title: ToolResponseContent + ToolResponseContentEntity: + properties: + type: + type: string + const: tool_response + title: Type + description: The type of the message, in this case `tool_response`. + default: tool_response + author: + $ref: '#/components/schemas/MessageAuthor' + description: The role of the messages author, in this case `system`, `user`, + `assistant`, or `tool`. + style: + $ref: '#/components/schemas/MessageStyle' + description: The style of the message. This is used by the client to determine + how to display the message. + default: static + tool_call_id: + type: string + title: Tool Call Id + description: The ID of the tool call that is being responded to. + name: + type: string + title: Name + description: The name of the tool that is being responded to. + content: + title: Content + description: The result of the tool. + is_error: + anyOf: + - type: boolean + - type: 'null' + title: Is Error + description: Whether the tool call resulted in an error. `None` when the + harness does not report a status. + type: object + required: + - author + - tool_call_id + - name + - content + title: ToolResponseContentEntity + ToolResponseDelta: + properties: + type: + type: string + const: tool_response + title: Type + default: tool_response + tool_call_id: + type: string + title: Tool Call Id + name: + type: string + title: Name + content_delta: + anyOf: + - type: string + - type: 'null' + title: Content Delta + default: '' + type: object + required: + - tool_call_id + - name + title: ToolResponseDelta + description: Delta for tool response updates + UnskipRunScheduleRequest: + properties: + scheduled_time: + type: string + format: date-time + title: Scheduled Time + description: Specific scheduled fire time to unskip. + type: object + required: + - scheduled_time + title: UnskipRunScheduleRequest + UpdateAgentRunScheduleRequest: + properties: + name: + anyOf: + - type: string + maxLength: 64 + minLength: 1 + pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$ + - type: 'null' + title: Schedule Name + description: Human-readable name, unique among active schedules for the + agent. + description: + anyOf: + - type: string + - type: 'null' + title: Description + description: Optional description of what this schedule does. + cron_expression: + anyOf: + - type: string + - type: 'null' + title: Cron Expression + description: New cron cadence. Mutually exclusive with interval_seconds. + interval_seconds: + anyOf: + - type: integer + minimum: 1.0 + - type: 'null' + title: Interval Seconds + description: New interval cadence in seconds. Mutually exclusive with cron_expression. + timezone: + anyOf: + - type: string + - type: 'null' + title: Timezone + description: IANA timezone the cron expression is evaluated in. + start_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: Start At + description: When the schedule should start being active. + end_at: + anyOf: + - type: string + format: date-time + - type: 'null' + title: End At + description: When the schedule should stop being active. + paused: + anyOf: + - type: boolean + - type: 'null' + title: Paused + description: Pause/resume the schedule as part of the update. + task_params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Params + description: Resolved config forwarded as task `params` at fire time. + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Task Metadata + description: Metadata copied onto each created task at fire time. + initial_input: + anyOf: + - $ref: '#/components/schemas/ScheduleInitialInput' + - type: 'null' + description: Replacement initial input delivered to each created task. + type: object + title: UpdateAgentRunScheduleRequest + description: 'Partial update for a scheduled agent run. + + + Only fields present in the request body are changed. Setting + + ``cron_expression`` clears ``interval_seconds`` and vice versa; providing + both + + is rejected.' + UpdateAgentTaskTrackerRequest: + properties: + last_processed_event_id: + anyOf: + - type: string + - type: 'null' + title: Last Processed Event Id + description: The most recent processed event ID (omit to leave unchanged) + status: + anyOf: + - type: string + - type: 'null' + title: Status + description: Processing status + status_reason: + anyOf: + - type: string + - type: 'null' + title: Status Reason + description: Optional status reason + type: object + title: UpdateAgentTaskTrackerRequest + description: Request model for updating an agent task tracker. + UpdateSpanRequest: + properties: + trace_id: + anyOf: + - type: string + - type: 'null' + title: The trace ID for this span + description: Unique identifier for the trace this span belongs to + task_id: + anyOf: + - type: string + - type: 'null' + title: The task ID this span is associated with + description: ID of the task this span belongs to + parent_id: + anyOf: + - type: string + - type: 'null' + title: The parent span ID if this is a child span + description: ID of the parent span if this is a child span in a trace + name: + anyOf: + - type: string + - type: 'null' + title: The name of the span + description: Name that describes what operation this span represents + start_time: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The start time of the span + description: The time the span started + end_time: + anyOf: + - type: string + format: date-time + - type: 'null' + title: The end time of the span + description: The time the span ended + input: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: The input data for the span + description: Input parameters or data for the operation + output: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: The output data from the span + description: Output data resulting from the operation + data: + anyOf: + - additionalProperties: true + type: object + - items: + additionalProperties: true + type: object + type: array + - type: 'null' + title: Additional data associated with the span + description: Any additional metadata or context for the span + type: object + title: UpdateSpanRequest + UpdateStateRequest: + properties: + state: + additionalProperties: true + type: object + title: The state to update the state with. + type: object + required: + - state + title: UpdateStateRequest + UpdateTaskMessageRequest: + properties: + task_id: + type: string + title: The unique id of the task to update the message of + content: + $ref: '#/components/schemas/TaskMessageContent' + title: The message to update the message with. + streaming_status: + anyOf: + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' + title: The streaming status of the message + type: object + required: + - task_id + - content + title: UpdateTaskMessageRequest + UpdateTaskRequest: + properties: + task_metadata: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: If provided, replaces task_metadata with this value + merge_params: + anyOf: + - additionalProperties: true + type: object + - type: 'null' + title: Optional shallow-merge patch applied to the task's params column. + Top-level keys overwrite; pass full nested objects to change subfields. + type: object + title: UpdateTaskRequest + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + input: + title: Input + ctx: + type: object + title: Context + type: object + required: + - loc + - msg + - type + title: ValidationError + WriteData: + properties: + task_id: + type: string + title: Task ID + idx: + type: integer + title: Write index + channel: + type: string + title: Channel name + type: + anyOf: + - type: string + - type: 'null' + title: Serialization type tag + blob: + type: string + title: Base64-encoded binary data + task_path: + type: string + title: Task path + default: '' + type: object + required: + - task_id + - idx + - channel + - blob + title: WriteData + WriteResponse: + properties: + task_id: + type: string + title: Task Id + idx: + type: integer + title: Idx + channel: + type: string + title: Channel + type: + anyOf: + - type: string + - type: 'null' + title: Type + blob: + anyOf: + - type: string + - type: 'null' + title: Blob + type: object + required: + - task_id + - idx + - channel + title: WriteResponse diff --git a/stainless/stainless.yml b/stainless/stainless.yml new file mode 100644 index 00000000..b4376460 --- /dev/null +++ b/stainless/stainless.yml @@ -0,0 +1,314 @@ +# yaml-language-server: $schema=https://app.stainless.com/config-internal.schema.json + +organization: + # Name of your organization or company, used to determine the name of the client + # and headings. + name: agentex + # Link to your API documentation. + docs: https://docs.gp.scale.com + # Contact email for bug reports, questions, and support requests. + contact: roxanne.farhad@scale.com + +# `targets` define the output targets and their customization options, such as +# whether to emit the Node SDK and what it's package name should be. +targets: + typescript: + package_name: agentex + production_repo: scaleapi/scale-agentex-typescript + publish: + npm: true + staging_repo: scaleapi/scale-agentex-typescript-staging + python: + keep_files: + - "adk/**" + edition: python.2025-11-20 + package_name: agentex + production_repo: scaleapi/scale-agentex-python + publish: + pypi: true + project_name: agentex-client + staging_repo: scaleapi/scale-agentex-python-staging + +# `environments` are a map of the name of the environment (e.g. "sandbox", +# "production") to the corresponding url to use. +environments: + production: http://localhost:5003 + development: http://localhost:5003 + +# `resources` define the structure and organization for your API, such as how +# methods and models are grouped together and accessed. See the [configuration +# guide] for more information. +# +# [configuration guide]: https://www.stainless.com/docs/guides/configure#resources +resources: + + $shared: + models: + delete_response: DeleteResponse + + agents: + # Configure the models--named types--defined in the resource. Each key in the + # object is the name of the model and the value is either the name of a schema in + # `#/components/schemas` or an object with more detail. + # + # [reference]: https://www.stainless.com/docs/reference/config#model + models: + acp_type: '#/components/schemas/ACPType' + agent: '#/components/schemas/Agent' + agent_rpc_request: '#/components/schemas/AgentRPCRequest' + # agent_rpc_params: '#/components/schemas/AgentRPCParams' + task_message_content: '#/components/schemas/TaskMessageContent' + agent_rpc_response: '#/components/schemas/AgentRPCResponse' + agent_rpc_result: 'AgentRPCResult' + task_message_update: + openapi_uri: 'TaskMessageUpdate' + force_generation: true + text_delta: 'TextDelta' + data_delta: 'DataDelta' + reasoning_summary_delta: 'ReasoningSummaryDelta' + reasoning_content_delta: 'ReasoningContentDelta' + tool_request_delta: 'ToolRequestDelta' + tool_response_delta: 'ToolResponseDelta' + task_message_delta: 'TaskMessageDelta' + methods: + retrieve: get /agents/{agent_id} + delete: delete /agents/{agent_id} + list: get /agents + # register: post /agents/register + rpc: post /agents/{agent_id}/rpc + + retrieve_by_name: get /agents/name/{agent_name} + delete_by_name: delete /agents/name/{agent_name} + rpc_by_name: post /agents/name/{agent_name}/rpc + register_build: post /agents/register-build + # handle_rpc: + # endpoint: post /agents/{agent_id}/rpc + # type: http + # streaming: + # type: jsonl + # param_discriminator: TODO_UNSUPPORTED + # Subresources define resources that are nested within another for more powerful + # logical groupings, e.g. `cards.payments`. + # subresources: + # name: + # methods: + # retrieve: get /agents/name/{agent_name} + # delete: delete /agents/name/{agent_name} + # rpc: post /agents/name/{agent_name}/rpc + # handle_rpc: + # endpoint: post /agents/name/{agent_name}/rpc + # type: http + # streaming: + # type: jsonl + # param_discriminator: TODO_UNSUPPORTED + + subresources: + deployments: + methods: + create: post /agents/{agent_id}/deployments + list: get /agents/{agent_id}/deployments + retrieve: get /agents/{agent_id}/deployments/{deployment_id} + delete: delete /agents/{agent_id}/deployments/{deployment_id} + promote: post /agents/{agent_id}/deployments/{deployment_id}/promote + preview_rpc: post /agents/{agent_id}/deployments/{deployment_id}/rpc + schedules: + methods: + create: post /agents/{agent_id}/schedules + list: get /agents/{agent_id}/schedules + + retrieve: get /agents/{agent_id}/schedules/{schedule_id} + update: patch /agents/{agent_id}/schedules/{schedule_id} + delete: delete /agents/{agent_id}/schedules/{schedule_id} + pause: post /agents/{agent_id}/schedules/{schedule_id}/pause + resume: post /agents/{agent_id}/schedules/{schedule_id}/resume + trigger: post /agents/{agent_id}/schedules/{schedule_id}/trigger + skip: post /agents/{agent_id}/schedules/{schedule_id}/skip + unskip: post /agents/{agent_id}/schedules/{schedule_id}/unskip + + retrieve_by_name: get /agents/{agent_id}/schedules/name/{name} + update_by_name: patch /agents/{agent_id}/schedules/name/{name} + delete_by_name: delete /agents/{agent_id}/schedules/name/{name} + pause_by_name: post /agents/{agent_id}/schedules/name/{name}/pause + resume_by_name: post /agents/{agent_id}/schedules/name/{name}/resume + trigger_by_name: post /agents/{agent_id}/schedules/name/{name}/trigger + tasks: + models: + task: '#/components/schemas/Task' + methods: + retrieve: get /tasks/{task_id} + delete: delete /tasks/{task_id} + list: get /tasks + stream_events: + endpoint: get /tasks/{task_id}/stream + type: http + streaming: + type: sse + param_discriminator: null + retrieve_by_name: get /tasks/name/{task_name} + delete_by_name: delete /tasks/name/{task_name} + stream_events_by_name: + endpoint: get /tasks/name/{task_name}/stream + type: http + streaming: + type: sse + param_discriminator: null + update_by_id: put /tasks/{task_id} + update_by_name: put /tasks/name/{task_name} + complete: post /tasks/{task_id}/complete + fail: post /tasks/{task_id}/fail + cancel: post /tasks/{task_id}/cancel + terminate: post /tasks/{task_id}/terminate + timeout: post /tasks/{task_id}/timeout + query_workflow: get /tasks/{task_id}/query/{query_name} + interrupt: post /tasks/{task_id}/interrupt + # subresources: + # name: + # methods: + # retrieve: get /tasks/name/{task_name} + # delete: delete /tasks/name/{task_name} + # stream_events: + # endpoint: get /tasks/name/{task_name}/stream + # type: http + # streaming: + # type: sse + # param_discriminator: null + + messages: + models: + data_content: '#/components/schemas/DataContent' + message_author: '#/components/schemas/MessageAuthor' + message_style: '#/components/schemas/MessageStyle' + # streaming_status: '#/components/schemas/StreamingStatus' + task_message: '#/components/schemas/TaskMessage' + text_content: '#/components/schemas/TextContent' + text_format: '#/components/schemas/TextFormat' + reasoning_content: '#/components/schemas/ReasoningContent' + tool_request_content: '#/components/schemas/ToolRequestContent' + tool_response_content: '#/components/schemas/ToolResponseContent' + methods: + create: post /messages + list: get /messages + update: put /messages/{message_id} + retrieve: get /messages/{message_id} + list_paginated: get /messages/paginated + subresources: + batch: + methods: + update: put /messages/batch + create: post /messages/batch + + spans: + models: + span: '#/components/schemas/Span' + methods: + create: post /spans + list: get /spans + update: patch /spans/{span_id} + retrieve: get /spans/{span_id} + + states: + models: + state: '#/components/schemas/State' + methods: + create: post /states + list: get /states + retrieve: get /states/{state_id} + update: put /states/{state_id} + delete: delete /states/{state_id} + + events: + models: + event: '#/components/schemas/Event' + methods: + retrieve: get /events/{event_id} + list: get /events + + tracker: + models: + agent_task_tracker: '#/components/schemas/AgentTaskTracker' + methods: + retrieve: get /tracker/{tracker_id} + update: put /tracker/{tracker_id} + list: get /tracker + deployment_history: + methods: + retrieve: get /deployment-history/{deployment_id} + list: get /deployment-history + models: + deployment_history: '#/components/schemas/DeploymentHistory' + checkpoints: + methods: + get_tuple: post /checkpoints/get-tuple + put: post /checkpoints/put + put_writes: post /checkpoints/put-writes + list: post /checkpoints/list + delete_thread: post /checkpoints/delete-thread + webhooks: + methods: + create_webhook_trigger: post /agent_api_keys/webhook-trigger + +settings: + # All generated integration tests that hit the prism mock http server are marked + # as skipped. Removing this setting or setting it to false enables tests, but + # doing so may result in test failures due to bugs in the test server. + # + # [prism mock http server]: https://stoplight.io/open-source/prism + disable_mock_tests: true + license: Apache-2.0 + +# `client_settings` define settings for the API client, such as extra constructor +# arguments (used for authentication), retry behavior, idempotency, etc. +client_settings: + opts: + api_key: + type: string + read_env: AGENTEX_SDK_API_KEY + nullable: true + auth: + security_scheme: bearerAuth + +security_schemes: + bearerAuth: + type: http + scheme: bearer + +security: + - bearerAuth: [] + - {} + +# `readme` is used to configure the code snippets that will be rendered in the +# README.md of various SDKs. In particular, you can change the `headline` +# snippet's endpoint and the arguments to call it with. +readme: + example_requests: + default: + type: request + endpoint: get /tasks + params: {} + headline: + type: request + endpoint: get /tasks + params: {} + +openapi: + transforms: + - reason: For better names + command: extractToRefs + args: + ref: + target: $.components.schemas.SendMessageRequest.properties.content + name: '#/components/schemas/AnishsCoolSchema' +unspecified_endpoints: + - post /agents/register + - get /agents/forward/name/{agent_name}/{path} + - post /agents/forward/name/{agent_name}/{path} + - get /agent_api_keys + - post /agent_api_keys + - get /agent_api_keys/name/{name} + - get /agent_api_keys/{id} + - delete /agent_api_keys/{id} + - delete /agent_api_keys/name/{api_key_name} + - get /tasks/{task_id}/export + - post /tasks/{task_id}/export + - post /tasks/{task_id}/clean + - post /tasks/{task_id}/rehydrate diff --git a/stainless/workspace.json b/stainless/workspace.json new file mode 100644 index 00000000..706855f7 --- /dev/null +++ b/stainless/workspace.json @@ -0,0 +1,5 @@ +{ + "openapi_spec": "openapi.yml", + "stainless_config": "stainless.yml", + "output_path": "./sdks" +} From f4ddf145fd2d0b5c1073be0b317f07c27a293368 Mon Sep 17 00:00:00 2001 From: Ari Nguyen Date: Tue, 15 Sep 2026 13:53:13 -0700 Subject: [PATCH 2/6] chore(stainless): record custom-code seals for the migration branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the TypeScript and Python custom-code tracking files produced by the local stlc builds, and drops the superseded main-branch Python record. Its content is fully absorbed into the new seal — the two integrated trees have identical path sets — and its base/integrated refs remain on the staging SDK remote. Co-Authored-By: Claude Opus 5 --- .../python/2026-09-02T18-57-23-317Z-custom-code.json | 6 ------ .../python/2026-09-15T20-11-59-021Z-custom-code.json | 6 ++++++ .../typescript/2026-09-15T18-52-58-998Z-custom-code.json | 6 ++++++ .../typescript/2026-09-15T18-58-50-806Z-custom-code.json | 6 ++++++ 4 files changed, 18 insertions(+), 6 deletions(-) delete mode 100644 stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json create mode 100644 stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json create mode 100644 stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json create mode 100644 stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json diff --git a/stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json b/stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json deleted file mode 100644 index 936bbf84..00000000 --- a/stainless/custom-code/python/2026-09-02T18-57-23-317Z-custom-code.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "base": "08bb48c2fad4ba7e45f524e77a47e12cd302aad4", - "integrated": "f394ce7f1dfd0088eb63e7cdf64ff37307990706", - "branch": "main", - "filename": "2026-09-02T18-57-23-317Z-custom-code.json" -} \ No newline at end of file diff --git a/stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json b/stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json new file mode 100644 index 00000000..42258ec3 --- /dev/null +++ b/stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json @@ -0,0 +1,6 @@ +{ + "base": "0cf052eb8e58e4af68bd79f390dd41c2dd996c54", + "integrated": "0d33be0041506dc0949a10e9e1e671fe8e74b59d", + "filename": "2026-09-15T20-11-59-021Z-custom-code.json", + "branch": "aringuyen/stainless" +} diff --git a/stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json b/stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json new file mode 100644 index 00000000..0fdbd832 --- /dev/null +++ b/stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json @@ -0,0 +1,6 @@ +{ + "base": "098427dceea7aa4fe58187a36a7e71ec690dd0f2", + "integrated": "f674bdfe8251400bf62cf2a53d4114abbe9a4642", + "filename": "2026-09-15T18-52-58-998Z-custom-code.json", + "branch": "aringuyen/stainless-selfhost" +} diff --git a/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json b/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json new file mode 100644 index 00000000..4526f1bf --- /dev/null +++ b/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json @@ -0,0 +1,6 @@ +{ + "base": "7ca217ec710713563325a26a425b6604ae7121b3", + "integrated": "f674bdfe8251400bf62cf2a53d4114abbe9a4642", + "filename": "2026-09-15T18-58-50-806Z-custom-code.json", + "branch": "aringuyen/stainless" +} From b1f3785b5d336fbbdb8106700b29ea3dc4f89baf Mon Sep 17 00:00:00 2001 From: Ari Nguyen Date: Tue, 15 Sep 2026 14:18:17 -0700 Subject: [PATCH 3/6] chore(stainless): re-anchor the typescript custom-code base The latest local build moved the sealed base forward. Both the new base and the integrated commit are already on the staging SDK remote. Co-Authored-By: Claude Opus 5 --- .../typescript/2026-09-15T18-58-50-806Z-custom-code.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json b/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json index 4526f1bf..1f86673b 100644 --- a/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json +++ b/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json @@ -1,5 +1,5 @@ { - "base": "7ca217ec710713563325a26a425b6604ae7121b3", + "base": "457787d2c39e55e17873bafd93414577f1e7ddfa", "integrated": "f674bdfe8251400bf62cf2a53d4114abbe9a4642", "filename": "2026-09-15T18-58-50-806Z-custom-code.json", "branch": "aringuyen/stainless" From 0e7dcbfa973de11acf31e0e94eea7648761e2902 Mon Sep 17 00:00:00 2001 From: Ari Nguyen Date: Tue, 15 Sep 2026 14:37:05 -0700 Subject: [PATCH 4/6] chore(stainless): read the OpenAPI spec from its source of truth The workspace pointed at a copy written by stlc init. Nothing kept it in sync with the generated spec, so a merge or a release version bump would have silently split them and made local SDK generation build from a stale API surface. CI already reads the generated spec. Co-Authored-By: Claude Opus 5 --- stainless/openapi.yml | 7653 -------------------------------------- stainless/workspace.json | 2 +- 2 files changed, 1 insertion(+), 7654 deletions(-) delete mode 100644 stainless/openapi.yml diff --git a/stainless/openapi.yml b/stainless/openapi.yml deleted file mode 100644 index 88dd2a78..00000000 --- a/stainless/openapi.yml +++ /dev/null @@ -1,7653 +0,0 @@ -openapi: 3.1.0 -info: - title: Agentex API - version: 0.1.0 -paths: - /agents/{agent_id}: - get: - tags: - - Agents - summary: Get Agent by ID - description: Get an agent by its unique ID. - operationId: get_agent_by_id_agents__agent_id__get - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Agent' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Agents - summary: Delete Agent by ID - description: Delete an agent by its unique ID. - operationId: delete_agent_by_id_agents__agent_id__delete - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/name/{agent_name}: - get: - tags: - - Agents - summary: Get Agent by Name - description: Get an agent by its unique name. - operationId: get_agent_by_name_agents_name__agent_name__get - parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Agent' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Agents - summary: Delete Agent by Name - description: Delete an agent by its unique name. - operationId: delete_agent_by_name_agents_name__agent_name__delete - parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents: - get: - tags: - - Agents - summary: List Agents - description: List all registered agents, optionally filtered by query parameters. - operationId: list_agents_agents_get - parameters: - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Task ID - title: Task Id - description: Task ID - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 - description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string - description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Agent' - title: Response List Agents Agents Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/register: - post: - tags: - - Agents - summary: Register Agent - description: Register a new agent or update an existing one. - operationId: register_agent_agents_register_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RegisterAgentRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/RegisterAgentResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/register-build: - post: - tags: - - Agents - summary: Register Build - description: Register an agent at build time, before it is deployed, so it can - be permissioned and shared prior to deploy. Idempotent by name. - operationId: register_build_agents_register_build_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RegisterBuildRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Agent' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/forward/name/{agent_name}/{path}: - get: - tags: - - Agents - summary: Forward GET request to agent by name - description: Forward a GET request to an agent by its name. - operationId: forward_get_request_to_agent_agents_forward_name__agent_name___path__get - parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name - - name: path - in: path - required: true - schema: - type: string - title: Path - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Agents - summary: Forward POST request to agent by name - description: Forward a POST request to an agent by its name. - operationId: forward_post_request_to_agent_agents_forward_name__agent_name___path__post - parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name - - name: path - in: path - required: true - schema: - type: string - title: Path - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/rpc: - post: - tags: - - Agents - summary: Handle Agent RPC by ID - description: Handle JSON-RPC requests for an agent by its unique ID. - operationId: handle_agent_rpc_by_id_agents__agent_id__rpc_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRPCRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRPCResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/name/{agent_name}/rpc: - post: - tags: - - Agents - summary: Handle Agent RPC by Name - description: Handle JSON-RPC requests for an agent by its unique name. - operationId: handle_agent_rpc_by_name_agents_name__agent_name__rpc_post - parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRPCRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRPCResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}: - get: - tags: - - Tasks - summary: Get Task by ID - description: Get a task by its unique ID. - operationId: get_task_tasks__task_id__get - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - - name: relationships - in: query - required: false - schema: - type: array - items: - $ref: '#/components/schemas/TaskRelationships' - title: Relationships - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TaskResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Tasks - summary: Delete Task by ID - description: Delete a task by its unique ID. - operationId: delete_task_tasks__task_id__delete - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - put: - tags: - - Tasks - summary: Update Task by ID - description: Update mutable fields for a task by its unique ID. - operationId: update_task_tasks__task_id__put - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateTaskRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/name/{task_name}: - get: - tags: - - Tasks - summary: Get Task by Name - description: Get a task by its unique name. - operationId: get_task_by_name_tasks_name__task_name__get - parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name - - name: relationships - in: query - required: false - schema: - type: array - items: - $ref: '#/components/schemas/TaskRelationships' - title: Relationships - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TaskResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Tasks - summary: Delete Task by Name - description: Delete a task by its unique name. - operationId: delete_task_by_name_tasks_name__task_name__delete - parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - put: - tags: - - Tasks - summary: Update Task by Name - description: Update mutable fields for a task by its unique Name. - operationId: update_task_by_name_tasks_name__task_name__put - parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateTaskRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks: - get: - tags: - - Tasks - summary: List Tasks - description: List tasks. Returns a lean summary per task and omits `params`; - fetch GET /tasks/{task_id} for the full record including `params`. - operationId: list_tasks_tasks_get - parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: status - in: query - required: false - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatus' - - type: 'null' - description: Filter tasks by status (e.g. RUNNING, COMPLETED). - title: Status - description: Filter tasks by status (e.g. RUNNING, COMPLETED). - - name: task_metadata - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: 'JSON-encoded object used to filter tasks via JSONB containment. - Example: {"created_by_user_id": "abc-123"}.' - title: Task Metadata - description: 'JSON-encoded object used to filter tasks via JSONB containment. - Example: {"created_by_user_id": "abc-123"}.' - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction - - name: relationships - in: query - required: false - schema: - type: array - items: - $ref: '#/components/schemas/TaskRelationships' - title: Relationships - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TaskSummary' - title: Response List Tasks Tasks Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/complete: - post: - tags: - - Tasks - summary: Complete Task - description: Mark a running task as completed. - operationId: complete_task_tasks__task_id__complete_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/fail: - post: - tags: - - Tasks - summary: Fail Task - description: Mark a running task as failed. - operationId: fail_task_tasks__task_id__fail_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/cancel: - post: - tags: - - Tasks - summary: Cancel Task - description: Mark a running task as canceled. - operationId: cancel_task_tasks__task_id__cancel_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/interrupt: - post: - tags: - - Tasks - summary: Interrupt Task - description: Stop the in-flight turn without terminating the task. Transitions - a running task to the non-terminal INTERRUPTED status; the task stays continuable - and the next message or event resumes it. - operationId: interrupt_task_tasks__task_id__interrupt_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/terminate: - post: - tags: - - Tasks - summary: Terminate Task - description: Mark a running task as terminated. - operationId: terminate_task_tasks__task_id__terminate_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/timeout: - post: - tags: - - Tasks - summary: Timeout Task - description: Mark a running task as timed out. - operationId: timeout_task_tasks__task_id__timeout_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/stream: - get: - tags: - - Tasks - summary: Stream Task Events by ID - description: Stream events for a task by its unique ID. - operationId: stream_task_events_tasks__task_id__stream_get - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/name/{task_name}/stream: - get: - tags: - - Tasks - summary: Stream Task Events by Name - description: Stream events for a task by its unique name. - operationId: stream_task_events_by_name_tasks_name__task_name__stream_get - parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/query/{query_name}: - get: - tags: - - Tasks - summary: Query Task Workflow - description: Query a Temporal workflow associated with a task for its current - state. - operationId: query_task_workflow_tasks__task_id__query__query_name__get - parameters: - - name: query_name - in: path - required: true - schema: - type: string - title: Query Name - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: object - additionalProperties: true - title: Response Query Task Workflow Tasks Task Id Query Query Name Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /messages/batch: - put: - tags: - - Messages - summary: Batch Update Messages - operationId: batch_update_messages_messages_batch_put - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchUpdateTaskMessagesRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - items: - $ref: '#/components/schemas/TaskMessage' - type: array - title: Response Batch Update Messages Messages Batch Put - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Messages - summary: Batch Create Messages - operationId: batch_create_messages_messages_batch_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchCreateTaskMessagesRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - items: - $ref: '#/components/schemas/TaskMessage' - type: array - title: Response Batch Create Messages Messages Batch Post - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /messages: - post: - tags: - - Messages - summary: Create Message - operationId: create_message_messages_post - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTaskMessageRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TaskMessage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Messages - summary: List Messages - description: 'List messages for a task with offset-based pagination. - - - For cursor-based pagination with infinite scroll support, use /messages/paginated.' - operationId: list_messages_messages_get - parameters: - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction - - name: filters - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\n\ - Schema: {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \ - \ \"properties\": {\n \"type\": {\n \"anyOf\": [\n \ - \ {\n \"const\": \"data\",\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The type of the message, in this case `data`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"data\"\ - : {\n \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the data message.\",\n \"title\": \"Data\"\n }\n\ - \ },\n \"title\": \"DataContentEntityOptional\",\n \"type\"\ - : \"object\"\n },\n \"FileAttachmentEntity\": {\n \"description\"\ - : \"Represents a file attachment in messages.\",\n \"properties\"\ - : {\n \"file_id\": {\n \"description\": \"The unique ID\ - \ of the attached file\",\n \"title\": \"File Id\",\n \ - \ \"type\": \"string\"\n },\n \"name\": {\n \"\ - description\": \"The name of the file\",\n \"title\": \"Name\"\ - ,\n \"type\": \"string\"\n },\n \"size\": {\n \ - \ \"description\": \"The size of the file in bytes\",\n \ - \ \"title\": \"Size\",\n \"type\": \"integer\"\n },\n\ - \ \"type\": {\n \"description\": \"The MIME type or content\ - \ type of the file\",\n \"title\": \"Type\",\n \"type\"\ - : \"string\"\n }\n },\n \"required\": [\n \"file_id\"\ - ,\n \"name\",\n \"size\",\n \"type\"\n ],\n\ - \ \"title\": \"FileAttachmentEntity\",\n \"type\": \"object\"\ - \n },\n \"MessageAuthor\": {\n \"enum\": [\n \"user\"\ - ,\n \"agent\"\n ],\n \"title\": \"MessageAuthor\",\n\ - \ \"type\": \"string\"\n },\n \"MessageStyle\": {\n \"\ - enum\": [\n \"static\",\n \"active\"\n ],\n \"\ - title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n \"\ - ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \"\ - const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"summary\"\ - : {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"A list of short reasoning summaries\"\ - ,\n \"title\": \"Summary\"\n },\n \"content\":\ - \ {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The reasoning content or chain-of-thought\ - \ text\",\n \"title\": \"Content\"\n }\n },\n \ - \ \"title\": \"ReasoningContentEntityOptional\",\n \"type\": \"\ - object\"\n },\n \"TextContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"text\",\n \"type\": \"string\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The type of the message, in this case `text`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"format\"\ - : {\n \"anyOf\": [\n {\n \"$ref\": \"\ - #/$defs/TextFormat\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The format of the message. This\ - \ is used by the client to determine how to display the message.\"\n \ - \ },\n \"content\": {\n \"anyOf\": [\n \ - \ {\n \"type\": \"string\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the text message.\",\n \"title\": \"Content\"\n },\n\ - \ \"attachments\": {\n \"anyOf\": [\n {\n \ - \ \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - Optional list of file attachments with structured metadata.\",\n \ - \ \"title\": \"Attachments\"\n }\n },\n \"title\"\ - : \"TextContentEntityOptional\",\n \"type\": \"object\"\n },\n\ - \ \"TextFormat\": {\n \"enum\": [\n \"markdown\",\n \ - \ \"plain\",\n \"code\"\n ],\n \"title\": \"TextFormat\"\ - ,\n \"type\": \"string\"\n },\n \"ToolRequestContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_request\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_request`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n {\n\ - \ \"$ref\": \"#/$defs/MessageAuthor\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being requested.\"\ - ,\n \"title\": \"Tool Call Id\"\n },\n \"name\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being requested.\"\ - ,\n \"title\": \"Name\"\n },\n \"arguments\": {\n\ - \ \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The arguments\ - \ to the tool.\",\n \"title\": \"Arguments\"\n }\n \ - \ },\n \"title\": \"ToolRequestContentEntityOptional\",\n \ - \ \"type\": \"object\"\n },\n \"ToolResponseContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_response\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_response`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n \ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being responded\ - \ to.\",\n \"title\": \"Tool Call Id\"\n },\n \"\ - name\": {\n \"anyOf\": [\n {\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being responded\ - \ to.\",\n \"title\": \"Name\"\n },\n \"content\"\ - : {\n \"anyOf\": [\n {},\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The result of the tool.\",\n \ - \ \"title\": \"Content\"\n },\n \"is_error\": {\n\ - \ \"anyOf\": [\n {\n \"type\": \"boolean\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"Whether the tool call resulted in an error. `None` when\ - \ the harness does not report a status.\",\n \"title\": \"Is\ - \ Error\"\n }\n },\n \"title\": \"ToolResponseContentEntityOptional\"\ - ,\n \"type\": \"object\"\n }\n },\n \"description\": \"Filter\ - \ model for TaskMessage - all fields optional for flexible filtering.\\\ - n\\nThe `exclude` field determines whether this filter is inclusionary\ - \ or exclusionary.\\nWhen multiple filters are provided:\\n- Inclusionary\ - \ filters (exclude=False) are OR'd together\\n- Exclusionary filters (exclude=True)\ - \ are OR'd together and negated with $nor\\n- The two groups are AND'd:\ - \ (include1 OR include2) AND NOT (exclude1 OR exclude2)\",\n \"properties\"\ - : {\n \"content\": {\n \"anyOf\": [\n {\n \"$ref\"\ - : \"#/$defs/ToolRequestContentEntityOptional\"\n },\n {\n\ - \ \"$ref\": \"#/$defs/DataContentEntityOptional\"\n },\n\ - \ {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\n\ - \ },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \ - \ \"IN_PROGRESS\",\n \"DONE\"\n ],\n \"\ - type\": \"string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"description\"\ - : \"Filter by streaming status\",\n \"title\": \"Streaming Status\"\ - \n },\n \"exclude\": {\n \"default\": false,\n \"description\"\ - : \"If true, this filter excludes matching messages\",\n \"title\"\ - : \"Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\"\ - : \"TaskMessageEntityFilter\",\n \"type\": \"object\"\n}\n\nEach filter\ - \ can include:\n- `content`: Filter by message content (type, author,\ - \ data fields)\n- `streaming_status`: Filter by status (\"IN_PROGRESS\"\ - \ or \"DONE\")\n- `exclude`: If true, excludes matching messages (default:\ - \ false)\n\nMultiple filters are combined: inclusionary filters (exclude=false)\ - \ are OR'd together,\nexclusionary filters (exclude=true) are OR'd and\ - \ negated, then both groups are AND'd.\n" - title: Filters - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\nSchema:\ - \ {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"data\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `data`.\",\n \"title\"\ - : \"Type\"\n },\n \"author\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"data\": {\n \ - \ \"anyOf\": [\n {\n \"additionalProperties\": true,\n\ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The contents of the data\ - \ message.\",\n \"title\": \"Data\"\n }\n },\n \ - \ \"title\": \"DataContentEntityOptional\",\n \"type\": \"object\"\ - \n },\n \"FileAttachmentEntity\": {\n \"description\": \"Represents\ - \ a file attachment in messages.\",\n \"properties\": {\n \"\ - file_id\": {\n \"description\": \"The unique ID of the attached\ - \ file\",\n \"title\": \"File Id\",\n \"type\": \"string\"\ - \n },\n \"name\": {\n \"description\": \"The name\ - \ of the file\",\n \"title\": \"Name\",\n \"type\": \"\ - string\"\n },\n \"size\": {\n \"description\": \"\ - The size of the file in bytes\",\n \"title\": \"Size\",\n \ - \ \"type\": \"integer\"\n },\n \"type\": {\n \ - \ \"description\": \"The MIME type or content type of the file\",\n \ - \ \"title\": \"Type\",\n \"type\": \"string\"\n }\n\ - \ },\n \"required\": [\n \"file_id\",\n \"name\"\ - ,\n \"size\",\n \"type\"\n ],\n \"title\": \"FileAttachmentEntity\"\ - ,\n \"type\": \"object\"\n },\n \"MessageAuthor\": {\n \"\ - enum\": [\n \"user\",\n \"agent\"\n ],\n \"title\"\ - : \"MessageAuthor\",\n \"type\": \"string\"\n },\n \"MessageStyle\"\ - : {\n \"enum\": [\n \"static\",\n \"active\"\n ],\n\ - \ \"title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n\ - \ \"ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"summary\": {\n \ - \ \"anyOf\": [\n {\n \"items\": {\n \ - \ \"type\": \"string\"\n },\n \"type\":\ - \ \"array\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"\ - description\": \"A list of short reasoning summaries\",\n \"title\"\ - : \"Summary\"\n },\n \"content\": {\n \"anyOf\":\ - \ [\n {\n \"items\": {\n \"type\"\ - : \"string\"\n },\n \"type\": \"array\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The reasoning content or chain-of-thought text\",\n \"title\"\ - : \"Content\"\n }\n },\n \"title\": \"ReasoningContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\":\ - \ [\n {\n \"const\": \"text\",\n \"\ - type\": \"string\"\n },\n {\n \"type\"\ - : \"null\"\n }\n ],\n \"default\": null,\n\ - \ \"description\": \"The type of the message, in this case `text`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"format\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextFormat\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The format of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"content\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The contents of the text message.\",\n \"title\": \"Content\"\ - \n },\n \"attachments\": {\n \"anyOf\": [\n \ - \ {\n \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Optional\ - \ list of file attachments with structured metadata.\",\n \"title\"\ - : \"Attachments\"\n }\n },\n \"title\": \"TextContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextFormat\": {\n \"enum\"\ - : [\n \"markdown\",\n \"plain\",\n \"code\"\n \ - \ ],\n \"title\": \"TextFormat\",\n \"type\": \"string\"\n \ - \ },\n \"ToolRequestContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_request\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_request`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being requested.\",\n \"title\"\ - : \"Tool Call Id\"\n },\n \"name\": {\n \"anyOf\"\ - : [\n {\n \"type\": \"string\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"The\ - \ name of the tool that is being requested.\",\n \"title\": \"\ - Name\"\n },\n \"arguments\": {\n \"anyOf\": [\n \ - \ {\n \"additionalProperties\": true,\n \ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The arguments to the tool.\",\n \ - \ \"title\": \"Arguments\"\n }\n },\n \"title\"\ - : \"ToolRequestContentEntityOptional\",\n \"type\": \"object\"\n \ - \ },\n \"ToolResponseContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_response\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_response`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"\ - anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being responded to.\",\n \"\ - title\": \"Tool Call Id\"\n },\n \"name\": {\n \"\ - anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n }\n\ - \ ],\n \"default\": null,\n \"description\":\ - \ \"The name of the tool that is being responded to.\",\n \"title\"\ - : \"Name\"\n },\n \"content\": {\n \"anyOf\": [\n\ - \ {},\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The result of the tool.\",\n \"title\": \"Content\"\n \ - \ },\n \"is_error\": {\n \"anyOf\": [\n {\n\ - \ \"type\": \"boolean\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \ - \ \"default\": null,\n \"description\": \"Whether the tool call\ - \ resulted in an error. `None` when the harness does not report a status.\"\ - ,\n \"title\": \"Is Error\"\n }\n },\n \"title\"\ - : \"ToolResponseContentEntityOptional\",\n \"type\": \"object\"\n \ - \ }\n },\n \"description\": \"Filter model for TaskMessage - all fields\ - \ optional for flexible filtering.\\n\\nThe `exclude` field determines whether\ - \ this filter is inclusionary or exclusionary.\\nWhen multiple filters are\ - \ provided:\\n- Inclusionary filters (exclude=False) are OR'd together\\\ - n- Exclusionary filters (exclude=True) are OR'd together and negated with\ - \ $nor\\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1\ - \ OR exclude2)\",\n \"properties\": {\n \"content\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/ToolRequestContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/DataContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \"\ - IN_PROGRESS\",\n \"DONE\"\n ],\n \"type\":\ - \ \"string\"\n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\": \"Filter\ - \ by streaming status\",\n \"title\": \"Streaming Status\"\n },\n\ - \ \"exclude\": {\n \"default\": false,\n \"description\": \"\ - If true, this filter excludes matching messages\",\n \"title\": \"\ - Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\": \"TaskMessageEntityFilter\"\ - ,\n \"type\": \"object\"\n}\n\nEach filter can include:\n- `content`: Filter\ - \ by message content (type, author, data fields)\n- `streaming_status`:\ - \ Filter by status (\"IN_PROGRESS\" or \"DONE\")\n- `exclude`: If true,\ - \ excludes matching messages (default: false)\n\nMultiple filters are combined:\ - \ inclusionary filters (exclude=false) are OR'd together,\nexclusionary\ - \ filters (exclude=true) are OR'd and negated, then both groups are AND'd.\n" - examples: - single_filter: - summary: Filter by content type - value: '{"content": {"type": "text"}}' - multiple_types: - summary: Filter multiple content types (OR) - value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' - with_exclusion: - summary: Include data messages, exclude specific data types - value: '[{"content": {"type": "data"}}, {"content": {"data": {"type": - "error_report"}}, "exclude": true}]' - nested_data: - summary: Filter by nested data field - value: '{"content": {"data": {"type": "report_status_update"}}}' - - name: task_id - in: query - required: true - schema: - type: string - description: The task ID - title: Task Id - description: The task ID - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TaskMessage' - title: Response List Messages Messages Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /messages/{message_id}: - put: - tags: - - Messages - summary: Update Message - operationId: update_message_messages__message_id__put - parameters: - - name: message_id - in: path - required: true - schema: - type: string - title: Message Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateTaskMessageRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TaskMessage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Messages - summary: Get Message - operationId: get_message_messages__message_id__get - parameters: - - name: message_id - in: path - required: true - schema: - type: string - title: Message Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TaskMessage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /messages/paginated: - get: - tags: - - Messages - summary: List Messages Paginated - description: "List messages for a task with cursor-based pagination.\n\nThis\ - \ endpoint is designed for infinite scroll UIs where new messages may arrive\n\ - while paginating through older ones.\n\nArgs:\n task_id: The task ID to\ - \ filter messages by\n limit: Maximum number of messages to return (default:\ - \ 50)\n cursor: Opaque cursor string for pagination. Pass the `next_cursor`\ - \ from\n a previous response to get the next page.\n direction:\ - \ Pagination direction - \"older\" to get older messages (default),\n \ - \ \"newer\" to get newer messages.\n\nReturns:\n PaginatedMessagesResponse\ - \ with:\n - data: List of messages (newest first when direction=\"older\"\ - )\n - next_cursor: Cursor for fetching the next page (null if no more pages)\n\ - \ - has_more: Whether there are more messages to fetch\n\nExample:\n \ - \ First request: GET /messages/paginated?task_id=xxx&limit=50\n Next page:\ - \ GET /messages/paginated?task_id=xxx&limit=50&cursor=" - operationId: list_messages_paginated_messages_paginated_get - parameters: - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: cursor - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Cursor - - name: direction - in: query - required: false - schema: - enum: - - older - - newer - type: string - default: older - title: Direction - - name: filters - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\n\ - Schema: {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \ - \ \"properties\": {\n \"type\": {\n \"anyOf\": [\n \ - \ {\n \"const\": \"data\",\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The type of the message, in this case `data`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"data\"\ - : {\n \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the data message.\",\n \"title\": \"Data\"\n }\n\ - \ },\n \"title\": \"DataContentEntityOptional\",\n \"type\"\ - : \"object\"\n },\n \"FileAttachmentEntity\": {\n \"description\"\ - : \"Represents a file attachment in messages.\",\n \"properties\"\ - : {\n \"file_id\": {\n \"description\": \"The unique ID\ - \ of the attached file\",\n \"title\": \"File Id\",\n \ - \ \"type\": \"string\"\n },\n \"name\": {\n \"\ - description\": \"The name of the file\",\n \"title\": \"Name\"\ - ,\n \"type\": \"string\"\n },\n \"size\": {\n \ - \ \"description\": \"The size of the file in bytes\",\n \ - \ \"title\": \"Size\",\n \"type\": \"integer\"\n },\n\ - \ \"type\": {\n \"description\": \"The MIME type or content\ - \ type of the file\",\n \"title\": \"Type\",\n \"type\"\ - : \"string\"\n }\n },\n \"required\": [\n \"file_id\"\ - ,\n \"name\",\n \"size\",\n \"type\"\n ],\n\ - \ \"title\": \"FileAttachmentEntity\",\n \"type\": \"object\"\ - \n },\n \"MessageAuthor\": {\n \"enum\": [\n \"user\"\ - ,\n \"agent\"\n ],\n \"title\": \"MessageAuthor\",\n\ - \ \"type\": \"string\"\n },\n \"MessageStyle\": {\n \"\ - enum\": [\n \"static\",\n \"active\"\n ],\n \"\ - title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n \"\ - ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \"\ - const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"summary\"\ - : {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"A list of short reasoning summaries\"\ - ,\n \"title\": \"Summary\"\n },\n \"content\":\ - \ {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The reasoning content or chain-of-thought\ - \ text\",\n \"title\": \"Content\"\n }\n },\n \ - \ \"title\": \"ReasoningContentEntityOptional\",\n \"type\": \"\ - object\"\n },\n \"TextContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"text\",\n \"type\": \"string\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The type of the message, in this case `text`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"format\"\ - : {\n \"anyOf\": [\n {\n \"$ref\": \"\ - #/$defs/TextFormat\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The format of the message. This\ - \ is used by the client to determine how to display the message.\"\n \ - \ },\n \"content\": {\n \"anyOf\": [\n \ - \ {\n \"type\": \"string\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the text message.\",\n \"title\": \"Content\"\n },\n\ - \ \"attachments\": {\n \"anyOf\": [\n {\n \ - \ \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - Optional list of file attachments with structured metadata.\",\n \ - \ \"title\": \"Attachments\"\n }\n },\n \"title\"\ - : \"TextContentEntityOptional\",\n \"type\": \"object\"\n },\n\ - \ \"TextFormat\": {\n \"enum\": [\n \"markdown\",\n \ - \ \"plain\",\n \"code\"\n ],\n \"title\": \"TextFormat\"\ - ,\n \"type\": \"string\"\n },\n \"ToolRequestContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_request\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_request`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n {\n\ - \ \"$ref\": \"#/$defs/MessageAuthor\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being requested.\"\ - ,\n \"title\": \"Tool Call Id\"\n },\n \"name\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being requested.\"\ - ,\n \"title\": \"Name\"\n },\n \"arguments\": {\n\ - \ \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The arguments\ - \ to the tool.\",\n \"title\": \"Arguments\"\n }\n \ - \ },\n \"title\": \"ToolRequestContentEntityOptional\",\n \ - \ \"type\": \"object\"\n },\n \"ToolResponseContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_response\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_response`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n \ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being responded\ - \ to.\",\n \"title\": \"Tool Call Id\"\n },\n \"\ - name\": {\n \"anyOf\": [\n {\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being responded\ - \ to.\",\n \"title\": \"Name\"\n },\n \"content\"\ - : {\n \"anyOf\": [\n {},\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The result of the tool.\",\n \ - \ \"title\": \"Content\"\n },\n \"is_error\": {\n\ - \ \"anyOf\": [\n {\n \"type\": \"boolean\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"Whether the tool call resulted in an error. `None` when\ - \ the harness does not report a status.\",\n \"title\": \"Is\ - \ Error\"\n }\n },\n \"title\": \"ToolResponseContentEntityOptional\"\ - ,\n \"type\": \"object\"\n }\n },\n \"description\": \"Filter\ - \ model for TaskMessage - all fields optional for flexible filtering.\\\ - n\\nThe `exclude` field determines whether this filter is inclusionary\ - \ or exclusionary.\\nWhen multiple filters are provided:\\n- Inclusionary\ - \ filters (exclude=False) are OR'd together\\n- Exclusionary filters (exclude=True)\ - \ are OR'd together and negated with $nor\\n- The two groups are AND'd:\ - \ (include1 OR include2) AND NOT (exclude1 OR exclude2)\",\n \"properties\"\ - : {\n \"content\": {\n \"anyOf\": [\n {\n \"$ref\"\ - : \"#/$defs/ToolRequestContentEntityOptional\"\n },\n {\n\ - \ \"$ref\": \"#/$defs/DataContentEntityOptional\"\n },\n\ - \ {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\n\ - \ },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \ - \ \"IN_PROGRESS\",\n \"DONE\"\n ],\n \"\ - type\": \"string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"description\"\ - : \"Filter by streaming status\",\n \"title\": \"Streaming Status\"\ - \n },\n \"exclude\": {\n \"default\": false,\n \"description\"\ - : \"If true, this filter excludes matching messages\",\n \"title\"\ - : \"Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\"\ - : \"TaskMessageEntityFilter\",\n \"type\": \"object\"\n}\n\nEach filter\ - \ can include:\n- `content`: Filter by message content (type, author,\ - \ data fields)\n- `streaming_status`: Filter by status (\"IN_PROGRESS\"\ - \ or \"DONE\")\n- `exclude`: If true, excludes matching messages (default:\ - \ false)\n\nMultiple filters are combined: inclusionary filters (exclude=false)\ - \ are OR'd together,\nexclusionary filters (exclude=true) are OR'd and\ - \ negated, then both groups are AND'd.\n" - title: Filters - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\nSchema:\ - \ {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"data\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `data`.\",\n \"title\"\ - : \"Type\"\n },\n \"author\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"data\": {\n \ - \ \"anyOf\": [\n {\n \"additionalProperties\": true,\n\ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The contents of the data\ - \ message.\",\n \"title\": \"Data\"\n }\n },\n \ - \ \"title\": \"DataContentEntityOptional\",\n \"type\": \"object\"\ - \n },\n \"FileAttachmentEntity\": {\n \"description\": \"Represents\ - \ a file attachment in messages.\",\n \"properties\": {\n \"\ - file_id\": {\n \"description\": \"The unique ID of the attached\ - \ file\",\n \"title\": \"File Id\",\n \"type\": \"string\"\ - \n },\n \"name\": {\n \"description\": \"The name\ - \ of the file\",\n \"title\": \"Name\",\n \"type\": \"\ - string\"\n },\n \"size\": {\n \"description\": \"\ - The size of the file in bytes\",\n \"title\": \"Size\",\n \ - \ \"type\": \"integer\"\n },\n \"type\": {\n \ - \ \"description\": \"The MIME type or content type of the file\",\n \ - \ \"title\": \"Type\",\n \"type\": \"string\"\n }\n\ - \ },\n \"required\": [\n \"file_id\",\n \"name\"\ - ,\n \"size\",\n \"type\"\n ],\n \"title\": \"FileAttachmentEntity\"\ - ,\n \"type\": \"object\"\n },\n \"MessageAuthor\": {\n \"\ - enum\": [\n \"user\",\n \"agent\"\n ],\n \"title\"\ - : \"MessageAuthor\",\n \"type\": \"string\"\n },\n \"MessageStyle\"\ - : {\n \"enum\": [\n \"static\",\n \"active\"\n ],\n\ - \ \"title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n\ - \ \"ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"summary\": {\n \ - \ \"anyOf\": [\n {\n \"items\": {\n \ - \ \"type\": \"string\"\n },\n \"type\":\ - \ \"array\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"\ - description\": \"A list of short reasoning summaries\",\n \"title\"\ - : \"Summary\"\n },\n \"content\": {\n \"anyOf\":\ - \ [\n {\n \"items\": {\n \"type\"\ - : \"string\"\n },\n \"type\": \"array\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The reasoning content or chain-of-thought text\",\n \"title\"\ - : \"Content\"\n }\n },\n \"title\": \"ReasoningContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\":\ - \ [\n {\n \"const\": \"text\",\n \"\ - type\": \"string\"\n },\n {\n \"type\"\ - : \"null\"\n }\n ],\n \"default\": null,\n\ - \ \"description\": \"The type of the message, in this case `text`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"format\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextFormat\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The format of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"content\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The contents of the text message.\",\n \"title\": \"Content\"\ - \n },\n \"attachments\": {\n \"anyOf\": [\n \ - \ {\n \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Optional\ - \ list of file attachments with structured metadata.\",\n \"title\"\ - : \"Attachments\"\n }\n },\n \"title\": \"TextContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextFormat\": {\n \"enum\"\ - : [\n \"markdown\",\n \"plain\",\n \"code\"\n \ - \ ],\n \"title\": \"TextFormat\",\n \"type\": \"string\"\n \ - \ },\n \"ToolRequestContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_request\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_request`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being requested.\",\n \"title\"\ - : \"Tool Call Id\"\n },\n \"name\": {\n \"anyOf\"\ - : [\n {\n \"type\": \"string\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"The\ - \ name of the tool that is being requested.\",\n \"title\": \"\ - Name\"\n },\n \"arguments\": {\n \"anyOf\": [\n \ - \ {\n \"additionalProperties\": true,\n \ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The arguments to the tool.\",\n \ - \ \"title\": \"Arguments\"\n }\n },\n \"title\"\ - : \"ToolRequestContentEntityOptional\",\n \"type\": \"object\"\n \ - \ },\n \"ToolResponseContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_response\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_response`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"\ - anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being responded to.\",\n \"\ - title\": \"Tool Call Id\"\n },\n \"name\": {\n \"\ - anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n }\n\ - \ ],\n \"default\": null,\n \"description\":\ - \ \"The name of the tool that is being responded to.\",\n \"title\"\ - : \"Name\"\n },\n \"content\": {\n \"anyOf\": [\n\ - \ {},\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The result of the tool.\",\n \"title\": \"Content\"\n \ - \ },\n \"is_error\": {\n \"anyOf\": [\n {\n\ - \ \"type\": \"boolean\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \ - \ \"default\": null,\n \"description\": \"Whether the tool call\ - \ resulted in an error. `None` when the harness does not report a status.\"\ - ,\n \"title\": \"Is Error\"\n }\n },\n \"title\"\ - : \"ToolResponseContentEntityOptional\",\n \"type\": \"object\"\n \ - \ }\n },\n \"description\": \"Filter model for TaskMessage - all fields\ - \ optional for flexible filtering.\\n\\nThe `exclude` field determines whether\ - \ this filter is inclusionary or exclusionary.\\nWhen multiple filters are\ - \ provided:\\n- Inclusionary filters (exclude=False) are OR'd together\\\ - n- Exclusionary filters (exclude=True) are OR'd together and negated with\ - \ $nor\\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1\ - \ OR exclude2)\",\n \"properties\": {\n \"content\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/ToolRequestContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/DataContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \"\ - IN_PROGRESS\",\n \"DONE\"\n ],\n \"type\":\ - \ \"string\"\n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\": \"Filter\ - \ by streaming status\",\n \"title\": \"Streaming Status\"\n },\n\ - \ \"exclude\": {\n \"default\": false,\n \"description\": \"\ - If true, this filter excludes matching messages\",\n \"title\": \"\ - Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\": \"TaskMessageEntityFilter\"\ - ,\n \"type\": \"object\"\n}\n\nEach filter can include:\n- `content`: Filter\ - \ by message content (type, author, data fields)\n- `streaming_status`:\ - \ Filter by status (\"IN_PROGRESS\" or \"DONE\")\n- `exclude`: If true,\ - \ excludes matching messages (default: false)\n\nMultiple filters are combined:\ - \ inclusionary filters (exclude=false) are OR'd together,\nexclusionary\ - \ filters (exclude=true) are OR'd and negated, then both groups are AND'd.\n" - examples: - single_filter: - summary: Filter by content type - value: '{"content": {"type": "text"}}' - multiple_types: - summary: Filter multiple content types (OR) - value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' - with_exclusion: - summary: Include data messages, exclude specific data types - value: '[{"content": {"type": "data"}}, {"content": {"data": {"type": - "error_report"}}, "exclude": true}]' - nested_data: - summary: Filter by nested data field - value: '{"content": {"data": {"type": "report_status_update"}}}' - - name: task_id - in: query - required: true - schema: - type: string - description: The task ID - title: Task Id - description: The task ID - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedMessagesResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /spans: - post: - tags: - - Spans - summary: Create Span - description: Create a new span with the provided parameters - operationId: create_span_spans_post - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateSpanRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Span' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Spans - summary: List Spans - description: List spans, optionally filtered by trace_id and/or task_id - operationId: list_spans_spans_get - parameters: - - name: trace_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Trace Id - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Task Id - - name: limit - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Span' - title: Response List Spans Spans Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /spans/{span_id}: - patch: - tags: - - Spans - summary: Partial Update Span - description: Update a span with the provided output data and mark it as complete - operationId: partial_update_span_spans__span_id__patch - parameters: - - name: span_id - in: path - required: true - schema: - type: string - title: Span Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateSpanRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Span' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Spans - summary: Get Span - description: Get a span by ID - operationId: get_span_spans__span_id__get - parameters: - - name: span_id - in: path - required: true - schema: - type: string - title: Span Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Span' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /states: - post: - tags: - - States - summary: Create Task State - operationId: create_task_state_states_post - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateStateRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/State' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - States - summary: List States - description: List all states, optionally filtered by query parameters. - operationId: filter_states_states_get - parameters: - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Task ID - title: Task Id - description: Task ID - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Agent ID - title: Agent Id - description: Agent ID - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 - description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string - description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/State' - title: Response Filter States States Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /states/{state_id}: - get: - tags: - - States - summary: Get State by State ID - description: Get a state by its unique state ID. - operationId: get_state_states__state_id__get - parameters: - - name: state_id - in: path - required: true - schema: - type: string - title: State Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/State' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - put: - tags: - - States - summary: Update Task State - operationId: update_task_state_states__state_id__put - parameters: - - name: state_id - in: path - required: true - schema: - type: string - title: State Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateStateRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/State' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - States - summary: Delete Task State - operationId: delete_task_state_states__state_id__delete - parameters: - - name: state_id - in: path - required: true - schema: - type: string - title: State Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/State' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /events/{event_id}: - get: - tags: - - Events - summary: Get Event - operationId: get_event_events__event_id__get - parameters: - - name: event_id - in: path - required: true - schema: - type: string - title: Event Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Event' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /events: - get: - tags: - - Events - summary: List Events - description: 'List events for a specific task and agent. - - - Optionally filter for events after a specific sequence ID. - - Results are ordered by sequence_id.' - operationId: list_events_events_get - parameters: - - name: last_processed_event_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Optional event ID to get events after this ID - title: Last Processed Event Id - description: Optional event ID to get events after this ID - - name: limit - in: query - required: false - schema: - anyOf: - - type: integer - maximum: 1000 - minimum: 1 - - type: 'null' - description: Optional limit on number of results - title: Limit - description: Optional limit on number of results - - name: task_id - in: query - required: true - schema: - type: string - description: The task ID to filter events by - title: Task Id - description: The task ID to filter events by - - name: agent_id - in: query - required: true - schema: - type: string - description: The agent ID to filter events by - title: Agent Id - description: The agent ID to filter events by - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Event' - title: Response List Events Events Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /slack/events: - post: - tags: - - Slack - summary: Slack Events API ingress for the @agent app - operationId: slack_events_slack_events_post - responses: - '200': - description: Successful Response - content: - application/json: - schema: - additionalProperties: true - type: object - title: Response Slack Events Slack Events Post - /slack/commands: - post: - tags: - - Slack - summary: Slack slash-command ingress (e.g. /agents) - operationId: slack_commands_slack_commands_post - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - /slack/interactions: - post: - tags: - - Slack - summary: Slack interactivity ingress (modals, shortcuts) - operationId: slack_interactions_slack_interactions_post - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - /tracker/{tracker_id}: - get: - tags: - - Agent Task Tracker - summary: Get Agent Task Tracker - description: Get agent task tracker by tracker ID - operationId: get_agent_task_tracker_tracker__tracker_id__get - parameters: - - name: tracker_id - in: path - required: true - schema: - type: string - title: Tracker Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentTaskTracker' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - put: - tags: - - Agent Task Tracker - summary: Update Agent Task Tracker - description: Update agent task tracker by tracker ID - operationId: update_agent_task_tracker_tracker__tracker_id__put - parameters: - - name: tracker_id - in: path - required: true - schema: - type: string - title: Tracker Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateAgentTaskTrackerRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentTaskTracker' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tracker: - get: - tags: - - Agent Task Tracker - summary: List Agent Task Trackers - description: List all agent task trackers, optionally filtered by query parameters. - operationId: filter_agent_task_tracker_tracker_get - parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Agent ID - title: Agent Id - description: Agent ID - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Task ID - title: Task Id - description: Task ID - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 - description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string - description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/AgentTaskTracker' - title: Response Filter Agent Task Tracker Tracker Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agent_api_keys: - post: - tags: - - Agent APIKeys - summary: Create Api Key - operationId: create_api_key_agent_api_keys_post - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAPIKeyRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAPIKeyResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Agent APIKeys - summary: List API keys for an agent ID - description: List API keys for an agent ID. - operationId: list_agent_api_keys_agent_api_keys_get - parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: limit - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - default: 1 - title: Page Number - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/AgentAPIKey' - title: Response List Agent Api Keys Agent Api Keys Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agent_api_keys/webhook-trigger: - post: - tags: - - Agent APIKeys - summary: Create Webhook Trigger - description: 'Wire a webhook trigger in one call. - - - Registers the source''s signature-verification key (github/slack) for the - agent and - - returns the ready-to-paste forward webhook URL plus the signing secret (shown - once). - - The webhook then flows through the existing /agents/forward ingress, which - verifies - - the signature against this key. Bundles the existing key-create + URL composition - so - - a UI (or a curl) can set up a trigger without two steps.' - operationId: create_webhook_trigger_agent_api_keys_webhook_trigger_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWebhookTriggerRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWebhookTriggerResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agent_api_keys/name/{name}: - get: - tags: - - Agent APIKeys - summary: Return named API key for the agent ID - description: Return named API key for the agent ID. - operationId: get_agent_api_key_by_name_agent_api_keys_name__name__get - parameters: - - name: name - in: path - required: true - schema: - type: string - title: Name - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: api_key_type - in: query - required: false - schema: - $ref: '#/components/schemas/AgentAPIKeyType' - default: external - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentAPIKey' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agent_api_keys/{id}: - get: - tags: - - Agent APIKeys - summary: Return the API key by ID - description: Return API key by ID. - operationId: get_agent_api_key_agent_api_keys__id__get - parameters: - - name: id - in: path - required: true - schema: - type: string - title: Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentAPIKey' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Agent APIKeys - summary: Delete API key by ID - description: Delete API key by ID. - operationId: delete_agent_api_key_agent_api_keys__id__delete - parameters: - - name: id - in: path - required: true - schema: - type: string - title: Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: string - title: Response Delete Agent Api Key Agent Api Keys Id Delete - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agent_api_keys/name/{api_key_name}: - delete: - tags: - - Agent APIKeys - summary: Delete API key by name - description: Delete API key by name. - operationId: delete_agent_api_key_by_name_agent_api_keys_name__api_key_name__delete - parameters: - - name: api_key_name - in: path - required: true - schema: - type: string - title: Api Key Name - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: api_key_type - in: query - required: false - schema: - $ref: '#/components/schemas/AgentAPIKeyType' - default: external - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: string - title: Response Delete Agent Api Key By Name Agent Api Keys Name Api - Key Name Delete - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /linear/events: - post: - tags: - - Linear - summary: Linear agent webhook ingress for the @agentex app - operationId: linear_events_linear_events_post - responses: - '200': - description: Successful Response - content: - application/json: - schema: - additionalProperties: true - type: object - title: Response Linear Events Linear Events Post - /integrations/slack/link: - get: - tags: - - Integrations - summary: Confirm linking a Slack identity to SGP - description: 'Render the confirmation screen. Does NOT consume the nonce, so - a refresh or - - a link-prefetching browser doesn''t break the flow.' - operationId: slack_link_page_integrations_slack_link_get - parameters: - - name: nonce - in: query - required: false - schema: - type: string - default: '' - title: Nonce - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Integrations - summary: Complete a Slack identity link - description: 'Mint a key as the signed-in user and store the mapping. - - - Order matters: the nonce is consumed only after a successful mint, so a - - transient identity-service failure leaves the link clickable instead of - - burning it and forcing the user back to Slack.' - operationId: slack_link_confirm_integrations_slack_link_post - requestBody: - content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Body_slack_link_confirm_integrations_slack_link_post' - responses: - '200': - description: Successful Response - content: - application/json: - schema: {} - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /deployment-history/{deployment_id}: - get: - tags: - - Deployment History - summary: Get Deployment by ID - description: Get a deployment record by its unique ID. - operationId: get_deployment_by_id_deployment_history__deployment_id__get - parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeploymentHistory' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /deployment-history: - get: - tags: - - Deployment History - summary: List Deployments for an agent - description: List deployment history for an agent. - operationId: list_deployments_deployment_history_get - parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/DeploymentHistory' - title: Response List Deployments Deployment History Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/deployments: - post: - tags: - - Deployments - summary: Create Deployment - description: Create a new deployment record in PENDING status. - operationId: create_deployment_agents__agent_id__deployments_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateDeploymentRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Deployment' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Deployments - summary: List Deployments - description: List deployments for an agent, newest first. - operationId: list_deployments_agents__agent_id__deployments_get - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 - description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string - description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) - responses: - '200': - description: Successful Response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Deployment' - title: Response List Deployments Agents Agent Id Deployments Get - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/deployments/{deployment_id}: - get: - tags: - - Deployments - summary: Get Deployment - description: Get a specific deployment by ID. - operationId: get_deployment_agents__agent_id__deployments__deployment_id__get - parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Deployment' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Deployments - summary: Delete Deployment - description: Delete a non-production deployment. - operationId: delete_deployment_agents__agent_id__deployments__deployment_id__delete - parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/deployments/{deployment_id}/promote: - post: - tags: - - Deployments - summary: Promote Deployment - description: Promote a deployment to production with atomic cutover. - operationId: promote_deployment_agents__agent_id__deployments__deployment_id__promote_post - parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Deployment' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/deployments/{deployment_id}/rpc: - post: - tags: - - Deployments - summary: Preview RPC - description: Send an RPC request to a specific deployment (for preview testing). - operationId: handle_deployment_rpc_agents__agent_id__deployments__deployment_id__rpc_post - parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRPCRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRPCResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules: - post: - tags: - - Schedules - summary: Create Run Schedule - description: Create a recurring schedule that starts a fresh agent run on each - fire. - operationId: create_run_schedule_agents__agent_id__schedules_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAgentRunScheduleRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Schedules - summary: List Run Schedules - description: List run schedules for an agent. - operationId: list_run_schedules_agents__agent_id__schedules_get - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: limit - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - default: 100 - title: Limit - - name: include_live - in: query - required: false - schema: - type: boolean - description: Include live Temporal state and upcoming action times. - default: false - title: Include Live - description: Include live Temporal state and upcoming action times. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleListResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/name/{name}: - get: - tags: - - Schedules - summary: Get Run Schedule By Name - description: Get a run schedule by its active name. - operationId: get_run_schedule_by_name_agents__agent_id__schedules_name__name__get - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Schedules - summary: Update Run Schedule By Name - description: Partially update a run schedule's definition by its active name. - operationId: update_run_schedule_by_name_agents__agent_id__schedules_name__name__patch - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateAgentRunScheduleRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Schedules - summary: Delete Run Schedule By Name - description: Delete a run schedule by its active name. - operationId: delete_run_schedule_by_name_agents__agent_id__schedules_name__name__delete - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/{schedule_id}: - get: - tags: - - Schedules - summary: Get Run Schedule - description: Get a run schedule by its id. - operationId: get_run_schedule_agents__agent_id__schedules__schedule_id__get - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Schedules - summary: Update Run Schedule - description: Partially update a run schedule's definition (cadence, window, - input, etc.). - operationId: update_run_schedule_agents__agent_id__schedules__schedule_id__patch - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateAgentRunScheduleRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Schedules - summary: Delete Run Schedule - description: Delete a run schedule permanently. - operationId: delete_run_schedule_agents__agent_id__schedules__schedule_id__delete - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/name/{name}/trigger: - post: - tags: - - Schedules - summary: Trigger Run Schedule By Name - description: Trigger an immediate, out-of-band run of the schedule by its active - name. - operationId: trigger_run_schedule_by_name_agents__agent_id__schedules_name__name__trigger_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/{schedule_id}/trigger: - post: - tags: - - Schedules - summary: Trigger Run Schedule - description: Trigger an immediate, out-of-band run of the schedule (in addition - to its cadence). - operationId: trigger_run_schedule_agents__agent_id__schedules__schedule_id__trigger_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/{schedule_id}/skip: - post: - tags: - - Schedules - summary: Skip Run Schedule Action - description: Skip a recurring fire of the schedule. - operationId: skip_run_schedule_action_agents__agent_id__schedules__schedule_id__skip_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/SkipRunScheduleRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/{schedule_id}/unskip: - post: - tags: - - Schedules - summary: Unskip Run Schedule Action - description: Remove a skip for a recurring fire of the schedule. - operationId: unskip_run_schedule_action_agents__agent_id__schedules__schedule_id__unskip_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/UnskipRunScheduleRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/name/{name}/pause: - post: - tags: - - Schedules - summary: Pause Run Schedule By Name - description: Pause a run schedule by its active name. - operationId: pause_run_schedule_by_name_agents__agent_id__schedules_name__name__pause_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/PauseRunScheduleRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/{schedule_id}/pause: - post: - tags: - - Schedules - summary: Pause Run Schedule - description: Pause a run schedule so it stops firing. - operationId: pause_run_schedule_agents__agent_id__schedules__schedule_id__pause_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/PauseRunScheduleRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/name/{name}/resume: - post: - tags: - - Schedules - summary: Resume Run Schedule By Name - description: Resume a paused run schedule by its active name. - operationId: resume_run_schedule_by_name_agents__agent_id__schedules_name__name__resume_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/ResumeRunScheduleRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /agents/{agent_id}/schedules/{schedule_id}/resume: - post: - tags: - - Schedules - summary: Resume Run Schedule - description: Resume a paused run schedule so it fires again. - operationId: resume_run_schedule_agents__agent_id__schedules__schedule_id__resume_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_id - in: path - required: true - schema: - type: string - title: Schedule Id - requestBody: - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/ResumeRunScheduleRequest' - - type: 'null' - title: Request - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AgentRunScheduleResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /checkpoints/get-tuple: - post: - tags: - - Checkpoints - summary: Get Checkpoint Tuple - operationId: get_checkpoint_tuple_checkpoints_get_tuple_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GetCheckpointTupleRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - anyOf: - - $ref: '#/components/schemas/CheckpointTupleResponse' - - type: 'null' - title: Response Get Checkpoint Tuple Checkpoints Get Tuple Post - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /checkpoints/put: - post: - tags: - - Checkpoints - summary: Put Checkpoint - operationId: put_checkpoint_checkpoints_put_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PutCheckpointRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/PutCheckpointResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /checkpoints/put-writes: - post: - tags: - - Checkpoints - summary: Put Writes - operationId: put_writes_checkpoints_put_writes_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PutWritesRequest' - required: true - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /checkpoints/list: - post: - tags: - - Checkpoints - summary: List Checkpoints - operationId: list_checkpoints_checkpoints_list_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ListCheckpointsRequest' - required: true - responses: - '200': - description: Successful Response - content: - application/json: - schema: - items: - $ref: '#/components/schemas/CheckpointListItem' - type: array - title: Response List Checkpoints Checkpoints List Post - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /checkpoints/delete-thread: - post: - tags: - - Checkpoints - summary: Delete Thread - operationId: delete_thread_checkpoints_delete_thread_post - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteThreadRequest' - required: true - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/export: - get: - tags: - - task-retention - summary: Export Task - description: 'Build a self-contained snapshot of a task''s content surfaces. - - - Returns the exact payload format that POST /rehydrate accepts, so - - export → clean → rehydrate is a round-trip-equivalent operation.' - operationId: export_task_tasks__task_id__export_get - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportTaskResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - task-retention - summary: Export Task To Url - description: 'Build the task snapshot and PUT it to a caller-supplied presigned - URL. - - - Use this when the snapshot is too large for a JSON response body (long - - conversations, deep reasoning content, many attachments). The upload URL - - must be https and resolve to a public address — see SSRF guard.' - operationId: export_task_to_url_tasks__task_id__export_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExportTaskToUrlRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportTaskToUrlResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/clean: - post: - tags: - - task-retention - summary: Clean Task - description: 'Delete content-bearing rows for a stale task. - - - Refuses on active tasks, in-flight workflows, or unprocessed events - - regardless of `force`. The `force=true` flag only bypasses the - - idle-threshold check.' - operationId: clean_task_tasks__task_id__clean_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CleanTaskRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/CleanTaskResponse' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /tasks/{task_id}/rehydrate: - post: - tags: - - task-retention - summary: Rehydrate Task - description: 'Restore content-bearing rows from a snapshot. - - - Two modes: - - - Inline: caller provides messages and task_states in the request body. - - - URL: caller provides snapshot_url; Agentex downloads and parses it. - - - Refuses if the task isn''t currently in a cleaned state, or if any supplied - - message/state ID already exists in Mongo (catches double-rehydrate).' - operationId: rehydrate_task_tasks__task_id__rehydrate_post - parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/RehydrateTaskRequest' - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' -components: - schemas: - ACPType: - type: string - enum: - - sync - - async - - agentic - title: ACPType - Agent: - properties: - id: - type: string - title: Id - description: The unique identifier of the agent. - name: - type: string - title: Name - description: The unique name of the agent. - description: - type: string - title: Description - description: The description of the action. - status: - $ref: '#/components/schemas/AgentStatus' - description: The status of the action, indicating if it's building, ready, - failed, etc. - default: Unknown - acp_type: - $ref: '#/components/schemas/ACPType' - description: The type of the ACP Server (Either sync or async) - status_reason: - anyOf: - - type: string - - type: 'null' - title: Status Reason - description: The reason for the status of the action. - created_at: - type: string - format: date-time - title: Created At - description: The timestamp when the agent was created - updated_at: - type: string - format: date-time - title: Updated At - description: The timestamp when the agent was last updated - registration_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Registration Metadata - description: The metadata for the agent's registration. - registered_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Registered At - description: The timestamp when the agent was last registered - agent_input_type: - anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' - description: The type of input the agent expects. - production_deployment_id: - anyOf: - - type: string - - type: 'null' - title: Production Deployment Id - description: ID of the current production deployment. - type: object - required: - - id - - name - - description - - acp_type - - created_at - - updated_at - title: Agent - AgentAPIKey: - properties: - id: - type: string - title: Id - description: The unique identifier of the agent API key. - agent_id: - type: string - title: Agent Id - description: The UUID of the agent - created_at: - type: string - format: date-time - title: Created At - description: When the agent API key was created - name: - anyOf: - - type: string - - type: 'null' - title: Name - description: The optional name of the agent API key. - api_key_type: - $ref: '#/components/schemas/AgentAPIKeyType' - description: The type of the agent API key (either internal or external) - type: object - required: - - id - - agent_id - - created_at - - name - - api_key_type - title: AgentAPIKey - AgentAPIKeyType: - type: string - enum: - - internal - - external - - github - - slack - title: AgentAPIKeyType - AgentInputType: - type: string - enum: - - text - - json - title: AgentInputType - AgentRPCMethod: - type: string - enum: - - event/send - - task/create - - message/send - - task/cancel - - task/interrupt - title: AgentRPCMethod - AgentRPCParams: - anyOf: - - $ref: '#/components/schemas/CreateTaskRequest' - - $ref: '#/components/schemas/CancelTaskRequest' - - $ref: '#/components/schemas/InterruptTaskRequest' - - $ref: '#/components/schemas/SendMessageRequest' - - $ref: '#/components/schemas/SendEventRequest' - title: AgentRPCParams - description: The parameters for the agent RPC request - AgentRPCRequest: - properties: - jsonrpc: - type: string - const: '2.0' - title: Jsonrpc - default: '2.0' - method: - $ref: '#/components/schemas/AgentRPCMethod' - params: - $ref: '#/components/schemas/AgentRPCParams' - id: - anyOf: - - type: integer - - type: string - - type: 'null' - title: Id - type: object - required: - - method - - params - title: AgentRPCRequest - AgentRPCResponse: - properties: - jsonrpc: - type: string - const: '2.0' - title: Jsonrpc - default: '2.0' - result: - $ref: '#/components/schemas/AgentRPCResult' - description: The result of the agent RPC request - error: - anyOf: - - {} - - type: 'null' - title: Error - id: - anyOf: - - type: integer - - type: string - - type: 'null' - title: Id - type: object - required: - - result - title: AgentRPCResponse - AgentRPCResult: - anyOf: - - items: - $ref: '#/components/schemas/TaskMessage' - type: array - - $ref: '#/components/schemas/TaskMessageUpdate' - - $ref: '#/components/schemas/Task' - - $ref: '#/components/schemas/Event' - - type: 'null' - title: AgentRPCResult - AgentRunScheduleListResponse: - properties: - run_schedules: - items: - $ref: '#/components/schemas/AgentRunScheduleResponse' - type: array - title: Run Schedules - description: The list of run schedules. - total: - type: integer - title: Total - description: The number of run schedules returned. - type: object - required: - - run_schedules - - total - title: AgentRunScheduleListResponse - description: Response model for listing run schedules. - AgentRunScheduleResponse: - properties: - id: - type: string - title: Id - description: The unique identifier of the run schedule. - agent_id: - type: string - title: Agent Id - description: The agent this schedule belongs to. - name: - type: string - title: Name - description: Human-readable schedule name. - description: - anyOf: - - type: string - - type: 'null' - title: Description - description: Optional description. - cron_expression: - anyOf: - - type: string - - type: 'null' - title: Cron Expression - description: Cron cadence, if cron-based. - interval_seconds: - anyOf: - - type: integer - - type: 'null' - title: Interval Seconds - description: Interval cadence in seconds, if interval-based. - timezone: - type: string - title: Timezone - description: Timezone the cron expression is evaluated in. - default: UTC - start_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Start At - description: Schedule activation time. - end_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: End At - description: Schedule deactivation time. - paused: - type: boolean - title: Paused - description: Whether the schedule is paused. - default: false - task_params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Params - description: Task params at fire time. - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Metadata - description: Task metadata at fire time. - initial_input: - $ref: '#/components/schemas/ScheduleInitialInput' - description: The initial input. - initial_input_method: - type: string - title: Initial Input Method - description: Delivery method, inferred from the agent's ACP type. - creator_principal: - anyOf: - - $ref: '#/components/schemas/ScheduleCreatorPrincipal' - - type: 'null' - description: Credential-free creator identity. - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Created At - description: When the schedule was created. - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Updated At - description: When the schedule was updated. - state: - $ref: '#/components/schemas/RunScheduleState' - description: Live schedule state from Temporal. - default: ACTIVE - next_action_times: - items: - type: string - format: date-time - type: array - title: Next Action Times - description: Upcoming scheduled fire times. - live_data_available: - anyOf: - - type: boolean - - type: 'null' - title: Live Data Available - description: Whether requested live Temporal fields were retrieved successfully. - Null when live enrichment was not requested. - skipped_action_times: - items: - type: string - format: date-time - type: array - title: Skipped Action Times - description: Skipped one-off scheduled fire times. - last_action_time: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Last Action Time - description: When the schedule last fired. - num_actions_taken: - type: integer - title: Num Actions Taken - description: Number of times the schedule has fired. - default: 0 - type: object - required: - - id - - agent_id - - name - - initial_input - - initial_input_method - title: AgentRunScheduleResponse - description: Response model describing a scheduled agent run. - AgentStatus: - type: string - enum: - - Ready - - Failed - - Unknown - - Deleted - - Unhealthy - - BuildOnly - title: AgentStatus - AgentTaskTracker: - properties: - id: - type: string - title: Id - description: The UUID of the agent task tracker - agent_id: - type: string - title: Agent Id - description: The UUID of the agent - task_id: - type: string - title: Task Id - description: The UUID of the task - status: - anyOf: - - type: string - - type: 'null' - title: Status - description: Processing status - status_reason: - anyOf: - - type: string - - type: 'null' - title: Status Reason - description: Optional status reason - last_processed_event_id: - anyOf: - - type: string - - type: 'null' - title: Last Processed Event Id - description: The last processed event ID - created_at: - type: string - format: date-time - title: Created At - description: When the agent task tracker was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Updated At - description: When the agent task tracker was last updated - type: object - required: - - id - - agent_id - - task_id - - created_at - title: AgentTaskTracker - BatchCreateTaskMessagesRequest: - properties: - task_id: - type: string - title: The unique id of the task to send the messages to - contents: - items: - $ref: '#/components/schemas/TaskMessageContent' - type: array - title: The messages to send to the task. The order of the messages will - be the order they are added to the task. - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Optional caller-supplied base creation timestamp for the batch - description: Optional base timestamp. Each message in the batch is stamped - with base + i milliseconds to guarantee unique, monotonic ordering. If - omitted, the server stamps datetime.now(UTC) at insert time. - type: object - required: - - task_id - - contents - title: BatchCreateTaskMessagesRequest - BatchUpdateTaskMessagesRequest: - properties: - task_id: - type: string - title: The unique id of the task to update the messages of - updates: - additionalProperties: - $ref: '#/components/schemas/TaskMessageContent' - type: object - title: The updates to apply to the messages. The key is the TaskMessage - id and the value is the TaskMessageContent to update the message with. - type: object - required: - - task_id - - updates - title: BatchUpdateTaskMessagesRequest - BlobData: - properties: - channel: - type: string - title: Channel name - version: - type: string - title: Channel version - type: - type: string - title: Serialization type tag - blob: - anyOf: - - type: string - - type: 'null' - title: Base64-encoded binary data - type: object - required: - - channel - - version - - type - title: BlobData - BlobResponse: - properties: - channel: - type: string - title: Channel - version: - type: string - title: Version - type: - type: string - title: Type - blob: - anyOf: - - type: string - - type: 'null' - title: Blob - type: object - required: - - channel - - version - - type - title: BlobResponse - Body_slack_link_confirm_integrations_slack_link_post: - properties: - nonce: - type: string - title: Nonce - default: '' - type: object - title: Body_slack_link_confirm_integrations_slack_link_post - CancelTaskRequest: - properties: - task_id: - anyOf: - - type: string - - type: 'null' - title: Task Id - description: The ID of the task to cancel. Either this or task_name must - be provided. - task_name: - anyOf: - - type: string - - type: 'null' - title: Task Name - description: The name of the task to cancel. Either this or task_id must - be provided. - type: object - title: CancelTaskRequest - CheckpointListItem: - properties: - thread_id: - type: string - title: Thread Id - checkpoint_ns: - type: string - title: Checkpoint Ns - checkpoint_id: - type: string - title: Checkpoint Id - parent_checkpoint_id: - anyOf: - - type: string - - type: 'null' - title: Parent Checkpoint Id - checkpoint: - additionalProperties: true - type: object - title: Checkpoint - metadata: - additionalProperties: true - type: object - title: Metadata - type: object - required: - - thread_id - - checkpoint_ns - - checkpoint_id - - checkpoint - - metadata - title: CheckpointListItem - CheckpointTupleResponse: - properties: - thread_id: - type: string - title: Thread Id - checkpoint_ns: - type: string - title: Checkpoint Ns - checkpoint_id: - type: string - title: Checkpoint Id - parent_checkpoint_id: - anyOf: - - type: string - - type: 'null' - title: Parent Checkpoint Id - checkpoint: - additionalProperties: true - type: object - title: Checkpoint - metadata: - additionalProperties: true - type: object - title: Metadata - blobs: - items: - $ref: '#/components/schemas/BlobResponse' - type: array - title: Blobs - pending_writes: - items: - $ref: '#/components/schemas/WriteResponse' - type: array - title: Pending Writes - type: object - required: - - thread_id - - checkpoint_ns - - checkpoint_id - - checkpoint - - metadata - title: CheckpointTupleResponse - CleanTaskRequest: - properties: - force: - type: boolean - title: Force - description: Skip the idle-threshold check. Active-workflow and unprocessed-events - checks still apply. Admin use only. - default: false - idle_days: - type: integer - minimum: 1.0 - title: Idle Days - description: Idle threshold in days (ignored when force=true). - default: 7 - type: object - title: CleanTaskRequest - CleanTaskResponse: - properties: - task_id: - type: string - title: Task Id - cleaned_at: - type: string - format: date-time - title: Cleaned At - messages_deleted: - type: integer - title: Messages Deleted - task_states_deleted: - type: integer - title: Task States Deleted - events_deleted: - type: integer - title: Events Deleted - type: object - required: - - task_id - - cleaned_at - - messages_deleted - - task_states_deleted - - events_deleted - title: CleanTaskResponse - CreateAPIKeyRequest: - properties: - agent_id: - anyOf: - - type: string - - type: 'null' - title: Agent Id - description: The UUID of the agent - agent_name: - anyOf: - - type: string - - type: 'null' - title: Agent Name - description: The name of the agent - if not provided, the agent_id must - be set. - name: - type: string - title: Name - description: The name of the agent's API key. - api_key_type: - $ref: '#/components/schemas/AgentAPIKeyType' - description: The type of the agent API key (external by default). - default: external - api_key: - anyOf: - - type: string - - type: 'null' - title: Api Key - description: Optionally provide the API key value - if not set, one will - be generated. - type: object - required: - - name - title: CreateAPIKeyRequest - CreateAPIKeyResponse: - properties: - id: - type: string - title: Id - description: The unique identifier of the agent API key. - agent_id: - type: string - title: Agent Id - description: The UUID of the agent - created_at: - type: string - format: date-time - title: Created At - description: When the agent API key was created - name: - anyOf: - - type: string - - type: 'null' - title: Name - description: The optional name of the agent API key. - api_key_type: - $ref: '#/components/schemas/AgentAPIKeyType' - description: The type of the created agent API key (external). - api_key: - type: string - title: Api Key - description: The value of the newly created API key. - type: object - required: - - id - - agent_id - - created_at - - name - - api_key_type - - api_key - title: CreateAPIKeyResponse - CreateAgentRunScheduleRequest: - properties: - name: - type: string - maxLength: 64 - minLength: 1 - pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$ - title: Schedule Name - description: Human-readable name, unique among active schedules for the - agent. - description: - anyOf: - - type: string - - type: 'null' - title: Description - description: Optional description of what this schedule does. - cron_expression: - anyOf: - - type: string - - type: 'null' - title: Cron Expression - description: Cron expression for the cadence (e.g. '0 17 * * MON-FRI'). - Mutually exclusive with interval_seconds. - interval_seconds: - anyOf: - - type: integer - minimum: 1.0 - - type: 'null' - title: Interval Seconds - description: Interval cadence in seconds. Mutually exclusive with cron_expression. - timezone: - type: string - title: Timezone - description: IANA timezone the cron expression is evaluated in (e.g. 'America/New_York'). - default: UTC - start_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Start At - description: When the schedule should start being active. - end_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: End At - description: When the schedule should stop being active. - paused: - type: boolean - title: Paused - description: Whether to create the schedule in a paused state. - default: false - task_params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Params - description: Resolved config forwarded as task `params` at fire time. - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Metadata - description: Metadata copied onto each created task at fire time. - initial_input: - $ref: '#/components/schemas/ScheduleInitialInput' - description: The first input delivered to each created task. - type: object - required: - - name - - initial_input - title: CreateAgentRunScheduleRequest - description: Request body for creating a scheduled agent run. - CreateDeploymentRequest: - properties: - docker_image: - type: string - title: Docker Image - description: Full Docker image URI. - registration_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Registration Metadata - description: Git/build metadata (commit_hash, branch_name, author_name, - author_email, build_timestamp). - sgp_deploy_id: - anyOf: - - type: string - - type: 'null' - title: Sgp Deploy Id - description: SGP deployment ID. - helm_release_name: - anyOf: - - type: string - - type: 'null' - title: Helm Release Name - description: Helm release name. - type: object - required: - - docker_image - title: CreateDeploymentRequest - CreateSpanRequest: - properties: - id: - anyOf: - - type: string - - type: 'null' - title: Unique Span ID - description: Unique identifier for the span. If not provided, an ID will - be generated. - trace_id: - type: string - title: The trace ID for this span - description: Unique identifier for the trace this span belongs to - task_id: - anyOf: - - type: string - - type: 'null' - title: The task ID this span is associated with - description: ID of the task this span belongs to - parent_id: - anyOf: - - type: string - - type: 'null' - title: The parent span ID if this is a child span - description: ID of the parent span if this is a child span in a trace - name: - type: string - title: The name of the span - description: Name that describes what operation this span represents - start_time: - type: string - format: date-time - title: The start time of the span - description: The time the span started - end_time: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The end time of the span - description: The time the span ended - input: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: The input data for the span - description: Input parameters or data for the operation - output: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: The output data from the span - description: Output data resulting from the operation - data: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: Additional data associated with the span - description: Any additional metadata or context for the span - type: object - required: - - trace_id - - name - - start_time - title: CreateSpanRequest - CreateStateRequest: - properties: - task_id: - type: string - title: The unique id of the task to send the state to - agent_id: - type: string - title: The unique id of the agent to send the state to - state: - additionalProperties: true - type: object - title: The state to send to the task. - type: object - required: - - task_id - - agent_id - - state - title: CreateStateRequest - CreateTaskMessageRequest: - properties: - task_id: - type: string - title: The unique id of the task to send the message to - content: - $ref: '#/components/schemas/TaskMessageContent' - title: The message to send to the task. - streaming_status: - anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' - title: The streaming status of the message - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Optional caller-supplied creation timestamp - description: Optional timestamp for the message. Workflow callers should - pass workflow.now() (Temporal's deterministic monotonic clock) so that - two awaited messages.create calls from the same workflow are guaranteed - to have monotonic timestamps regardless of HTTP scheduling at the server. - If omitted, the server's wall clock at insert time is used. - type: object - required: - - task_id - - content - title: CreateTaskMessageRequest - CreateTaskRequest: - properties: - name: - anyOf: - - type: string - - type: 'null' - title: Name - description: 'Optional human-readable name for the task. When set it must - be globally unique. task/create is get-or-create by name: reusing an existing - name returns the existing task (with its prior history) instead of creating - a new one, so omit name (or make it unique, e.g. by appending a UUID) - whenever each call should produce a fresh task.' - params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Params - description: The parameters for the task. On a get-or-create by name, providing - params overwrites the existing task's params (it is not a pure read). - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Metadata - description: Caller-provided metadata to persist on the task row. Only applied - at task creation; ignored if a task with this name already exists. Forwarded - to the agent inside the ACP payload for backward compatibility. - type: object - title: CreateTaskRequest - CreateWebhookTriggerRequest: - properties: - agent_name: - type: string - title: Agent Name - description: The agent the webhook drives. - source: - $ref: '#/components/schemas/AgentAPIKeyType' - description: Webhook source whose signature is verified (github or slack). - default: github - name: - type: string - title: Name - description: 'Signature-lookup key: the repo full_name (github) or api_app_id - (slack) that the forward ingress matches the incoming webhook against.' - forward_path: - type: string - title: Forward Path - description: Subpath the agent's own route handles, e.g. 'github-pr/'. - Appended to /agents/forward/name/{agent_name}/ to form the webhook URL. - secret: - anyOf: - - type: string - - type: 'null' - title: Secret - description: Signing secret. For GitHub, omit to generate one, or provide - an existing webhook secret. For Slack, this is required and must be the - Slack app's Signing Secret. - base_url: - anyOf: - - type: string - - type: 'null' - title: Base Url - description: Optional public agentex base URL for the returned webhook_url; - defaults to the AGENTEX_PUBLIC_URL env var. - type: object - required: - - agent_name - - name - - forward_path - title: CreateWebhookTriggerRequest - description: 'One-call setup for a webhook trigger: register the source''s signature - key and - - get back the ready-to-paste forward webhook URL.' - CreateWebhookTriggerResponse: - properties: - key_id: - type: string - title: Key Id - description: The created agent API key id. - agent_name: - type: string - title: Agent Name - description: The agent the webhook drives. - source: - $ref: '#/components/schemas/AgentAPIKeyType' - description: Webhook source (github or slack). - name: - type: string - title: Name - description: Signature-lookup key (repo full_name / api_app_id). - secret: - type: string - title: Secret - description: The signing secret — shown once; paste into the source's webhook - config. - webhook_path: - type: string - title: Webhook Path - description: The forward path to POST webhooks to. - webhook_url: - anyOf: - - type: string - - type: 'null' - title: Webhook Url - description: Full webhook URL to paste into the source (None if no base - URL configured). - type: object - required: - - key_id - - agent_name - - source - - name - - secret - - webhook_path - title: CreateWebhookTriggerResponse - DataContent: - properties: - type: - type: string - const: data - title: Type - description: The type of the message, in this case `data`. - default: data - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - data: - additionalProperties: true - type: object - title: Data - description: The contents of the data message. - type: object - required: - - author - - data - title: DataContent - DataContentEntity: - properties: - type: - type: string - const: data - title: Type - description: The type of the message, in this case `data`. - default: data - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - data: - additionalProperties: true - type: object - title: Data - description: The contents of the data message. - type: object - required: - - author - - data - title: DataContentEntity - DataDelta: - properties: - type: - type: string - const: data - title: Type - default: data - data_delta: - anyOf: - - type: string - - type: 'null' - title: Data Delta - default: '' - type: object - title: DataDelta - description: Delta for data updates - DeleteResponse: - properties: - id: - type: string - title: Id - message: - type: string - title: Message - type: object - required: - - id - - message - title: DeleteResponse - DeleteThreadRequest: - properties: - thread_id: - type: string - title: Thread ID - type: object - required: - - thread_id - title: DeleteThreadRequest - Deployment: - properties: - id: - type: string - title: Id - description: The unique identifier of the deployment. - agent_id: - type: string - title: Agent Id - description: The agent this deployment belongs to. - docker_image: - type: string - title: Docker Image - description: Full Docker image URI. - registration_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Registration Metadata - description: Git/build metadata from the agent pod. - status: - $ref: '#/components/schemas/DeploymentStatus' - description: Current deployment status. - acp_url: - anyOf: - - type: string - - type: 'null' - title: Acp Url - description: ACP URL set when agent registers. - is_production: - type: boolean - title: Is Production - description: Whether this is the production deployment. - sgp_deploy_id: - anyOf: - - type: string - - type: 'null' - title: Sgp Deploy Id - description: Correlates to SGP's agentex_deploys.id. - helm_release_name: - anyOf: - - type: string - - type: 'null' - title: Helm Release Name - description: Helm release name for cleanup. - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Created At - description: When the deployment was created. - promoted_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Promoted At - description: When promoted to production. - expires_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Expires At - description: When marked for cleanup. - type: object - required: - - id - - agent_id - - docker_image - - status - - is_production - title: Deployment - DeploymentHistory: - properties: - id: - type: string - title: Id - description: The unique identifier of the deployment record - agent_id: - type: string - title: Agent Id - description: The ID of the agent this deployment belongs to - author_name: - type: string - title: Author Name - description: Name of the commit author - author_email: - type: string - title: Author Email - description: Email of the commit author - branch_name: - type: string - title: Branch Name - description: Name of the branch - build_timestamp: - type: string - format: date-time - title: Build Timestamp - description: When the build was created - deployment_timestamp: - type: string - format: date-time - title: Deployment Timestamp - description: When this deployment was first seen in the system - commit_hash: - type: string - title: Commit Hash - description: Git commit hash for this deployment - type: object - required: - - id - - agent_id - - author_name - - author_email - - branch_name - - build_timestamp - - deployment_timestamp - - commit_hash - title: DeploymentHistory - description: API schema for deployment history. - DeploymentStatus: - type: string - enum: - - Pending - - Ready - - Failed - title: DeploymentStatus - Event: - properties: - id: - type: string - title: Id - description: The UUID of the event - sequence_id: - type: integer - title: Sequence Id - description: The sequence ID of the event - task_id: - type: string - title: Task Id - description: The UUID of the task that the event belongs to - agent_id: - type: string - title: Agent Id - description: The UUID of the agent that the event belongs to - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Created At - description: The timestamp of the event - content: - anyOf: - - $ref: '#/components/schemas/TaskMessageContent' - - type: 'null' - description: The content of the event - type: object - required: - - id - - sequence_id - - task_id - - agent_id - title: Event - ExportTaskResponse: - properties: - task_id: - type: string - title: Task Id - messages: - items: - $ref: '#/components/schemas/TaskMessageEntity' - type: array - title: Messages - task_states: - items: - $ref: '#/components/schemas/StateEntity' - type: array - title: Task States - type: object - required: - - task_id - title: ExportTaskResponse - description: Wire format mirrors the entity directly — schema parity is intentional. - ExportTaskToUrlRequest: - properties: - upload_url: - type: string - maxLength: 2083 - minLength: 1 - format: uri - title: Upload Url - description: Presigned PUT URL where Agentex will upload the task snapshot - as JSON. Must be https; must resolve to a public address. - type: object - required: - - upload_url - title: ExportTaskToUrlRequest - ExportTaskToUrlResponse: - properties: - task_id: - type: string - title: Task Id - upload_url: - type: string - title: Upload Url - uploaded_bytes: - type: integer - title: Uploaded Bytes - messages_count: - type: integer - title: Messages Count - task_states_count: - type: integer - title: Task States Count - type: object - required: - - task_id - - upload_url - - uploaded_bytes - - messages_count - - task_states_count - title: ExportTaskToUrlResponse - FileAttachment: - properties: - file_id: - type: string - title: File Id - description: The unique ID of the attached file - name: - type: string - title: Name - description: The name of the file - size: - type: integer - title: Size - description: The size of the file in bytes - type: - type: string - title: Type - description: The MIME type or content type of the file - type: object - required: - - file_id - - name - - size - - type - title: FileAttachment - description: Represents a file attachment in messages. - FileAttachmentEntity: - properties: - file_id: - type: string - title: File Id - description: The unique ID of the attached file - name: - type: string - title: Name - description: The name of the file - size: - type: integer - title: Size - description: The size of the file in bytes - type: - type: string - title: Type - description: The MIME type or content type of the file - type: object - required: - - file_id - - name - - size - - type - title: FileAttachmentEntity - description: Represents a file attachment in messages. - GetCheckpointTupleRequest: - properties: - thread_id: - type: string - title: Thread ID - checkpoint_ns: - type: string - title: Checkpoint namespace - default: '' - checkpoint_id: - anyOf: - - type: string - - type: 'null' - title: Checkpoint ID (None = latest) - type: object - required: - - thread_id - title: GetCheckpointTupleRequest - HTTPValidationError: - properties: - detail: - items: - $ref: '#/components/schemas/ValidationError' - type: array - title: Detail - type: object - title: HTTPValidationError - InterruptTaskRequest: - properties: - task_id: - anyOf: - - type: string - - type: 'null' - title: Task Id - description: The ID of the task to interrupt. Either this or task_name must - be provided. - task_name: - anyOf: - - type: string - - type: 'null' - title: Task Name - description: The name of the task to interrupt. Either this or task_id must - be provided. - type: object - title: InterruptTaskRequest - ListCheckpointsRequest: - properties: - thread_id: - type: string - title: Thread ID - checkpoint_ns: - anyOf: - - type: string - - type: 'null' - title: Checkpoint namespace - before_checkpoint_id: - anyOf: - - type: string - - type: 'null' - title: Before checkpoint ID - filter_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Metadata filter (JSONB @>) - limit: - type: integer - maximum: 1000.0 - minimum: 1.0 - title: Max results - default: 100 - type: object - required: - - thread_id - title: ListCheckpointsRequest - MessageAuthor: - type: string - enum: - - user - - agent - title: MessageAuthor - MessageStyle: - type: string - enum: - - static - - active - title: MessageStyle - PaginatedMessagesResponse: - properties: - data: - items: - $ref: '#/components/schemas/TaskMessage' - type: array - title: Data - description: List of messages - next_cursor: - anyOf: - - type: string - - type: 'null' - title: Next Cursor - description: Cursor for fetching the next page of older messages - has_more: - type: boolean - title: Has More - description: Whether there are more messages to fetch - default: false - type: object - required: - - data - title: PaginatedMessagesResponse - description: Response with cursor pagination metadata. - PauseRunScheduleRequest: - properties: - note: - anyOf: - - type: string - - type: 'null' - title: Note - description: Optional note explaining the pause. - type: object - title: PauseRunScheduleRequest - PutCheckpointRequest: - properties: - thread_id: - type: string - title: Thread ID - checkpoint_ns: - type: string - title: Checkpoint namespace - default: '' - checkpoint_id: - type: string - title: Checkpoint ID - parent_checkpoint_id: - anyOf: - - type: string - - type: 'null' - title: Parent checkpoint ID - checkpoint: - additionalProperties: true - type: object - title: Checkpoint JSONB payload - metadata: - additionalProperties: true - type: object - title: Checkpoint metadata - blobs: - items: - $ref: '#/components/schemas/BlobData' - type: array - title: Channel blob data - type: object - required: - - thread_id - - checkpoint_id - - checkpoint - title: PutCheckpointRequest - PutCheckpointResponse: - properties: - thread_id: - type: string - title: Thread Id - checkpoint_ns: - type: string - title: Checkpoint Ns - checkpoint_id: - type: string - title: Checkpoint Id - type: object - required: - - thread_id - - checkpoint_ns - - checkpoint_id - title: PutCheckpointResponse - PutWritesRequest: - properties: - thread_id: - type: string - title: Thread ID - checkpoint_ns: - type: string - title: Checkpoint namespace - default: '' - checkpoint_id: - type: string - title: Checkpoint ID - writes: - items: - $ref: '#/components/schemas/WriteData' - type: array - title: Write data - upsert: - type: boolean - title: Upsert mode - default: false - type: object - required: - - thread_id - - checkpoint_id - - writes - title: PutWritesRequest - ReasoningContent: - properties: - type: - type: string - const: reasoning - title: Type - description: The type of the message, in this case `reasoning`. - default: reasoning - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - summary: - items: - type: string - type: array - title: Summary - description: A list of short reasoning summaries - content: - anyOf: - - items: - type: string - type: array - - type: 'null' - title: Content - description: The reasoning content or chain-of-thought text - type: object - required: - - author - - summary - title: ReasoningContent - ReasoningContentDelta: - properties: - type: - type: string - const: reasoning_content - title: Type - default: reasoning_content - content_index: - type: integer - title: Content Index - content_delta: - anyOf: - - type: string - - type: 'null' - title: Content Delta - default: '' - type: object - required: - - content_index - title: ReasoningContentDelta - description: Delta for reasoning content updates - ReasoningContentEntity: - properties: - type: - type: string - const: reasoning - title: Type - description: The type of the message, in this case `reasoning`. - default: reasoning - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - summary: - items: - type: string - type: array - title: Summary - description: A list of short reasoning summaries - content: - anyOf: - - items: - type: string - type: array - - type: 'null' - title: Content - description: The reasoning content or chain-of-thought text - type: object - required: - - author - - summary - title: ReasoningContentEntity - ReasoningSummaryDelta: - properties: - type: - type: string - const: reasoning_summary - title: Type - default: reasoning_summary - summary_index: - type: integer - title: Summary Index - summary_delta: - anyOf: - - type: string - - type: 'null' - title: Summary Delta - default: '' - type: object - required: - - summary_index - title: ReasoningSummaryDelta - description: Delta for reasoning summary updates - RegisterAgentRequest: - properties: - name: - type: string - pattern: ^[a-z0-9-]+$ - title: Name - description: The unique name of the agent. - description: - type: string - title: Description - description: The description of the agent. - acp_url: - type: string - title: Acp Url - description: The URL of the ACP server for the agent. - agent_id: - anyOf: - - type: string - - type: 'null' - title: Agent Id - description: Optional agent ID if the agent already exists and needs to - be updated. - acp_type: - $ref: '#/components/schemas/ACPType' - description: The type of ACP to use for the agent. - principal_context: - anyOf: - - {} - - type: 'null' - title: Principal Context - description: Principal used for authorization - registration_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Registration Metadata - description: The metadata for the agent's registration. - agent_input_type: - anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' - description: The type of input the agent expects. - type: object - required: - - name - - description - - acp_url - - acp_type - title: RegisterAgentRequest - RegisterAgentResponse: - properties: - id: - type: string - title: Id - description: The unique identifier of the agent. - name: - type: string - title: Name - description: The unique name of the agent. - description: - type: string - title: Description - description: The description of the action. - status: - $ref: '#/components/schemas/AgentStatus' - description: The status of the action, indicating if it's building, ready, - failed, etc. - default: Unknown - acp_type: - $ref: '#/components/schemas/ACPType' - description: The type of the ACP Server (Either sync or async) - status_reason: - anyOf: - - type: string - - type: 'null' - title: Status Reason - description: The reason for the status of the action. - created_at: - type: string - format: date-time - title: Created At - description: The timestamp when the agent was created - updated_at: - type: string - format: date-time - title: Updated At - description: The timestamp when the agent was last updated - registration_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Registration Metadata - description: The metadata for the agent's registration. - registered_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Registered At - description: The timestamp when the agent was last registered - agent_input_type: - anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' - description: The type of input the agent expects. - production_deployment_id: - anyOf: - - type: string - - type: 'null' - title: Production Deployment Id - description: ID of the current production deployment. - agent_api_key: - anyOf: - - type: string - - type: 'null' - title: Agent Api Key - description: The API key for the agent, if applicable. - type: object - required: - - id - - name - - description - - acp_type - - created_at - - updated_at - title: RegisterAgentResponse - description: Response model for registering an agent. - RegisterBuildRequest: - properties: - name: - type: string - pattern: ^[a-z0-9-]+$ - title: Name - description: The unique name of the agent. - description: - type: string - title: Description - description: The description of the agent. - registration_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Registration Metadata - description: The metadata for the agent's build registration. - agent_input_type: - anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' - description: The type of input the agent expects. - type: object - required: - - name - - description - title: RegisterBuildRequest - description: 'Request model for registering an agent at build time (pre-deploy). - - - Unlike RegisterAgentRequest, there is no acp_url (the agent is not running - - yet) and no acp_type is required. The created agent is left in BUILD_ONLY - - status so it can be permissioned/shared before it is deployed.' - RehydrateTaskRequest: - properties: - task_id: - type: string - title: Task Id - messages: - items: - $ref: '#/components/schemas/TaskMessageEntity' - type: array - title: Messages - task_states: - items: - $ref: '#/components/schemas/StateEntity' - type: array - title: Task States - snapshot_url: - anyOf: - - type: string - maxLength: 2083 - minLength: 1 - format: uri - - type: 'null' - title: Snapshot Url - description: Presigned GET URL whose body is a JSON-encoded TaskSnapshotEntity. - Must be https; must resolve to a public address. When set, messages/task_states - must be empty. - type: object - required: - - task_id - title: RehydrateTaskRequest - description: 'Either provide inline content (messages + task_states) or a snapshot_url - - pointing at a presigned JSON download. Mixing both is rejected. - - - The inline form is the canonical shape used by export''s GET response, so - - snapshot → clean → rehydrate round-trips cleanly without serialization - - changes.' - ResumeRunScheduleRequest: - properties: - note: - anyOf: - - type: string - - type: 'null' - title: Note - description: Optional note explaining the resume. - type: object - title: ResumeRunScheduleRequest - RunScheduleState: - type: string - enum: - - ACTIVE - - PAUSED - title: RunScheduleState - description: Live state of a run schedule, derived from Temporal. - ScheduleCreatorPrincipal: - properties: - principal_type: - anyOf: - - type: string - - type: 'null' - title: Principal Type - description: e.g. 'user' or 'service_account'. - user_id: - anyOf: - - type: string - - type: 'null' - title: User Id - description: Creator user id, if a user principal. - service_account_id: - anyOf: - - type: string - - type: 'null' - title: Service Account Id - description: Creator service-account id, if a service principal. - account_id: - anyOf: - - type: string - - type: 'null' - title: Account Id - description: Account/workspace id of the creator. - type: object - title: ScheduleCreatorPrincipal - description: 'Credential-free creator identity stored with the schedule. - - - Never carries cookies, JWTs, API keys, OAuth tokens, or request headers — - it - - is creator *context* used only for AuthZ and ownership at fire time.' - ScheduleInitialInput: - properties: - type: - type: string - const: text - title: Type - description: Input content type. - default: text - author: - $ref: '#/components/schemas/MessageAuthor' - description: The author attributed to the initial input. - default: user - content: - type: string - title: Content - description: The initial prompt delivered to the task. - type: object - required: - - content - title: ScheduleInitialInput - description: The first input delivered to each freshly created scheduled task. - SendEventRequest: - properties: - task_id: - anyOf: - - type: string - - type: 'null' - title: Task Id - description: The ID of the task that the event was sent to - task_name: - anyOf: - - type: string - - type: 'null' - title: Task Name - description: The name of the task that the event was sent to - content: - anyOf: - - $ref: '#/components/schemas/TaskMessageContent' - - type: 'null' - description: The content to send to the event - type: object - title: SendEventRequest - SendMessageRequest: - properties: - task_id: - anyOf: - - type: string - - type: 'null' - title: Task Id - description: The ID of the task that the message was sent to - task_name: - anyOf: - - type: string - - type: 'null' - title: Task Name - description: The name of the task that the message was sent to - content: - $ref: '#/components/schemas/TaskMessageContent' - description: The message that was sent to the agent - stream: - type: boolean - title: Stream - description: Whether to stream the response message back to the client - default: false - task_params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Params - description: The parameters for the task (only used when creating new tasks) - type: object - required: - - content - title: SendMessageRequest - SkipRunScheduleRequest: - properties: - scheduled_time: - type: string - format: date-time - title: Scheduled Time - description: Specific scheduled fire time to skip. - type: object - required: - - scheduled_time - title: SkipRunScheduleRequest - Span: - properties: - id: - type: string - title: Unique Span ID - trace_id: - type: string - title: The trace ID for this span - description: Unique identifier for the trace this span belongs to - task_id: - anyOf: - - type: string - - type: 'null' - title: The task ID this span is associated with - description: ID of the task this span belongs to - parent_id: - anyOf: - - type: string - - type: 'null' - title: The parent span ID if this is a child span - description: ID of the parent span if this is a child span in a trace - name: - type: string - title: The name of the span - description: Name that describes what operation this span represents - start_time: - type: string - format: date-time - title: The start time of the span - description: The time the span started - end_time: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The end time of the span - description: The time the span ended - input: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: The input data for the span - description: Input parameters or data for the operation - output: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: The output data from the span - description: Output data resulting from the operation - data: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: Additional data associated with the span - description: Any additional metadata or context for the span - type: object - required: - - id - - trace_id - - name - - start_time - title: Span - State: - properties: - task_id: - type: string - title: The unique id of the task to send the state to - agent_id: - type: string - title: The unique id of the agent to send the state to - state: - additionalProperties: true - type: object - title: The state to send to the task. - id: - type: string - title: Id - description: The task state's unique id - created_at: - type: string - format: date-time - title: Created At - description: The timestamp when the state was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Updated At - description: The timestamp when the state was last updated - type: object - required: - - task_id - - agent_id - - state - - id - - created_at - title: State - description: 'Represents a state in the agent system. A state is associated - uniquely with a task and an agent. - - - This entity is used to store states in MongoDB, with each state - - associated with a specific task and agent. The combination of task_id and - agent_id is globally unique. - - - The state is a dictionary of arbitrary data.' - StateEntity: - properties: - id: - anyOf: - - type: string - - type: 'null' - title: Id - description: The task state's unique id - task_id: - type: string - title: Task Id - description: ID of the task this state belongs to. The combination of task_id - and agent_id is globally unique. - agent_id: - type: string - title: Agent Id - description: ID of the agent this state belongs to. The combination of task_id - and agent_id is globally unique. - state: - additionalProperties: true - type: object - title: State - description: The state object that contains arbitrary data - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Created At - description: The timestamp when the state was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Updated At - description: The timestamp when the state was last updated - type: object - required: - - task_id - - agent_id - - state - title: StateEntity - description: 'Represents a state in the agent system. A state is associated - uniquely with a task and an agent. - - - This entity is used to store states in MongoDB, with each state - - associated with a specific task and agent. The combination of task_id and - agent_id is globally unique. - - - The state is a dictionary of arbitrary data.' - StreamTaskMessageDelta: - properties: - type: - type: string - const: delta - title: Type - default: delta - index: - anyOf: - - type: integer - - type: 'null' - title: Index - parent_task_message: - anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' - delta: - anyOf: - - $ref: '#/components/schemas/TaskMessageDelta' - - type: 'null' - type: object - title: StreamTaskMessageDelta - description: Event for streaming chunks of content - StreamTaskMessageDone: - properties: - type: - type: string - const: done - title: Type - default: done - index: - anyOf: - - type: integer - - type: 'null' - title: Index - parent_task_message: - anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' - type: object - title: StreamTaskMessageDone - description: Event for indicating the task is done - StreamTaskMessageFull: - properties: - type: - type: string - const: full - title: Type - default: full - index: - anyOf: - - type: integer - - type: 'null' - title: Index - parent_task_message: - anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' - content: - $ref: '#/components/schemas/TaskMessageContent' - type: object - required: - - content - title: StreamTaskMessageFull - description: Event for streaming the full content - StreamTaskMessageStart: - properties: - type: - type: string - const: start - title: Type - default: start - index: - anyOf: - - type: integer - - type: 'null' - title: Index - parent_task_message: - anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' - content: - $ref: '#/components/schemas/TaskMessageContent' - type: object - required: - - content - title: StreamTaskMessageStart - description: Event for starting a streaming message - Task: - properties: - id: - type: string - title: Unique Task ID - name: - anyOf: - - type: string - - type: 'null' - title: Unique name of the task - status: - anyOf: - - $ref: '#/components/schemas/TaskStatus' - - type: 'null' - title: The current status of the task - status_reason: - anyOf: - - type: string - - type: 'null' - title: The reason for the current task status - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task was last updated - cleaned_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task's content was cleaned for retention compliance; - null when active - params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task parameters - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task metadata - type: object - required: - - id - title: Task - TaskMessage: - properties: - id: - anyOf: - - type: string - - type: 'null' - title: Id - description: The task message's unique id - task_id: - type: string - title: Task Id - description: ID of the task this message belongs to - content: - $ref: '#/components/schemas/TaskMessageContent' - description: The content of the message. This content is not OpenAI compatible. - These are messages that are meant to be displayed to the user. - streaming_status: - anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' - title: In case of streaming, this indicates whether the message is still - being streamed or has been completed - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Created At - description: The timestamp when the message was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Updated At - description: The timestamp when the message was last updated - type: object - required: - - task_id - - content - title: TaskMessage - description: 'Represents a message in the agent system. - - - This entity is used to store messages in MongoDB, with each message - - associated with a specific task.' - TaskMessageContent: - oneOf: - - $ref: '#/components/schemas/TextContent' - - $ref: '#/components/schemas/ReasoningContent' - - $ref: '#/components/schemas/DataContent' - - $ref: '#/components/schemas/ToolRequestContent' - - $ref: '#/components/schemas/ToolResponseContent' - title: TaskMessageContent - discriminator: - propertyName: type - mapping: - data: '#/components/schemas/DataContent' - reasoning: '#/components/schemas/ReasoningContent' - text: '#/components/schemas/TextContent' - tool_request: '#/components/schemas/ToolRequestContent' - tool_response: '#/components/schemas/ToolResponseContent' - TaskMessageDelta: - oneOf: - - $ref: '#/components/schemas/TextDelta' - - $ref: '#/components/schemas/DataDelta' - - $ref: '#/components/schemas/ToolRequestDelta' - - $ref: '#/components/schemas/ToolResponseDelta' - - $ref: '#/components/schemas/ReasoningSummaryDelta' - - $ref: '#/components/schemas/ReasoningContentDelta' - title: TaskMessageDelta - discriminator: - propertyName: type - mapping: - data: '#/components/schemas/DataDelta' - reasoning_content: '#/components/schemas/ReasoningContentDelta' - reasoning_summary: '#/components/schemas/ReasoningSummaryDelta' - text: '#/components/schemas/TextDelta' - tool_request: '#/components/schemas/ToolRequestDelta' - tool_response: '#/components/schemas/ToolResponseDelta' - TaskMessageEntity: - properties: - id: - anyOf: - - type: string - - type: 'null' - title: Id - description: The task message's unique id - task_id: - type: string - title: Task Id - description: ID of the task this message belongs to - content: - oneOf: - - $ref: '#/components/schemas/TextContentEntity' - - $ref: '#/components/schemas/DataContentEntity' - - $ref: '#/components/schemas/ToolRequestContentEntity' - - $ref: '#/components/schemas/ToolResponseContentEntity' - - $ref: '#/components/schemas/ReasoningContentEntity' - title: Content - description: The content of the message. This content is not OpenAI compatible. - These are messages that are meant to be displayed to the user. - discriminator: - propertyName: type - mapping: - data: '#/components/schemas/DataContentEntity' - reasoning: '#/components/schemas/ReasoningContentEntity' - text: '#/components/schemas/TextContentEntity' - tool_request: '#/components/schemas/ToolRequestContentEntity' - tool_response: '#/components/schemas/ToolResponseContentEntity' - streaming_status: - anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' - title: In case of streaming, this indicates whether the message is still - being streamed or has been completed - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Created At - description: The timestamp when the message was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Updated At - description: The timestamp when the message was last updated - type: object - required: - - task_id - - content - title: TaskMessageEntity - description: 'Represents a message in the agent system. - - - This entity is used to store messages in MongoDB, with each message - - associated with a specific task.' - TaskMessageUpdate: - oneOf: - - $ref: '#/components/schemas/StreamTaskMessageStart' - - $ref: '#/components/schemas/StreamTaskMessageDelta' - - $ref: '#/components/schemas/StreamTaskMessageFull' - - $ref: '#/components/schemas/StreamTaskMessageDone' - title: TaskMessageUpdate - discriminator: - propertyName: type - mapping: - delta: '#/components/schemas/StreamTaskMessageDelta' - done: '#/components/schemas/StreamTaskMessageDone' - full: '#/components/schemas/StreamTaskMessageFull' - start: '#/components/schemas/StreamTaskMessageStart' - TaskRelationships: - type: string - enum: - - agents - title: TaskRelationships - description: Task relationships that can be loaded - TaskResponse: - properties: - id: - type: string - title: Unique Task ID - name: - anyOf: - - type: string - - type: 'null' - title: Unique name of the task - status: - anyOf: - - $ref: '#/components/schemas/TaskStatus' - - type: 'null' - title: The current status of the task - status_reason: - anyOf: - - type: string - - type: 'null' - title: The reason for the current task status - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task was last updated - cleaned_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task's content was cleaned for retention compliance; - null when active - params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task parameters - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task metadata - agents: - anyOf: - - items: - $ref: '#/components/schemas/Agent' - type: array - - type: 'null' - title: Agents associated with this task (only populated when 'agent' view - is requested) - type: object - required: - - id - title: TaskResponse - description: Task response model with optional related data based on relationships - TaskStatus: - type: string - enum: - - CANCELED - - COMPLETED - - FAILED - - RUNNING - - INTERRUPTED - - TERMINATED - - TIMED_OUT - - DELETED - title: TaskStatus - TaskStatusReasonRequest: - properties: - reason: - anyOf: - - type: string - - type: 'null' - title: Optional reason for the status change - type: object - title: TaskStatusReasonRequest - TaskSummary: - properties: - id: - type: string - title: Unique Task ID - name: - anyOf: - - type: string - - type: 'null' - title: Unique name of the task - status: - anyOf: - - $ref: '#/components/schemas/TaskStatus' - - type: 'null' - title: The current status of the task - status_reason: - anyOf: - - type: string - - type: 'null' - title: The reason for the current task status - created_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task was created - updated_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task was last updated - cleaned_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task's content was cleaned for retention compliance; - null when active - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task metadata - agents: - anyOf: - - items: - $ref: '#/components/schemas/Agent' - type: array - - type: 'null' - title: Agents associated with this task (only populated when 'agents' view - is requested) - type: object - required: - - id - title: TaskSummary - description: 'Lean list-response shape. Omits `params` (the arbitrary create-time - - payload, which can carry per-caller secrets and PII); fetch GET /tasks/{id} - - for the full record.' - TextContent: - properties: - type: - type: string - const: text - title: Type - description: The type of the message, in this case `text`. - default: text - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - format: - $ref: '#/components/schemas/TextFormat' - description: The format of the message. This is used by the client to determine - how to display the message. - default: plain - content: - type: string - title: Content - description: The contents of the text message. - attachments: - anyOf: - - items: - $ref: '#/components/schemas/FileAttachment' - type: array - - type: 'null' - title: Attachments - description: Optional list of file attachments with structured metadata. - type: object - required: - - author - - content - title: TextContent - TextContentEntity: - properties: - type: - type: string - const: text - title: Type - description: The type of the message, in this case `text`. - default: text - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - format: - $ref: '#/components/schemas/TextFormat' - description: The format of the message. This is used by the client to determine - how to display the message. - default: plain - content: - type: string - title: Content - description: The contents of the text message. - attachments: - anyOf: - - items: - $ref: '#/components/schemas/FileAttachmentEntity' - type: array - - type: 'null' - title: Attachments - description: Optional list of file attachments with structured metadata. - type: object - required: - - author - - content - title: TextContentEntity - TextDelta: - properties: - type: - type: string - const: text - title: Type - default: text - text_delta: - anyOf: - - type: string - - type: 'null' - title: Text Delta - default: '' - type: object - title: TextDelta - description: Delta for text updates - TextFormat: - type: string - enum: - - markdown - - plain - - code - title: TextFormat - ToolRequestContent: - properties: - type: - type: string - const: tool_request - title: Type - description: The type of the message, in this case `tool_request`. - default: tool_request - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - tool_call_id: - type: string - title: Tool Call Id - description: The ID of the tool call that is being requested. - name: - type: string - title: Name - description: The name of the tool that is being requested. - arguments: - additionalProperties: true - type: object - title: Arguments - description: The arguments to the tool. - type: object - required: - - author - - tool_call_id - - name - - arguments - title: ToolRequestContent - ToolRequestContentEntity: - properties: - type: - type: string - const: tool_request - title: Type - description: The type of the message, in this case `tool_request`. - default: tool_request - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - tool_call_id: - type: string - title: Tool Call Id - description: The ID of the tool call that is being requested. - name: - type: string - title: Name - description: The name of the tool that is being requested. - arguments: - additionalProperties: true - type: object - title: Arguments - description: The arguments to the tool. - type: object - required: - - author - - tool_call_id - - name - - arguments - title: ToolRequestContentEntity - ToolRequestDelta: - properties: - type: - type: string - const: tool_request - title: Type - default: tool_request - tool_call_id: - type: string - title: Tool Call Id - name: - type: string - title: Name - arguments_delta: - anyOf: - - type: string - - type: 'null' - title: Arguments Delta - default: '' - type: object - required: - - tool_call_id - - name - title: ToolRequestDelta - description: Delta for tool request updates - ToolResponseContent: - properties: - type: - type: string - const: tool_response - title: Type - description: The type of the message, in this case `tool_response`. - default: tool_response - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - tool_call_id: - type: string - title: Tool Call Id - description: The ID of the tool call that is being responded to. - name: - type: string - title: Name - description: The name of the tool that is being responded to. - content: - title: Content - description: The result of the tool. - is_error: - anyOf: - - type: boolean - - type: 'null' - title: Is Error - description: Whether the tool call resulted in an error. `None` when the - harness does not report a status. - type: object - required: - - author - - tool_call_id - - name - - content - title: ToolResponseContent - ToolResponseContentEntity: - properties: - type: - type: string - const: tool_response - title: Type - description: The type of the message, in this case `tool_response`. - default: tool_response - author: - $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, - `assistant`, or `tool`. - style: - $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine - how to display the message. - default: static - tool_call_id: - type: string - title: Tool Call Id - description: The ID of the tool call that is being responded to. - name: - type: string - title: Name - description: The name of the tool that is being responded to. - content: - title: Content - description: The result of the tool. - is_error: - anyOf: - - type: boolean - - type: 'null' - title: Is Error - description: Whether the tool call resulted in an error. `None` when the - harness does not report a status. - type: object - required: - - author - - tool_call_id - - name - - content - title: ToolResponseContentEntity - ToolResponseDelta: - properties: - type: - type: string - const: tool_response - title: Type - default: tool_response - tool_call_id: - type: string - title: Tool Call Id - name: - type: string - title: Name - content_delta: - anyOf: - - type: string - - type: 'null' - title: Content Delta - default: '' - type: object - required: - - tool_call_id - - name - title: ToolResponseDelta - description: Delta for tool response updates - UnskipRunScheduleRequest: - properties: - scheduled_time: - type: string - format: date-time - title: Scheduled Time - description: Specific scheduled fire time to unskip. - type: object - required: - - scheduled_time - title: UnskipRunScheduleRequest - UpdateAgentRunScheduleRequest: - properties: - name: - anyOf: - - type: string - maxLength: 64 - minLength: 1 - pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$ - - type: 'null' - title: Schedule Name - description: Human-readable name, unique among active schedules for the - agent. - description: - anyOf: - - type: string - - type: 'null' - title: Description - description: Optional description of what this schedule does. - cron_expression: - anyOf: - - type: string - - type: 'null' - title: Cron Expression - description: New cron cadence. Mutually exclusive with interval_seconds. - interval_seconds: - anyOf: - - type: integer - minimum: 1.0 - - type: 'null' - title: Interval Seconds - description: New interval cadence in seconds. Mutually exclusive with cron_expression. - timezone: - anyOf: - - type: string - - type: 'null' - title: Timezone - description: IANA timezone the cron expression is evaluated in. - start_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: Start At - description: When the schedule should start being active. - end_at: - anyOf: - - type: string - format: date-time - - type: 'null' - title: End At - description: When the schedule should stop being active. - paused: - anyOf: - - type: boolean - - type: 'null' - title: Paused - description: Pause/resume the schedule as part of the update. - task_params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Params - description: Resolved config forwarded as task `params` at fire time. - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Task Metadata - description: Metadata copied onto each created task at fire time. - initial_input: - anyOf: - - $ref: '#/components/schemas/ScheduleInitialInput' - - type: 'null' - description: Replacement initial input delivered to each created task. - type: object - title: UpdateAgentRunScheduleRequest - description: 'Partial update for a scheduled agent run. - - - Only fields present in the request body are changed. Setting - - ``cron_expression`` clears ``interval_seconds`` and vice versa; providing - both - - is rejected.' - UpdateAgentTaskTrackerRequest: - properties: - last_processed_event_id: - anyOf: - - type: string - - type: 'null' - title: Last Processed Event Id - description: The most recent processed event ID (omit to leave unchanged) - status: - anyOf: - - type: string - - type: 'null' - title: Status - description: Processing status - status_reason: - anyOf: - - type: string - - type: 'null' - title: Status Reason - description: Optional status reason - type: object - title: UpdateAgentTaskTrackerRequest - description: Request model for updating an agent task tracker. - UpdateSpanRequest: - properties: - trace_id: - anyOf: - - type: string - - type: 'null' - title: The trace ID for this span - description: Unique identifier for the trace this span belongs to - task_id: - anyOf: - - type: string - - type: 'null' - title: The task ID this span is associated with - description: ID of the task this span belongs to - parent_id: - anyOf: - - type: string - - type: 'null' - title: The parent span ID if this is a child span - description: ID of the parent span if this is a child span in a trace - name: - anyOf: - - type: string - - type: 'null' - title: The name of the span - description: Name that describes what operation this span represents - start_time: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The start time of the span - description: The time the span started - end_time: - anyOf: - - type: string - format: date-time - - type: 'null' - title: The end time of the span - description: The time the span ended - input: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: The input data for the span - description: Input parameters or data for the operation - output: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: The output data from the span - description: Output data resulting from the operation - data: - anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true - type: object - type: array - - type: 'null' - title: Additional data associated with the span - description: Any additional metadata or context for the span - type: object - title: UpdateSpanRequest - UpdateStateRequest: - properties: - state: - additionalProperties: true - type: object - title: The state to update the state with. - type: object - required: - - state - title: UpdateStateRequest - UpdateTaskMessageRequest: - properties: - task_id: - type: string - title: The unique id of the task to update the message of - content: - $ref: '#/components/schemas/TaskMessageContent' - title: The message to update the message with. - streaming_status: - anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' - title: The streaming status of the message - type: object - required: - - task_id - - content - title: UpdateTaskMessageRequest - UpdateTaskRequest: - properties: - task_metadata: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: If provided, replaces task_metadata with this value - merge_params: - anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Optional shallow-merge patch applied to the task's params column. - Top-level keys overwrite; pass full nested objects to change subfields. - type: object - title: UpdateTaskRequest - ValidationError: - properties: - loc: - items: - anyOf: - - type: string - - type: integer - type: array - title: Location - msg: - type: string - title: Message - type: - type: string - title: Error Type - input: - title: Input - ctx: - type: object - title: Context - type: object - required: - - loc - - msg - - type - title: ValidationError - WriteData: - properties: - task_id: - type: string - title: Task ID - idx: - type: integer - title: Write index - channel: - type: string - title: Channel name - type: - anyOf: - - type: string - - type: 'null' - title: Serialization type tag - blob: - type: string - title: Base64-encoded binary data - task_path: - type: string - title: Task path - default: '' - type: object - required: - - task_id - - idx - - channel - - blob - title: WriteData - WriteResponse: - properties: - task_id: - type: string - title: Task Id - idx: - type: integer - title: Idx - channel: - type: string - title: Channel - type: - anyOf: - - type: string - - type: 'null' - title: Type - blob: - anyOf: - - type: string - - type: 'null' - title: Blob - type: object - required: - - task_id - - idx - - channel - title: WriteResponse diff --git a/stainless/workspace.json b/stainless/workspace.json index 706855f7..3a4ed70a 100644 --- a/stainless/workspace.json +++ b/stainless/workspace.json @@ -1,5 +1,5 @@ { - "openapi_spec": "openapi.yml", + "openapi_spec": "../agentex/openapi.yaml", "stainless_config": "stainless.yml", "output_path": "./sdks" } From 2ed7394f8e4bbcad0d4bf78a6600df44266fe134 Mon Sep 17 00:00:00 2001 From: Ari Nguyen Date: Tue, 15 Sep 2026 14:41:26 -0700 Subject: [PATCH 5/6] chore(stainless): drop superseded typescript custom-code records Two tracking files were sealed for branches no longer built here. stlc only consolidates records matching the current branch, so they would have been re-merged on every build forever while status claimed they were about to be consolidated. Both are fully absorbed into the surviving seal: identical tree path sets, and all 30 files the older record customizes have byte-identical blobs in it. The second pointed at the same integrated commit already. Re-sealing after removal produced no change, and their base/integrated refs remain on the staging SDK remote. Co-Authored-By: Claude Opus 5 --- .../typescript/2026-09-02T18-57-22-747Z-custom-code.json | 6 ------ .../typescript/2026-09-15T18-52-58-998Z-custom-code.json | 6 ------ 2 files changed, 12 deletions(-) delete mode 100644 stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json delete mode 100644 stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json diff --git a/stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json b/stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json deleted file mode 100644 index a515fb6d..00000000 --- a/stainless/custom-code/typescript/2026-09-02T18-57-22-747Z-custom-code.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "base": "821e5dbeb4f943017eb57aa3eefd2677c4c1636f", - "integrated": "e0e33cd9b1f4de7f3544b7bd2407c065b2fe69b2", - "branch": "main", - "filename": "2026-09-02T18-57-22-747Z-custom-code.json" -} \ No newline at end of file diff --git a/stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json b/stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json deleted file mode 100644 index 0fdbd832..00000000 --- a/stainless/custom-code/typescript/2026-09-15T18-52-58-998Z-custom-code.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "base": "098427dceea7aa4fe58187a36a7e71ec690dd0f2", - "integrated": "f674bdfe8251400bf62cf2a53d4114abbe9a4642", - "filename": "2026-09-15T18-52-58-998Z-custom-code.json", - "branch": "aringuyen/stainless-selfhost" -} From ba187d0466e54d3ecfb614a3765a58904d99f0be Mon Sep 17 00:00:00 2001 From: Ari Nguyen Date: Tue, 15 Sep 2026 15:45:04 -0700 Subject: [PATCH 6/6] fix(stainless): point the production SDK environment at the deployed API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both environments were left on the scaffold default of http://localhost:5003, and production is what a client picks when no base URL is supplied — so a plain `Agentex(api_key=...)` called the developer's own machine instead of the API. Set production to the deployed endpoint and leave localhost as development. Regenerated both SDKs so the clients carry it. Co-Authored-By: Claude Opus 5 --- .../python/2026-09-15T20-11-59-021Z-custom-code.json | 4 ++-- .../typescript/2026-09-15T18-58-50-806Z-custom-code.json | 4 ++-- stainless/stainless.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json b/stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json index 42258ec3..d1943761 100644 --- a/stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json +++ b/stainless/custom-code/python/2026-09-15T20-11-59-021Z-custom-code.json @@ -1,6 +1,6 @@ { - "base": "0cf052eb8e58e4af68bd79f390dd41c2dd996c54", - "integrated": "0d33be0041506dc0949a10e9e1e671fe8e74b59d", + "base": "bccf14856cbfc841d8ed438c77059c4c014ffe4a", + "integrated": "1660bc20b2c3102b3a41bf7182c94bb9fbb3e6a7", "filename": "2026-09-15T20-11-59-021Z-custom-code.json", "branch": "aringuyen/stainless" } diff --git a/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json b/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json index 1f86673b..44e755a4 100644 --- a/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json +++ b/stainless/custom-code/typescript/2026-09-15T18-58-50-806Z-custom-code.json @@ -1,6 +1,6 @@ { - "base": "457787d2c39e55e17873bafd93414577f1e7ddfa", - "integrated": "f674bdfe8251400bf62cf2a53d4114abbe9a4642", + "base": "e5af14443ff12e5eda45d3f9c7c460cb582f91d7", + "integrated": "fc94b6d52fb59060b0f05bd73311477d1fb14479", "filename": "2026-09-15T18-58-50-806Z-custom-code.json", "branch": "aringuyen/stainless" } diff --git a/stainless/stainless.yml b/stainless/stainless.yml index b4376460..f7ecdc93 100644 --- a/stainless/stainless.yml +++ b/stainless/stainless.yml @@ -32,7 +32,7 @@ targets: # `environments` are a map of the name of the environment (e.g. "sandbox", # "production") to the corresponding url to use. environments: - production: http://localhost:5003 + production: https://agentex.sgp.scale.com development: http://localhost:5003 # `resources` define the structure and organization for your API, such as how