Files
langgraph/docs/docs/cloud/reference/api/open_agent_api.json
T

2071 lines
57 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "Open Assistants API Specification",
"version": "1.0.0"
},
"tags": [
{
"name": "Templates",
"description": "A template is the cognitive architecture of an assistant."
},
{
"name": "Assistants",
"description": "An assistant is a configured instance of a template."
},
{
"name": "Threads",
"description": "A thread contains the accumulated outputs of a group of runs. The outputs are persisted to a thread's state."
},
{
"name": "Runs",
"description": "A run is an invocation of an assistant. The output of a run is persisted to a thread's state."
},
{
"name": "Runs (Threadless)",
"description": "A run is an invocation of an assistant. The output of a threadless run is not persisted to any thread state."
}
],
"paths": {
"/templates": {
"get": {
"tags": [
"Templates"
],
"summary": "List Templates",
"description": "List all templates.",
"operationId": "templates_get",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Template"
},
"type": "array"
}
}
}
}
}
}
},
"/assistants": {
"post": {
"tags": [
"Assistants"
],
"summary": "Create Assistant",
"description": "Create an assistant.\n\nAn initial version of the assistant will be created and the assistant is set to that version. To change versions, use the `PATCH /assistants/{assistant_id}/` endpoint.",
"operationId": "assistants_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Assistant"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/assistants/search": {
"post": {
"tags": [
"Assistants"
],
"summary": "Search Assistants",
"description": "Search for assistants.\n\nThis endpoint also functions as the endpoint to list all assistants (omit `metadata` and `template_id`). The API specification does not specify how the search is implemented.",
"operationId": "assistants_search_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantSearch"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Assistant"
},
"type": "array",
"title": "Response Search Assistants Assistants Search Post"
}
}
}
}
}
}
},
"/assistants/{assistant_id}": {
"get": {
"tags": [
"Assistants"
],
"summary": "Get Assistant",
"description": "Get an assistant by ID.",
"operationId": "assistants__assistant_id__get",
"parameters": [
{
"description": "The ID of the assistant.",
"required": true,
"schema": {
"type": "string",
"title": "Assistant ID",
"description": "The ID of the assistant."
},
"name": "assistant_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Assistant"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Assistants"
],
"summary": "Patch Assistant",
"description": "Patch an assistant by ID.",
"operationId": "assistants__assistant_id__patch",
"parameters": [
{
"description": "The ID of the assistant.",
"required": true,
"schema": {
"type": "string",
"title": "Assistant ID",
"description": "The ID of the assistant."
},
"name": "assistant_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantPatch"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Assistant"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Assistants"
],
"summary": "Delete Assistant",
"description": "Delete an assistant by ID.\n\nAll versions of the assistant will be deleted as well.",
"operationId": "assistants__assistant_id__delete",
"parameters": [
{
"description": "The ID of the assistant.",
"required": true,
"schema": {
"type": "string",
"title": "Assistant ID",
"description": "The ID of the assistant."
},
"name": "assistant_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Success",
"content": {
"application/json": {
"schema": null
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/assistants/{assistant_id}/versions": {
"post": {
"tags": [
"Assistants"
],
"summary": "Create Assistant Version",
"description": "Create a new version of an assistant.\n\nAn assistant version is immutable. Assistant versions can only be created.",
"operationId": "assistants__assistant_id__versions_post",
"parameters": [
{
"description": "The ID of the assistant.",
"required": true,
"schema": {
"type": "string",
"title": "Assistant Id",
"description": "The ID of the assistant."
},
"name": "assistant_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantVersionCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Assistant"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/assistants/{assistant_id}/versions/search": {
"post": {
"tags": [
"Assistants"
],
"summary": "Search Assistant Versions",
"description": "Search for assistant versions.\n\nThis endpoint also functions as the endpoint to list all versions of an assistant (omit `metadata` and `template_id`). The API specification does not specify how the search is implemented.",
"operationId": "assistants__assistant_id__versions_search_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssistantSearch"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Assistant"
},
"type": "array",
"title": "Response Search Assistants Assistants Search Post"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/assistants/{assistant_id}/versions/{version}": {
"get": {
"tags": [
"Assistants"
],
"summary": "Get Assistant Version",
"description": "Get a version of an assistant.",
"operationId": "assistants__assistant_id__versions__version__get",
"parameters": [
{
"description": "The ID of the assistant.",
"required": true,
"schema": {
"type": "string",
"title": "Assistant Id",
"description": "The ID of the assistant."
},
"name": "assistant_id",
"in": "path"
},
{
"description": "The version of the assistant.",
"required": true,
"schema": {
"type": "integer",
"title": "Version",
"description": "The version of the assistant."
},
"name": "version",
"in": "path"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Assistant"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads": {
"post": {
"tags": [
"Threads"
],
"summary": "Create Thread",
"description": "Create a thread.",
"operationId": "threads_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Thread"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/search": {
"post": {
"tags": [
"Threads"
],
"summary": "Search Threads",
"description": "Search for threads.\n\nThis endpoint also functions as the endpoint to list all threads (omit `metadata`, `values`, and `status`). The API specification does not specify how the search is implemented.",
"operationId": "threads_search_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadSearch"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Thread"
},
"type": "array",
"title": "Response Search Threads Threads Search Post"
}
}
}
}
}
}
},
"/threads/{thread_id}": {
"get": {
"tags": [
"Threads"
],
"summary": "Get Thread",
"description": "Get a thread by ID.",
"operationId": "threads__thread_id__get",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"title": "Thread Id",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Thread"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Threads"
],
"summary": "Patch Thread",
"description": "Patch a thread by ID.",
"operationId": "threads__thread_id__patch",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread Id",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadPatch"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Thread"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Threads"
],
"summary": "Delete Thread",
"description": "Delete a thread by ID.",
"operationId": "threads__thread_id__delete",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread Id",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Success",
"content": {
"application/json": {
"schema": null
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/state": {
"post": {
"tags": [
"Threads"
],
"summary": "Create Thread State",
"description": "Add state to a thread.",
"operationId": "threads__thread_id__state_post",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadStateCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadState"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Threads"
],
"summary": "Get Thread State",
"description": "Get state for a thread.\n\nThe latest state of the thread is returned.",
"operationId": "threads__thread_id__state_get",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadState"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/state/search": {
"post": {
"tags": [
"Threads"
],
"summary": "Search Thread States",
"description": "Search for thread states.\n\nThis endpoint also functions as the endpoint to list all thread states (omit `metadata` and `checkpoint_id`). The API specification does not specify how the search is implemented.",
"operationId": "threads__thread_id__state_search_post",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"format": "uuid",
"title": "Thread Id",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThreadStateSearch"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ThreadState"
},
"type": "array",
"title": "Response Get Thread History Post Threads Thread Id History Post"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/runs": {
"post": {
"tags": [
"Runs"
],
"summary": "Create Run",
"description": "Create a run and persist its output to a thread. Don't wait for the final output. Return immediately.",
"operationId": "threads__thread_id__runs_post",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Run"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Runs"
],
"summary": "List Runs",
"description": "Get runs for a thread.",
"operationId": "threads__thread_id__runs_get",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
},
{
"required": false,
"schema": {
"type": "integer",
"title": "Limit",
"default": 10
},
"name": "limit",
"in": "query"
},
{
"required": false,
"schema": {
"type": "integer",
"title": "Offset",
"default": 0
},
"name": "offset",
"in": "query"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Run"
},
"type": "array"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/runs/stream": {
"post": {
"tags": [
"Runs"
],
"summary": "Create Run, Stream Output",
"description": "Create a run and persist its output to a thread. Stream the output.",
"operationId": "threads__thread_id__runs_stream_post",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread Id",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"text/event-stream": {
"schema": {
"type": "string",
"description": "The server will send a stream of events in SSE format.\n\n**Example event**:\n\nid: 1\n\nevent: message\n\ndata: {}"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/runs/wait": {
"post": {
"tags": [
"Runs"
],
"summary": "Create Run, Wait for Output",
"description": "Create a run and persist its output to a thread. Wait for the final output and then return.",
"operationId": "threads__thread_id__runs_wait_post",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunWaitOutput"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/runs/{run_id}": {
"get": {
"tags": [
"Runs"
],
"summary": "Get Run",
"description": "Get a run by ID.",
"operationId": "threads__thread_id__runs__run_id__get",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
},
{
"description": "The ID of the run.",
"required": true,
"schema": {
"type": "string",
"title": "Run ID",
"description": "The ID of the run."
},
"name": "run_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Run"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Runs"
],
"summary": "Delete Run",
"description": "Delete a run by ID.",
"operationId": "threads__thread_id__runs__run_id__delete",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
},
{
"description": "The ID of the run.",
"required": true,
"schema": {
"type": "string",
"title": "Run ID",
"description": "The ID of the run."
},
"name": "run_id",
"in": "path"
}
],
"responses": {
"204": {
"description": "Success",
"content": {
"application/json": {
"schema": null
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/runs/{run_id}/cancel": {
"post": {
"tags": [
"Runs"
],
"summary": "Cancel Run",
"description": "Cancel a run by ID.",
"operationId": "threads__thread_id__runs__run_id__cancel_post",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
},
{
"description": "The ID of the run.",
"required": true,
"schema": {
"type": "string",
"title": "Run ID",
"description": "The ID of the run."
},
"name": "run_id",
"in": "path"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunCancel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": null
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/runs/{run_id}/stream": {
"get": {
"tags": [
"Runs"
],
"summary": "Stream Output of Run",
"description": "Stream the output of a run.\n\nOnly output produced after this endpoint is called will be streamed.",
"operationId": "threads__thread_id__runs__run_id__join_get",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
},
{
"description": "The ID of the run.",
"required": true,
"schema": {
"type": "string",
"title": "Run ID",
"description": "The ID of the run."
},
"name": "run_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/event-stream": {
"schema": {
"type": "string",
"description": "The server will send a stream of events in SSE format.\n\n**Example event**:\n\nid: 1\n\nevent: message\n\ndata: {}"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/threads/{thread_id}/runs/{run_id}/wait": {
"get": {
"tags": [
"Runs"
],
"summary": "Wait for Output of Run",
"description": "Wait for the final output of a run and then return.",
"operationId": "threads__thread_id__runs__run_id__join_get",
"parameters": [
{
"description": "The ID of the thread.",
"required": true,
"schema": {
"type": "string",
"title": "Thread ID",
"description": "The ID of the thread."
},
"name": "thread_id",
"in": "path"
},
{
"description": "The ID of the run.",
"required": true,
"schema": {
"type": "string",
"title": "Run ID",
"description": "The ID of the run."
},
"name": "run_id",
"in": "path"
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunWaitOutput"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/runs": {
"post": {
"tags": [
"Runs (Threadless)"
],
"summary": "Create Run",
"description": "Create a run without persisting its output to a thread. Don't wait for the final output. Return immediately.",
"operationId": "runs_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": null
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/runs/stream": {
"post": {
"tags": [
"Runs (Threadless)"
],
"summary": "Create Run, Stream Output",
"description": "Create a run without persisting its output to a thread. Stream the output.",
"operationId": "runs_stream_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"text/event-stream": {
"schema": {
"type": "string",
"description": "The server will send a stream of events in SSE format.\n\n**Example event**:\n\nid: 1\n\nevent: message\n\ndata: {}"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/runs/wait": {
"post": {
"tags": [
"Runs (Threadless)"
],
"summary": "Create Run, Wait for Output",
"description": "Create a run without persisting its output to a thread. Wait for the final output and then return.",
"operationId": "runs_wait_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunWaitOutput"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Template": {
"properties": {
"template_id": {
"type": "string",
"title": "Template ID"
}
},
"type": "object",
"required": [
"template_id"
],
"title": "Template"
},
"Assistant": {
"properties": {
"assistant_id": {
"type": "string",
"title": "Assistant ID"
},
"template_id": {
"type": "string",
"title": "Template ID"
},
"config": {
"type": "object",
"title": "Config"
},
"metadata": {
"type": "object",
"title": "Metadata"
},
"version": {
"type": "integer",
"title": "Version"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"assistant_id",
"graph_id",
"config",
"created_at",
"updated_at",
"metadata"
],
"title": "Assistant"
},
"AssistantCreate": {
"properties": {
"assistant_id": {
"type": "string",
"title": "Assistant ID",
"description": "The ID of the assistant. If not provided, an ID is generated."
},
"template_id": {
"type": "string",
"title": "Template ID",
"description": "The Template ID references an internal template implementation for the assistant."
},
"config": {
"type": "object",
"title": "Config",
"description": "Arbitrary configuration for the assistant. The configuration may augment the behavior of the assistant depending on the referenced template."
},
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Arbitrary metadata for the assistant."
}
},
"type": "object",
"required": [
"template_id"
],
"title": "AssistantCreate",
"description": "Payload for creating an assistant."
},
"AssistantPatch": {
"properties": {
"version": {
"type": "integer",
"title": "Version",
"description": "Version to change to."
}
},
"type": "integer",
"required": [
"version"
],
"title": "AssistantPatch",
"description": "Payload for patching an assistant."
},
"AssistantSearch": {
"properties": {
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Metadata to search for."
},
"template_id": {
"type": "string",
"title": "Template ID",
"description": "Filter by template ID."
},
"limit": {
"type": "integer",
"title": "Limit",
"description": "Maximum number to return.",
"default": 10,
"minimum": 1,
"maximum": 1000
},
"offset": {
"type": "integer",
"title": "Offset",
"description": "Offset to start from.",
"default": 0,
"minimum": 0
}
},
"type": "object",
"title": "AssistantSearch",
"description": "Payload for searching for assistants or assistant versions."
},
"AssistantVersionCreate": {
"properties": {
"template_id": {
"type": "string",
"title": "Template ID",
"description": "The Template ID references an internal template implementation for the assistant."
},
"config": {
"type": "object",
"title": "Config",
"description": "Arbitrary configuration for the assistant. The configuration may augment the behavior of the assistant depending on the referenced template."
},
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Arbitrary metadata for the assistant."
}
},
"type": "object",
"title": "AssistantVersionCreate",
"description": "Payload for creating an assistant version."
},
"Thread": {
"properties": {
"thread_id": {
"type": "string",
"title": "Thread ID"
},
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Arbitrary metadata for the thread."
},
"status": {
"type": "string",
"enum": [
"idle",
"busy",
"interrupted",
"error"
],
"title": "Status",
"description": "The status indicates the current state of the thread with respect to \"double texting\" use cases."
},
"values": {
"type": "object",
"title": "Values",
"description": "Arbitrary state values persisted to the thread."
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"thread_id",
"created_at",
"updated_at",
"metadata",
"status"
],
"title": "Thread"
},
"ThreadCreate": {
"properties": {
"thread_id": {
"type": "string",
"title": "Thread Id",
"description": "The ID of the thread. If not provided, an ID is generated."
},
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Arbitrary metadata for the thread."
}
},
"type": "object",
"title": "ThreadCreate",
"description": "Payload for creating a thread."
},
"ThreadPatch": {
"properties": {
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Arbitrary metadata for the thread."
}
},
"type": "object",
"title": "ThreadPatch",
"description": "Payload for patching a thread."
},
"ThreadSearch": {
"properties": {
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Metadata to search for."
},
"values": {
"type": "object",
"title": "Values",
"description": "State values to search for."
},
"status": {
"type": "string",
"enum": [
"idle",
"busy",
"interrupted",
"error"
],
"title": "Status",
"description": "Status to search for.\n\nThe status indicates the current state of the thread with respect to \"double texting\" use cases."
},
"limit": {
"type": "integer",
"title": "Limit",
"description": "Maximum number to return.",
"default": 10,
"minimum": 1,
"maximum": 1000
},
"offset": {
"type": "integer",
"title": "Offset",
"description": "Offset to start from.",
"default": 0,
"minimum": 0
}
},
"type": "object",
"title": "ThreadSearch",
"description": "Payload for searching for threads."
},
"ThreadState": {
"properties": {
"values": {
"type": "object",
"title": "Values"
},
"checkpoint": {
"type": "object",
"properties": {
"checkpoint_id": {
"type": "string",
"title": "Checkpoint ID",
"description": "The ID of the checkpoint."
}
},
"title": "Checkpoint"
},
"parent_checkpoint": {
"type": "object",
"properties": {
"checkpoint_id": {
"type": "string",
"title": "Checkpoint ID",
"description": "The ID of the checkpoint."
}
},
"title": "Parent Checkpoint"
},
"metadata": {
"type": "object",
"title": "Metadata"
},
"created_at": {
"type": "string",
"title": "Created At"
}
},
"type": "object",
"required": [
"values",
"next",
"checkpoint",
"metadata",
"created_at"
],
"title": "ThreadState"
},
"ThreadStateCreate": {
"properties": {
"values": {
"type": "object",
"title": "Values"
},
"checkpoint": {
"properties": {
"checkpoint_id": {
"type": "string",
"title": "Checkpoint ID",
"description": "The ID of the checkpoint."
}
},
"type": "object",
"title": "Checkpoint"
}
},
"type": "object",
"title": "ThreadStateCreate",
"description": "Payload for adding state to a thread."
},
"ThreadStateSearch": {
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"description": "The maximum number of states to return.",
"default": 10,
"maximum": 1000,
"minimum": 1
},
"offset": {
"type": "string",
"title": "Before",
"description": "Return states before this checkpoint ID."
},
"checkpoint_id": {
"type": "string",
"title": "Checkpoint ID",
"description": "Filter by checkpoint ID."
},
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Metadata to search for."
}
},
"type": "object",
"title": "ThreadStateSearch"
},
"Run": {
"properties": {
"run_id": {
"type": "string",
"title": "Run ID"
},
"thread_id": {
"type": "string",
"title": "Thread ID"
},
"assistant_id": {
"type": "string",
"title": "Assistant ID"
},
"status": {
"type": "string",
"enum": [
"pending",
"error",
"success",
"timeout",
"interrupted"
],
"title": "Status"
},
"metadata": {
"type": "object",
"title": "Metadata"
},
"multitask_strategy": {
"type": "string",
"enum": [
"reject",
"rollback",
"interrupt",
"enqueue"
],
"title": "Multitask Strategy",
"description": "The multitask strategy determines the behavior of the run with respect to \"double texting\" use cases.",
"default": "reject"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"run_id",
"thread_id",
"assistant_id",
"created_at",
"updated_at",
"status",
"metadata",
"kwargs",
"multitask_strategy"
],
"title": "Run"
},
"RunCreate": {
"properties": {
"assistant_id": {
"type": "string",
"title": "Assistant Id"
},
"input": {
"type": "object",
"title": "Input",
"description": "Arbitrary input for the run."
},
"metadata": {
"type": "object",
"title": "Metadata",
"description": "Arbitrary metadata for the run."
},
"config": {
"type": "object",
"title": "Config",
"description": "Arbitrary configuration for the run. The configuration may augment the behavior of the assistant depending on the referenced template."
},
"interrupt_before": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"title": "Interrupt Before",
"description": "An arbitrary list of strings that determine how the assistant handles Human-in-the-Loop use cases for **BEFORE** execution workflows. The API specification does not specify the possible values of this field or the default value if Human-in-the-Loop use cases are not supported by the implementation."
},
"interrupt_after": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"title": "Interrupt After",
"description": "An arbitrary list of strings that determine how the assistant handles Human-in-the-Loop use cases for **AFTER** execution workflows. The API specification does not specify the possible values of this field or the default value if Human-in-the-Loop use cases are not supported by the implementation."
},
"stream_mode": {
"type": "array",
"items": {
"type": "string",
"enum": [
"values",
"messages",
"updates",
"debug",
"custom"
]
},
"title": "Stream Mode",
"default": [
"values"
]
},
"multitask_strategy": {
"type": "string",
"enum": [
"reject",
"rollback",
"interrupt",
"enqueue"
],
"title": "Multitask Strategy",
"description": "The multitask strategy determines the behavior of the run with respect to \"double texting\" use cases.",
"default": "reject"
}
},
"type": "object",
"required": [
"assistant_id"
],
"title": "RunCreate",
"description": "Payload for creating a run."
},
"RunCancel": {
"properties": {
"wait": {
"type": "boolean",
"title": "Wait"
}
},
"type": "object",
"required": [
"wait"
],
"title": "RunCancel",
"description": "Payload for cancelling a run."
},
"RunWaitOutput": {
"type": "object",
"title": "RunWaitOutput"
},
"ErrorResponse": {
"title": "ErrorResponse",
"description": "Response body for an error.",
"type": "object",
"properties": {
"detail": {
"type": "string",
"title": "Detail",
"description": "Detail of the error."
}
},
"required": [
"detail"
]
}
}
}
}