Invoke an agent (start or continue a conversation)
Send a message to an agent and run it. This is how you invoke an agent
programmatically — POST /agents only builds agents; this runs them.
The agent must belong to the authenticated user’s organization, and the
org must have an API key configured for the agent’s model provider
(Control Hub → Providers) or the run will end with streamStatus: "error".
Two response modes, selected by the X-Stream-Response header:
Non-streaming (recommended for API/automation) — set
X-Stream-Response: false. Returns 202 Accepted immediately with
{ threadId, status: "in_progress" } and an X-Thread-ID header, then
runs the agent in the background. Poll
GET /getConversation?threadId={threadId} until streamStatus is
terminal (completed / stopped / error / timeout), then read the
assistant message(s) from messages. This avoids platform request
timeouts on long-running, multi-tool agents.
Streaming — omit the header (or send anything other than false).
Returns 200 with a text/event-stream (AI SDK UI-message stream)
and an X-Thread-ID header. Consume the SSE stream for incremental
output. Most non-browser clients should prefer the non-streaming mode.
Conversation continuity: omit threadId to start a new conversation
(one is generated and returned in the X-Thread-ID header); pass an
existing threadId to continue that thread. The message body uses the
v5 parts format.
Optional conversation title, trimmed and saved immediately. Creation only (omit threadId); rejected on existing threads. Must be a nonblank single line without control characters. Skips automatic title generation. If omitted, Aster generates a short title in the background using your preferred provider's Economy-tier model; failures retain the first-message fallback. Manual renames always take precedence.
IANA timezone used when rendering date/time prompt variables (e.g. "America/New_York").
Response
Streaming mode (header omitted). A Server-Sent Events stream of the
AI SDK UI-message protocol. The X-Thread-ID header carries the
thread ID.
The response is of type string.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Aster Agents","colors":{"primary":"#0A3D2C","light":"#00DB65","dark":"#0A3D2C"},"logo":{"light":"https://mintcdn.com/asteragents/0Z3Pq736HygxwpDP/logo/light.svg?fit=max\u0026auto=format\u0026n=0Z3Pq736HygxwpDP\u0026q=85\u0026s=43ff25abf648e8e3684687fb287df4a7","dark":"https://mintcdn.com/asteragents/0Z3Pq736HygxwpDP/logo/dark.svg?fit=max\u0026auto=format\u0026n=0Z3Pq736HygxwpDP\u0026q=85\u0026s=3c8b99698119572eb40d6bffd7f3107c"},"favicon":"https://mintcdn.com/asteragents/0Z3Pq736HygxwpDP/favicon.png?fit=max\u0026auto=format\u0026n=0Z3Pq736HygxwpDP\u0026q=85\u0026s=719525076d6a63947582e582f81aea9c","api":{"openapi":["openapi.yaml"],"mdx":{"auth":{"method":"bearer"},"server":"https://www.asteragents.com/api"}},"background":{"decoration":"grid"},"navbar":{"links":[{"href":"mailto:patrick@asteragents.com","label":"Support"}],"primary":{"type":"button","label":"Control Hub","href":"https://www.asteragents.com/control-hub"}},"footer":{"socials":{"x":"https://x.com/aster__ave"}},"fonts":{"heading":{"family":"Cormorant Garamond","weight":500},"body":{"family":"Geist"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Aster Agents Dashboard","icon":"gauge","href":"https://www.asteragents.com/dashboard"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"asteragents","hasAudioNarration":false,"actualSubdomain":"asteragents","customDomains":["docs.asteragents.com"],"gitSource":{"type":"github","owner":"asterlabs-ai","repo":"asteragents","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ade117b256b020fc348af9c","collectionId":"f95adc4f-4439-4e10-9685-16d24629a759","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade117b256b020fc348af9c"},"entitlements":{},"buildId":"6ade117b256b020fc348af9c","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Documentation","count":114},{"language":"default","tag":"Integrations","count":57},{"language":"default","tag":"API Reference","count":48},{"language":"default","tag":"Built-in Tools","count":28},{"language":"default","tag":"Operations \u0026 Commerce","count":13},{"language":"default","tag":"Organization Settings","count":11},{"language":"default","tag":"Web \u0026 Research","count":9},{"language":"default","tag":"Build Agents","count":8},{"language":"default","tag":"Investing \u0026 Research","count":8},{"language":"default","tag":"CRM \u0026 Sales","count":7}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation","slug":"/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation","pageMetadata":{"title":"Invoke an agent (start or continue a conversation)","description":"Send a message to an agent and run it. This is how you invoke an agent\nprogrammatically — `POST /agents` only *builds* agents; this *runs* them.\n\nThe agent must belong to the authenticated user's organization, and the\norg must have an API key configured for the agent's model provider\n(Control Hub → Providers) or the run will end with `streamStatus: \"error\"`.\n\n**Two response modes**, selected by the `X-Stream-Response` header:\n\n- **Non-streaming (recommended for API/automation)** — set\n `X-Stream-Response: false`. Returns **`202 Accepted`** immediately with\n `{ threadId, status: \"in_progress\" }` and an `X-Thread-ID` header, then\n runs the agent in the background. Poll\n `GET /getConversation?threadId={threadId}` until `streamStatus` is\n terminal (`completed` / `stopped` / `error` / `timeout`), then read the\n assistant message(s) from `messages`. This avoids platform request\n timeouts on long-running, multi-tool agents.\n- **Streaming** — omit the header (or send anything other than `false`).\n Returns **`200`** with a `text/event-stream` (AI SDK UI-message stream)\n and an `X-Thread-ID` header. Consume the SSE stream for incremental\n output. Most non-browser clients should prefer the non-streaming mode.\n\n**Conversation continuity:** omit `threadId` to start a new conversation\n(one is generated and returned in the `X-Thread-ID` header); pass an\nexisting `threadId` to continue that thread. The message body uses the\nv5 `parts` format.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml post /chat","href":"/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n em: \"em\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Send a message to an agent and run it. This is how you invoke an agent\\nprogrammatically — \", _jsx(_components.code, {\n children: \"POST /agents\"\n }), \" only \", _jsx(_components.em, {\n children: \"builds\"\n }), \" agents; this \", _jsx(_components.em, {\n children: \"runs\"\n }), \" them.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The agent must belong to the authenticated user’s organization, and the\\norg must have an API key configured for the agent’s model provider\\n(Control Hub → Providers) or the run will end with \", _jsx(_components.code, {\n children: \"streamStatus: \\\"error\\\"\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Two response modes\"\n }), \", selected by the \", _jsx(_components.code, {\n children: \"X-Stream-Response\"\n }), \" header:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Non-streaming (recommended for API/automation)\"\n }), \" — set\\n\", _jsx(_components.code, {\n children: \"X-Stream-Response: false\"\n }), \". Returns \", _jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"202 Accepted\"\n })\n }), \" immediately with\\n\", _jsx(_components.code, {\n children: \"{ threadId, status: \\\"in_progress\\\" }\"\n }), \" and an \", _jsx(_components.code, {\n children: \"X-Thread-ID\"\n }), \" header, then\\nruns the agent in the background. Poll\\n\", _jsx(_components.code, {\n children: \"GET /getConversation?threadId={threadId}\"\n }), \" until \", _jsx(_components.code, {\n children: \"streamStatus\"\n }), \" is\\nterminal (\", _jsx(_components.code, {\n children: \"completed\"\n }), \" / \", _jsx(_components.code, {\n children: \"stopped\"\n }), \" / \", _jsx(_components.code, {\n children: \"error\"\n }), \" / \", _jsx(_components.code, {\n children: \"timeout\"\n }), \"), then read the\\nassistant message(s) from \", _jsx(_components.code, {\n children: \"messages\"\n }), \". This avoids platform request\\ntimeouts on long-running, multi-tool agents.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"Streaming\"\n }), \" — omit the header (or send anything other than \", _jsx(_components.code, {\n children: \"false\"\n }), \").\\nReturns \", _jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"200\"\n })\n }), \" with a \", _jsx(_components.code, {\n children: \"text/event-stream\"\n }), \" (AI SDK UI-message stream)\\nand an \", _jsx(_components.code, {\n children: \"X-Thread-ID\"\n }), \" header. Consume the SSE stream for incremental\\noutput. Most non-browser clients should prefer the non-streaming mode.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Conversation continuity:\"\n }), \" omit \", _jsx(_components.code, {\n children: \"threadId\"\n }), \" to start a new conversation\\n(one is generated and returned in the \", _jsx(_components.code, {\n children: \"X-Thread-ID\"\n }), \" header); pass an\\nexisting \", _jsx(_components.code, {\n children: \"threadId\"\n }), \" to continue that thread. The message body uses the\\nv5 \", _jsx(_components.code, {\n children: \"parts\"\n }), \" format.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Invoke an agent (start or continue a conversation)","description":"Send a message to an agent and run it. This is how you invoke an agent\nprogrammatically — `POST /agents` only *builds* agents; this *runs* them.\n\nThe agent must belong to the authenticated user's organization, and the\norg must have an API key configured for the agent's model provider\n(Control Hub → Providers) or the run will end with `streamStatus: \"error\"`.\n\n**Two response modes**, selected by the `X-Stream-Response` header:\n\n- **Non-streaming (recommended for API/automation)** — set\n `X-Stream-Response: false`. Returns **`202 Accepted`** immediately with\n `{ threadId, status: \"in_progress\" }` and an `X-Thread-ID` header, then\n runs the agent in the background. Poll\n `GET /getConversation?threadId={threadId}` until `streamStatus` is\n terminal (`completed` / `stopped` / `error` / `timeout`), then read the\n assistant message(s) from `messages`. This avoids platform request\n timeouts on long-running, multi-tool agents.\n- **Streaming** — omit the header (or send anything other than `false`).\n Returns **`200`** with a `text/event-stream` (AI SDK UI-message stream)\n and an `X-Thread-ID` header. Consume the SSE stream for incremental\n output. Most non-browser clients should prefer the non-streaming mode.\n\n**Conversation continuity:** omit `threadId` to start a new conversation\n(one is generated and returned in the `X-Thread-ID` header); pass an\nexisting `threadId` to continue that thread. The message body uses the\nv5 `parts` format.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml post /chat","href":"/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Conversations"],"summary":"Invoke an agent (start or continue a conversation)","description":"Send a message to an agent and run it. This is how you invoke an agent\nprogrammatically — `POST /agents` only *builds* agents; this *runs* them.\n\nThe agent must belong to the authenticated user's organization, and the\norg must have an API key configured for the agent's model provider\n(Control Hub → Providers) or the run will end with `streamStatus: \"error\"`.\n\n**Two response modes**, selected by the `X-Stream-Response` header:\n\n- **Non-streaming (recommended for API/automation)** — set\n `X-Stream-Response: false`. Returns **`202 Accepted`** immediately with\n `{ threadId, status: \"in_progress\" }` and an `X-Thread-ID` header, then\n runs the agent in the background. Poll\n `GET /getConversation?threadId={threadId}` until `streamStatus` is\n terminal (`completed` / `stopped` / `error` / `timeout`), then read the\n assistant message(s) from `messages`. This avoids platform request\n timeouts on long-running, multi-tool agents.\n- **Streaming** — omit the header (or send anything other than `false`).\n Returns **`200`** with a `text/event-stream` (AI SDK UI-message stream)\n and an `X-Thread-ID` header. Consume the SSE stream for incremental\n output. Most non-browser clients should prefer the non-streaming mode.\n\n**Conversation continuity:** omit `threadId` to start a new conversation\n(one is generated and returned in the `X-Thread-ID` header); pass an\nexisting `threadId` to continue that thread. The message body uses the\nv5 `parts` format.\n","operationId":"invokeAgent","parameters":["c53fab8f-9a0f-45ea-a23b-82bd527b0b0f"],"requestBody":"a58bf72d-0008-4b59-9612-e850161d9627","responses":{"200":"6ebeeed7-5f71-41f8-981c-146fca8bd622","202":"3b8eeb5c-21bc-420c-a317-3ca57577251d","400":"e6894bcc-f25e-4382-a0d6-c4dbcade77b0","401":"a41d0923-b4cf-4d44-988d-3a125b99f681","404":"424d1d6e-95eb-4903-9e75-a91855e989cb","500":"04fdec52-7a05-4351-9b67-6b960bcdc94c"},"method":"post","type":"path","servers":["e78cbf08-2f79-481d-bf21-e97431565515","fc74a127-c6ed-43a4-8506-ad5cadfcf8a1"],"security":["d3a43987-6ec6-441f-97f5-463e74ce1174"],"path":"/chat","baseUrlOptions":["https://www.asteragents.com/api","http://localhost:3000/api"],"title":"Invoke an agent (start or continue a conversation)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c53fab8f-9a0f-45ea-a23b-82bd527b0b0f":{"name":"X-Stream-Response","in":"header","required":false,"description":"Set to `false` for the non-streaming 202 + poll pattern. Any other value (or omitted) streams an SSE response.","schema":{"type":"string","enum":["false"],"example":"false","isRequired":false,"description":"Set to `false` for the non-streaming 202 + poll pattern. Any other value (or omitted) streams an SSE response.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["agentId","message"],"properties":{"agentId":{"type":"integer","description":"ID of the agent to invoke (must belong to your organization).","example":123,"isRequired":true,"uniqueKey":"agentId","typeLabel":"integer"},"message":{"type":"object","description":"The user message in v5 format.","required":["role","parts"],"properties":{"role":{"type":"string","example":"user","isRequired":true,"uniqueKey":"message.role","typeLabel":"string"},"parts":{"type":"array","description":"Message content parts. Use a single text part for a plain message.","items":{"type":"object","properties":{"type":{"type":"string","example":"text","uniqueKey":"message.parts.items.[INDEX].type","typeLabel":"string"},"text":{"type":"string","example":"Summarize the latest quarterly report.","uniqueKey":"message.parts.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"message.parts.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"message.parts","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"message","typeLabel":"object"},"threadId":{"oneOf":[{"type":"string","format":"uuid","description":"Existing conversation thread to continue. Omit to start a new conversation.","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"threadId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Existing conversation thread to continue. Omit to start a new conversation.","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"threadId.oneOf.1","typeLabel":"null"}],"uniqueKey":"threadId","typeLabel":"string\u003cuuid> | null"},"title":{"type":"string","minLength":1,"maxLength":120,"description":"Optional conversation title, trimmed and saved immediately. Creation only (omit threadId); rejected on existing threads. Must be a nonblank single line without control characters. Skips automatic title generation. If omitted, Aster generates a short title in the background using your preferred provider's Economy-tier model; failures retain the first-message fallback. Manual renames always take precedence.","example":"Daily pipeline review · 2026-09-26","uniqueKey":"title","typeLabel":"string"},"timezone":{"oneOf":[{"type":"string","description":"IANA timezone used when rendering date/time prompt variables (e.g. \"America/New_York\").","uniqueKey":"timezone.oneOf.0","typeLabel":"string"},{"type":"null","description":"IANA timezone used when rendering date/time prompt variables (e.g. \"America/New_York\").","uniqueKey":"timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"timezone","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"newConversation":{"title":"newConversation","value":{"agentId":123,"message":{"role":"user","parts":[{"type":"text","text":"Summarize the latest quarterly report."}]}}},"continueConversation":{"title":"continueConversation","value":{"agentId":123,"threadId":"550e8400-e29b-41d4-a716-446655440000","message":{"role":"user","parts":[{"type":"text","text":"Now compare it to the prior quarter."}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"6ebeeed7-5f71-41f8-981c-146fca8bd622":{"description":"Streaming mode (header omitted). A Server-Sent Events stream of the\nAI SDK UI-message protocol. The `X-Thread-ID` header carries the\nthread ID.\n","headers":{"X-Thread-ID":{"description":"The conversation thread ID.","schema":{"type":"string","format":"uuid"}}},"content":{"text/event-stream":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"generated"},"3b8eeb5c-21bc-420c-a317-3ca57577251d":{"description":"Accepted (non-streaming mode, `X-Stream-Response: false`). The agent\nruns in the background. Poll `GET /getConversation?threadId={threadId}`\nuntil `streamStatus` is terminal.\n","headers":{"X-Thread-ID":{"description":"The conversation thread ID (same as `threadId` in the body).","schema":{"type":"string","format":"uuid"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"threadId","typeLabel":"string\u003cuuid>"},"status":{"type":"string","example":"in_progress","uniqueKey":"status","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"threadId":"550e8400-e29b-41d4-a716-446655440000","status":"in_progress"}}},"exampleType":"generated"}},"exampleType":"generated"},"e6894bcc-f25e-4382-a0d6-c4dbcade77b0":{"description":"Invalid request body, or message missing on a non-continuation call.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Bad Request","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"invalidBody":{"title":"invalidBody","value":{"error":"Invalid request body","details":[{"path":"agentId","message":"Required"}]}},"missingMessage":{"title":"missingMessage","value":{"error":"Message is required for non-continuation calls"}}},"exampleType":"examples"}},"exampleType":"examples"},"a41d0923-b4cf-4d44-988d-3a125b99f681":{"description":"Unauthorized (missing or expired API key).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Bad Request","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Unauthorized"},"examples":{"Example":{"title":"Example","value":{"error":"Unauthorized"}}},"exampleType":"examples"}},"exampleType":"examples"},"424d1d6e-95eb-4903-9e75-a91855e989cb":{"description":"Agent not found in your organization.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Bad Request","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Agent not found or unauthorized"},"examples":{"Example":{"title":"Example","value":{"error":"Agent not found or unauthorized"}}},"exampleType":"examples"}},"exampleType":"examples"},"04fdec52-7a05-4351-9b67-6b960bcdc94c":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Bad Request","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Internal Server Error"},"examples":{"Example":{"title":"Example","value":{"error":"Internal Server Error"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"d3a43987-6ec6-441f-97f5-463e74ce1174":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token from Clerk authentication.\n\nMust be from a user with `org:admin` role.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"e78cbf08-2f79-481d-bf21-e97431565515":{"url":"https://www.asteragents.com/api","description":"Production"},"fc74a127-c6ed-43a4-8506-ad5cadfcf8a1":{"url":"http://localhost:3000/api","description":"Local development"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token from Clerk authentication.\n\nMust be from a user with `org:admin` role.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"JWT token from Clerk authentication.\n\nMust be from a user with `org:admin` role.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"asteragents","siteName":"Aster Agents","title":"Invoke an agent (start or continue a conversation) - Aster Agents","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T11:54:48.515Z","originalFileLocation":"api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Send a message to an agent and run it. This is how you invoke an agent programmatically — POST /agents only builds agents; this runs them. The agent must belong to the authenticated user\u0026#x27;s organization, and the org must have an API key configured for the agent\u0026#x27;s model provider (Control Hub → Providers) or the run will end with streamStatus: \u0026quot;error\u0026quot;. Two response modes, selected by the X-Stream-Response header: - Non-streaming (recommended for API/automation) — set X-Stream-Response: false. Returns 202 Accepted immediately with { threadId, status: \u0026quot;in_progress\u0026quot; } and an X-Thread-ID header, then runs the agent in the background. Poll GET /getConversation?threadId={threadId} until streamStatus is terminal (completed / stopped / error / timeout), then read the assistant message(s) from messages. This avoids platform request timeouts on long-running, multi-tool agents. - Streaming — omit the header (or send anything other than false). Returns 200 with a text/event-stream (AI SDK UI-message stream) and an X-Thread-ID header. Consume the SSE stream for incremental output. Most non-browser clients should prefer the non-streaming mode. Conversation continuity: omit threadId to start a new conversation (one is generated and returned in the X-Thread-ID header); pass an existing threadId to continue that thread. The message body uses the v5 parts format.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Aster Agents\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Invoke an agent (start or continue a conversation) - Aster Agents\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send a message to an agent and run it. This is how you invoke an agent programmatically — POST /agents only builds agents; this runs them. The agent must belong to the authenticated user\u0026#x27;s organization, and the org must have an API key configured for the agent\u0026#x27;s model provider (Control Hub → Providers) or the run will end with streamStatus: \u0026quot;error\u0026quot;. Two response modes, selected by the X-Stream-Response header: - Non-streaming (recommended for API/automation) — set X-Stream-Response: false. Returns 202 Accepted immediately with { threadId, status: \u0026quot;in_progress\u0026quot; } and an X-Thread-ID header, then runs the agent in the background. Poll GET /getConversation?threadId={threadId} until streamStatus is terminal (completed / stopped / error / timeout), then read the assistant message(s) from messages. This avoids platform request timeouts on long-running, multi-tool agents. - Streaming — omit the header (or send anything other than false). Returns 200 with a text/event-stream (AI SDK UI-message stream) and an X-Thread-ID header. Consume the SSE stream for incremental output. Most non-browser clients should prefer the non-streaming mode. Conversation continuity: omit threadId to start a new conversation (one is generated and returned in the X-Thread-ID header); pass an existing threadId to continue that thread. The message body uses the v5 parts format.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Aster Agents\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://asteragents.mintlify.app/_mintlify/api/og/v2?division=Conversations+API\u0026amp;title=Invoke+an+agent+%28start+or+continue+a+conversation%29\u0026amp;description=Send+a+message+to+an+agent+and+run+it.+This+is+how+you+invoke+an+agent%0Aprogrammatically+%E2%80%94+%60POST+%2Fagents%60+only+*builds*+agents%3B+this+*runs*+them.%0A%0AThe+agent+must\u0026amp;theme=4c6772eb85b444c37d4e9cf2\u0026amp;signature=c983c597e9a7fbb0f0dcef4d079f028381ba062dbc37c7f9ba8954e9833338b1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Invoke an agent (start or continue a conversation) - Aster Agents\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send a message to an agent and run it. This is how you invoke an agent programmatically — POST /agents only builds agents; this runs them. The agent must belong to the authenticated user\u0026#x27;s organization, and the org must have an API key configured for the agent\u0026#x27;s model provider (Control Hub → Providers) or the run will end with streamStatus: \u0026quot;error\u0026quot;. Two response modes, selected by the X-Stream-Response header: - Non-streaming (recommended for API/automation) — set X-Stream-Response: false. Returns 202 Accepted immediately with { threadId, status: \u0026quot;in_progress\u0026quot; } and an X-Thread-ID header, then runs the agent in the background. Poll GET /getConversation?threadId={threadId} until streamStatus is terminal (completed / stopped / error / timeout), then read the assistant message(s) from messages. This avoids platform request timeouts on long-running, multi-tool agents. - Streaming — omit the header (or send anything other than false). Returns 200 with a text/event-stream (AI SDK UI-message stream) and an X-Thread-ID header. Consume the SSE stream for incremental output. Most non-browser clients should prefer the non-streaming mode. Conversation continuity: omit threadId to start a new conversation (one is generated and returned in the X-Thread-ID header); pass an existing threadId to continue that thread. The message body uses the v5 parts format.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://asteragents.mintlify.app/_mintlify/api/og/v2?division=Conversations+API\u0026amp;title=Invoke+an+agent+%28start+or+continue+a+conversation%29\u0026amp;description=Send+a+message+to+an+agent+and+run+it.+This+is+how+you+invoke+an+agent%0Aprogrammatically+%E2%80%94+%60POST+%2Fagents%60+only+*builds*+agents%3B+this+*runs*+them.%0A%0AThe+agent+must\u0026amp;theme=4c6772eb85b444c37d4e9cf2\u0026amp;signature=c983c597e9a7fbb0f0dcef4d079f028381ba062dbc37c7f9ba8954e9833338b1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/asteragents/W3pIsOnA8TOqHKUx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Aster Agents\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A3D2C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.asteragents.com/#organization\",\"name\":\"Aster Agents\",\"url\":\"https://docs.asteragents.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/asteragents/0Z3Pq736HygxwpDP/logo/light.svg?fit=max\u0026auto=format\u0026n=0Z3Pq736HygxwpDP\u0026q=85\u0026s=43ff25abf648e8e3684687fb287df4a7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.asteragents.com#website\",\"name\":\"Aster Agents\",\"url\":\"https://docs.asteragents.com\",\"publisher\":{\"@id\":\"https://docs.asteragents.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation#webpage\",\"url\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation\",\"name\":\"Invoke an agent (start or continue a conversation)\",\"description\":\"Send a message to an agent and run it. This is how you invoke an agent programmatically — POST /agents only builds agents; this runs them. The agent must belong to the authenticated user's organization, and the org must have an API key configured for the agent's model provider (Control Hub → Providers) or the run will end with streamStatus: \\\"error\\\". Two response modes, selected by the X-Stream-Response header: - Non-streaming (recommended for API/automation) — set X-Stream-Response: false. Returns 202 Accepted immediately with { threadId, status: \\\"in_progress\\\" } and an X-Thread-ID header, then runs the agent in the background. Poll GET /getConversation?threadId={threadId} until streamStatus is terminal (completed / stopped / error / timeout), then read the assistant message(s) from messages. This avoids platform request timeouts on long-running, multi-tool agents. - Streaming — omit the header (or send anything other than false). Returns 200 with a text/event-stream (AI SDK UI-message stream) and an X-Thread-ID header. Consume the SSE stream for incremental output. Most non-browser clients should prefer the non-streaming mode. Conversation continuity: omit threadId to start a new conversation (one is generated and returned in the X-Thread-ID header); pass an existing threadId to continue that thread. The message body uses the v5 parts format.\",\"dateModified\":\"2026-10-15T11:54:48.515Z\",\"isPartOf\":{\"@id\":\"https://docs.asteragents.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Aster Agents\",\"item\":\"https://docs.asteragents.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Invoke an agent (start or continue a conversation)\",\"item\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation#apireference\",\"headline\":\"Invoke an agent (start or continue a conversation)\",\"name\":\"Invoke an agent (start or continue a conversation)\",\"description\":\"Send a message to an agent and run it. This is how you invoke an agent programmatically — POST /agents only builds agents; this runs them. The agent must belong to the authenticated user's organization, and the org must have an API key configured for the agent's model provider (Control Hub → Providers) or the run will end with streamStatus: \\\"error\\\". Two response modes, selected by the X-Stream-Response header: - Non-streaming (recommended for API/automation) — set X-Stream-Response: false. Returns 202 Accepted immediately with { threadId, status: \\\"in_progress\\\" } and an X-Thread-ID header, then runs the agent in the background. Poll GET /getConversation?threadId={threadId} until streamStatus is terminal (completed / stopped / error / timeout), then read the assistant message(s) from messages. This avoids platform request timeouts on long-running, multi-tool agents. - Streaming — omit the header (or send anything other than false). Returns 200 with a text/event-stream (AI SDK UI-message stream) and an X-Thread-ID header. Consume the SSE stream for incremental output. Most non-browser clients should prefer the non-streaming mode. Conversation continuity: omit threadId to start a new conversation (one is generated and returned in the X-Thread-ID header); pass an existing threadId to continue that thread. The message body uses the v5 parts format.\",\"url\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.asteragents.com/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation#webpage\"},\"dateModified\":\"2026-10-15T11:54:48.515Z\",\"publisher\":{\"@id\":\"https://docs.asteragents.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.asteragents.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Aster Agents\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Aster Agents","nav":{"global":{"anchors":[{"anchor":"Aster Agents Dashboard","icon":"gauge","href":"https://www.asteragents.com/dashboard"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Aster Agents API","href":"/api-reference/introduction"},{"title":"Build with Claude Code","href":"/api-reference/build-on-aster"}]},{"group":"Admin API","pages":[{"title":"List organization users","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/users","href":"/api-reference/users/list-organization-users"},{"title":"Remove users from organization","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /admin/users","href":"/api-reference/users/remove-users-from-organization"},{"title":"List organization invitations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /admin/invitations","href":"/api-reference/invitations/list-organization-invitations"},{"title":"Create bulk invitations","deprecated":null,"version":null,"openapi":"/openapi.yaml post /admin/invitations","href":"/api-reference/invitations/create-bulk-invitations"},{"title":"Revoke invitations","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /admin/invitations","href":"/api-reference/invitations/revoke-invitations"},{"title":"Update user metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml post /admin/updateUserMetadata","href":"/api-reference/users/update-user-metadata"}]},{"group":"Files API","pages":[{"title":"Get presigned upload URL","deprecated":null,"version":null,"openapi":"/openapi.yaml post /upload/presigned","href":"/api-reference/files/get-presigned-upload-url"}]},{"group":"Agents API","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/openapi.yaml get /agents","href":"/api-reference/agents/list-agents"},{"title":"Create or update an agent","deprecated":null,"version":null,"openapi":"/openapi.yaml post /agents","href":"/api-reference/agents/create-or-update-an-agent"},{"title":"Delete an agent","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /agents","href":"/api-reference/agents/delete-an-agent"},{"title":"Sync agent tool schemas","deprecated":null,"version":null,"openapi":"/openapi.yaml post /agents/sync-tools","href":"/api-reference/agents/sync-agent-tool-schemas"},{"title":"List an agent's config version history","deprecated":null,"version":null,"openapi":"/openapi.yaml get /agents/versions","href":"/api-reference/agents/list-an-agents-config-version-history"},{"title":"Roll back to a version, or save a labeled checkpoint","deprecated":null,"version":null,"openapi":"/openapi.yaml post /agents/versions","href":"/api-reference/agents/roll-back-to-a-version-or-save-a-labeled-checkpoint"}]},{"group":"Tools API","pages":[{"title":"List available tools","deprecated":null,"version":null,"openapi":"/openapi.yaml get /tools","href":"/api-reference/tools/list-available-tools"}]},{"group":"Agent Tags API","pages":[{"title":"List agent tags","deprecated":null,"version":null,"openapi":"/openapi.yaml get /agent-tags","href":"/api-reference/agent-tags/list-agent-tags"},{"title":"Create an agent tag","deprecated":null,"version":null,"openapi":"/openapi.yaml post /agent-tags","href":"/api-reference/agent-tags/create-an-agent-tag"}]},{"group":"Knowledge Bases API","pages":[{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"/openapi.yaml get /kb/manage","href":"/api-reference/knowledge-base-management/list-knowledge-bases"},{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/openapi.yaml post /kb/manage","href":"/api-reference/knowledge-base-management/create-a-knowledge-base"},{"title":"Update a knowledge base","deprecated":null,"version":null,"openapi":"/openapi.yaml put /kb/manage","href":"/api-reference/knowledge-base-management/update-a-knowledge-base"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /kb/manage","href":"/api-reference/knowledge-base-management/delete-a-knowledge-base"},{"title":"Associate file with knowledge base","deprecated":null,"version":null,"openapi":"/openapi.yaml post /kb/files","href":"/api-reference/knowledge-bases/associate-file-with-knowledge-base"},{"title":"List files in a knowledge base","deprecated":null,"version":null,"openapi":"/openapi.yaml get /kb/files","href":"/api-reference/knowledge-bases/list-files-in-a-knowledge-base"},{"title":"Delete a file from a knowledge base","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /kb/files","href":"/api-reference/knowledge-bases/delete-a-file-from-a-knowledge-base"}]},{"group":"Skills API","pages":[{"title":"List skills or get a single skill","deprecated":null,"version":null,"openapi":"/openapi.yaml get /skills/manage","href":"/api-reference/skills/list-skills-or-get-a-single-skill"},{"title":"Create a skill","deprecated":null,"version":null,"openapi":"/openapi.yaml post /skills/manage","href":"/api-reference/skills/create-a-skill"},{"title":"Update a skill","deprecated":null,"version":null,"openapi":"/openapi.yaml put /skills/manage","href":"/api-reference/skills/update-a-skill"},{"title":"Delete a skill","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /skills/manage","href":"/api-reference/skills/delete-a-skill"},{"title":"List files for a skill","deprecated":null,"version":null,"openapi":"/openapi.yaml get /skills/files","href":"/api-reference/skill-files/list-files-for-a-skill"},{"title":"Upload a bundled file","deprecated":null,"version":null,"openapi":"/openapi.yaml post /skills/files","href":"/api-reference/skill-files/upload-a-bundled-file"},{"title":"Delete a bundled file","description":"Delete a bundled file from a skill. Removes the file from both cloud storage and the database.\n\n**Note:** SKILL.md cannot be deleted via this endpoint — use `PUT /skills/manage` to replace it.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /skills/files","href":"/api-reference/skill-files/delete-a-bundled-file"}]},{"group":"Conversations API","pages":[{"title":"Invoke an agent (start or continue a conversation)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /chat","href":"/api-reference/conversations/invoke-an-agent-start-or-continue-a-conversation"},{"title":"Get a conversation with messages","description":"Retrieve a conversation and all its messages by thread ID.\n\nThe conversation must belong to the authenticated user's organization.\n\n**Stream status values:**\n- `in_progress`: Response is currently being generated\n- `completed`: Response generation finished successfully\n- `stopped`: Response generation was manually stopped\n- `error`: Response generation encountered an error\n- `timeout`: Response generation timed out\n- `null`: No active stream\n","deprecated":null,"version":null,"openapi":"/openapi.yaml get /getConversation","href":"/api-reference/conversations/get-a-conversation-with-messages"}]},{"group":"Scheduled Tasks API","pages":[{"title":"List scheduled tasks (or get one)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /scheduled-tasks/manage","href":"/api-reference/scheduled-tasks/list-scheduled-tasks-or-get-one"},{"title":"Create a scheduled task","deprecated":null,"version":null,"openapi":"/openapi.yaml post /scheduled-tasks/manage","href":"/api-reference/scheduled-tasks/create-a-scheduled-task"},{"title":"Update a scheduled task","deprecated":null,"version":null,"openapi":"/openapi.yaml put /scheduled-tasks/manage","href":"/api-reference/scheduled-tasks/update-a-scheduled-task"},{"title":"Delete a scheduled task","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /scheduled-tasks/manage","href":"/api-reference/scheduled-tasks/delete-a-scheduled-task"},{"title":"Enable or disable a scheduled task","deprecated":null,"version":null,"openapi":"/openapi.yaml post /scheduled-tasks/toggle","href":"/api-reference/scheduled-tasks/enable-or-disable-a-scheduled-task"},{"title":"List task execution history (or stats)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /scheduled-tasks/executions","href":"/api-reference/scheduled-tasks/list-task-execution-history-or-stats"}]},{"group":"Organization Settings API","pages":[{"title":"Get organization settings","deprecated":null,"version":null,"openapi":"/openapi.yaml get /orgSettings","href":"/api-reference/organization-settings/get-organization-settings"},{"title":"Update organization settings","deprecated":null,"version":null,"openapi":"/openapi.yaml post /orgSettings","href":"/api-reference/organization-settings/update-organization-settings"}]},{"group":"Other Endpoints","pages":[{"title":"Chat with an AI Agent","api":"POST /chat","playground":{"mode":"show","request":{"paramFields":{"expanded":"topLevel"},"example":{"languages":["curl","python","javascript","php"]}}},"href":"/api-reference/endpoint/chat"},{"title":"Get Dashboard Stats","api":"GET /dashboard/getStats","href":"/api-reference/endpoint/dashboard-stats"},{"title":"Get Dashboard Interactions","api":"GET /dashboard/getInteractions","href":"/api-reference/endpoint/dashboard-interactions"}]},{"group":"Legacy Endpoints (Deprecated)","pages":[{"title":"Bulk User Invitation","api":"POST /admin/bulkInvite","playground":{"mode":"show","request":{"paramFields":{"expanded":"topLevel"},"example":{"languages":["curl","python","javascript"]}}},"href":"/api-reference/endpoint/bulk-invite"},{"title":"Bulk User Removal","api":"POST /admin/bulkRemove","deprecated":true,"playground":{"mode":"show","request":{"paramFields":{"expanded":"topLevel"},"example":{"languages":["curl","python","javascript"]}}},"href":"/api-reference/endpoint/bulk-remove"},{"title":"Get Organization Users","api":"GET /admin/getUsersInOrg","deprecated":true,"href":"/api-reference/endpoint/get-users-in-org"}]}]}]},"title":"Invoke an agent (start or continue a conversation) - Aster Agents","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}