{
"error": "Agent not found",
"code": "AGENT_NOT_FOUND"
}
Runs
Cancel the agent's currently-active run (idempotent, cooperative)
The per-agent mutex guarantees at most one in-flight run per
agent, so cancel takes only the agentId. Wraps the same
machinery the UI’s stop route uses (markCancelling + Redis
cancelStream publish).
Idempotent: returns 200 whether the agent has an active
run, is already cancelling, or has no in-flight run at all.
The response body always carries the latest run object: the
just-cancelled one if there was one, otherwise the agent’s
most recent terminal run.
POST
/
agents
/
{id}
/
cancel
Cancel the agent's currently-active run (idempotent, cooperative)
Transport-level replay protection: any v2 POST may send it
(1-255 printable ASCII characters; UUIDs recommended). The first
response for a key is recorded and replayed verbatim for retries
with the same key + method/path/body for 24 hours; replayed
responses carry the Idempotency-Replay: true response header.
Reusing a key with a different request, or retrying while the
original is still in flight, returns 409 IDEMPOTENCY_ERROR.
5xx responses are never recorded (the retry re-executes).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Origami API","colors":{"primary":"#fe7bcd","light":"#f865b0","dark":"#db2777"},"logo":{"light":"https://mintcdn.com/origamiagents/XHcb8BJCoB-coV4A/logo/light.svg?fit=max\u0026auto=format\u0026n=XHcb8BJCoB-coV4A\u0026q=85\u0026s=f373c14798a59bfb8cedc4284f55a0ca","dark":"https://mintcdn.com/origamiagents/XHcb8BJCoB-coV4A/logo/dark.svg?fit=max\u0026auto=format\u0026n=XHcb8BJCoB-coV4A\u0026q=85\u0026s=093cb5c8097b2da659e228d2550eea17"},"favicon":"https://mintcdn.com/origamiagents/mxZjiz8CSMmrStmV/favicon.svg?fit=max\u0026auto=format\u0026n=mxZjiz8CSMmrStmV\u0026q=85\u0026s=7cc57639b284f223ef20a2e7c68310c9","appearance":{"default":"light","strict":false},"navbar":{"links":[{"href":"mailto:hello@origamiagents.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://origami.chat"}},"footer":{},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"origamiagents","hasAudioNarration":false,"actualSubdomain":"origamiagents","customDomains":["docs.origami.chat"],"gitSource":{"type":"github","owner":"origami-agents","repo":"mintlify-docs","deployBranch":"main","isPrivate":false,"contentDirectory":"","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a95e4f4a93e41658f2495e7","collectionId":"f921f926-53b2-4f04-9679-77c54a1d2ae7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a95e4f4a93e41658f2495e7"},"entitlements":{},"buildId":"6a95e4f4a93e41658f2495e7","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"v3 API","count":129},{"language":"default","tag":"v2 API","count":79},{"language":"default","tag":"Account","count":59},{"language":"default","tag":"Send","count":39},{"language":"default","tag":"Leads","count":23},{"language":"default","tag":"Campaigns","count":22},{"language":"default","tag":"Webhooks","count":16},{"language":"default","tag":"People","count":14},{"language":"default","tag":"Guide","count":11},{"language":"default","tag":"API Reference","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"agents/reference/cancel-run","slug":"/agents/reference/cancel-run","pageMetadata":{"title":"Cancel the agent's currently-active run (idempotent, cooperative)","description":"The per-agent mutex guarantees at most one in-flight run per\nagent, so cancel takes only the agentId. Wraps the same\nmachinery the UI's stop route uses (`markCancelling` + Redis\n`cancelStream` publish).\n\nIdempotent: returns `200` whether the agent has an active\nrun, is already cancelling, or has no in-flight run at all.\nThe response body always carries the latest run object: the\njust-cancelled one if there was one, otherwise the agent's\nmost recent terminal run.\n","deprecated":null,"version":null,"sidebarTitle":"Cancel run","openapi":"/openapi-v2.yaml post /agents/{id}/cancel","href":"/agents/reference/cancel-run","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 p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"The per-agent mutex guarantees at most one in-flight run per\\nagent, so cancel takes only the agentId. Wraps the same\\nmachinery the UI’s stop route uses (\", _jsx(_components.code, {\n children: \"markCancelling\"\n }), \" + Redis\\n\", _jsx(_components.code, {\n children: \"cancelStream\"\n }), \" publish).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Idempotent: returns \", _jsx(_components.code, {\n children: \"200\"\n }), \" whether the agent has an active\\nrun, is already cancelling, or has no in-flight run at all.\\nThe response body always carries the latest run object: the\\njust-cancelled one if there was one, otherwise the agent’s\\nmost recent terminal run.\"]\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":"Cancel the agent's currently-active run (idempotent, cooperative)","description":"The per-agent mutex guarantees at most one in-flight run per\nagent, so cancel takes only the agentId. Wraps the same\nmachinery the UI's stop route uses (`markCancelling` + Redis\n`cancelStream` publish).\n\nIdempotent: returns `200` whether the agent has an active\nrun, is already cancelling, or has no in-flight run at all.\nThe response body always carries the latest run object: the\njust-cancelled one if there was one, otherwise the agent's\nmost recent terminal run.\n","deprecated":null,"version":null,"sidebarTitle":"Cancel run","openapi":"/openapi-v2.yaml post /agents/{id}/cancel","href":"/agents/reference/cancel-run","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"x-mint":{"href":"/agents/reference/cancel-run"},"tags":["Runs"],"summary":"Cancel the agent's currently-active run (idempotent, cooperative)","description":"The per-agent mutex guarantees at most one in-flight run per\nagent, so cancel takes only the agentId. Wraps the same\nmachinery the UI's stop route uses (`markCancelling` + Redis\n`cancelStream` publish).\n\nIdempotent: returns `200` whether the agent has an active\nrun, is already cancelling, or has no in-flight run at all.\nThe response body always carries the latest run object: the\njust-cancelled one if there was one, otherwise the agent's\nmost recent terminal run.\n","operationId":"cancelActiveRun","parameters":["cc8ca9a1-0b3a-43cb-a19e-1394cb96c092"],"responses":{"200":"84fcba23-0e31-4040-bbca-219f11052643","404":"e84d2279-fd05-4cab-a56c-02b90dd33142"},"method":"post","type":"path","servers":["3cee4c01-8102-49ac-a706-7d90ac4d7c3a"],"security":["58f4c267-0c2d-44a5-96d2-b88e0b02cb28"],"path":"/agents/{id}/cancel","baseUrlOptions":["https://origami.chat/api/v2"],"title":"Cancel the agent's currently-active run (idempotent, cooperative)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"cc8ca9a1-0b3a-43cb-a19e-1394cb96c092":{"in":"header","name":"Idempotency-Key","required":false,"description":"Transport-level replay protection: any v2 `POST` may send it\n(1-255 printable ASCII characters; UUIDs recommended). The first\nresponse for a key is recorded and replayed verbatim for retries\nwith the same key + method/path/body for 24 hours; replayed\nresponses carry the `Idempotency-Replay: true` response header.\nReusing a key with a *different* request, or retrying while the\noriginal is still in flight, returns `409 IDEMPOTENCY_ERROR`.\n5xx responses are never recorded (the retry re-executes).\n","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]{1,255}$","isRequired":false,"description":"Transport-level replay protection: any v2 `POST` may send it\n(1-255 printable ASCII characters; UUIDs recommended). The first\nresponse for a key is recorded and replayed verbatim for retries\nwith the same key + method/path/body for 24 hours; replayed\nresponses carry the `Idempotency-Replay: true` response header.\nReusing a key with a *different* request, or retrying while the\noriginal is still in flight, returns `409 IDEMPOTENCY_ERROR`.\n5xx responses are never recorded (the retry re-executes).\n","uniqueKey":"","typeLabel":"string"}},"06bdff64-3391-415d-a4c2-a651c186b2b1":{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"responses":{"84fcba23-0e31-4040-bbca-219f11052643":{"description":"The (possibly updated) run object, or `{ \"run\": null }`\nwhen the agent has never had a run.\n","content":{"application/json":{"schema":{"type":"object","required":["run"],"properties":{"run":{"oneOf":[{"type":"object","required":["workspaceId","request","response","todo","object","id","agentId","status","prompt","model","steps","startedAt"],"properties":{"object":{"type":"string","const":"run","isRequired":true,"uniqueKey":"run.oneOf.0.object","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"run.oneOf.0.id","typeLabel":"string"},"agentId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"run.oneOf.0.agentId","typeLabel":"string\u003cuuid>"},"status":{"type":"string","enum":["running","completed","needs_input","step_cap_hit","incomplete","cancelled","errored","timed_out"],"description":"Single discriminator for the run's lifecycle. `needs_input`\nmeans the run completed cleanly but the agent's last\nassistant message included an `ask-questions` tool call;\nanswer by sending a follow-up run on the same agent.\n`incomplete` means the model finished the step but the AI\nSDK could not parse a tool call it tried to emit (or it hit\nthe output-token cap mid-tool-call), so the multi-step loop\nended without the work being done; recoverable by sending\na follow-up run on the same agent. Deploy restarts are\nauto-followed server-side, so callers never observe a\n`superseded` value.\n","isRequired":true,"uniqueKey":"run.oneOf.0.status","typeLabel":"enum\u003cstring>"},"prompt":{"type":"string","description":"The user prompt that drove this run, truncated to 200\ncharacters with an ellipsis when longer. Suitable for a\nrun-history list item; for the full prompt use Get Run.\n","isRequired":true,"uniqueKey":"run.oneOf.0.prompt","typeLabel":"string"},"model":{"type":"string","enum":["origami-lite","origami-max"],"description":"Public model id the run actually executed on. When the run\nhas no assistant message yet (still admitting), falls back\nto the plan default.\n","isRequired":true,"uniqueKey":"run.oneOf.0.model","typeLabel":"enum\u003cstring>"},"steps":{"type":"object","required":["completed","max"],"description":"Agent step progress. `completed` is the number of multi-step\nloop iterations the agent has actually executed; `max` is the\nplan-determined hard cap. Once `completed === max`, the run's\n`status` becomes `step_cap_hit`.\n","properties":{"completed":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"run.oneOf.0.steps.completed","typeLabel":"integer"},"max":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"run.oneOf.0.steps.max","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"run.oneOf.0.steps","typeLabel":"object"},"startedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"run.oneOf.0.startedAt","typeLabel":"string\u003cdate-time>"},"workspaceId":{"type":"string","format":"uuid","deprecated":true,"description":"Deprecated container id (see AgentSummary.workspaceId).","isRequired":true,"uniqueKey":"run.oneOf.0.workspaceId","typeLabel":"string\u003cuuid>"},"request":{"type":"object","required":["prompt","model","focusTableIds"],"properties":{"prompt":{"type":"string","isRequired":true,"uniqueKey":"run.oneOf.0.request.prompt","typeLabel":"string"},"model":{"type":"string","enum":["origami-lite","origami-max"],"description":"Public model id: `origami-lite` or `origami-max`. Echoes\nthe caller's request (after legacy-alias normalization)\nor the plan default when the request omitted `model`.\nInternal chat-agent ids (e.g. `origami-lobotomized`) are\nnever surfaced here.\n","isRequired":true,"uniqueKey":"run.oneOf.0.request.model","typeLabel":"enum\u003cstring>"},"focusTableIds":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"run.oneOf.0.request.focusTableIds.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Echoed verbatim from the request.","isRequired":true,"uniqueKey":"run.oneOf.0.request.focusTableIds","typeLabel":"string\u003cuuid>[]"}},"isRequired":true,"uniqueKey":"run.oneOf.0.request","typeLabel":"object"},"response":{"oneOf":[{"type":"object","description":"`null` while `status === \"running\"`. Once terminal, an object\nwith the agent's cleaned prose, the structured workspace\nmutations it performed (`actions[]`), the full TableObjects\nfor every touched table (`tables[]`), and (optionally) the\nfull message transcript. `tables[]` is the resolved version\nof `actions[].tableId`; same shape as\n`GET /api/v2/tables/{id}`, fanned out server-side. Pass\n`?include=stats` on the Get Run call to attach economics on\neach embedded TableObject.\n","required":["text","actions","tables","transcript","transcriptTruncated"],"properties":{"text":{"oneOf":[{"type":"string","description":"Cleaned user-facing assistant text; internal markup\n(`\u003cinternal>`, `\u003cplan>`, `\u003csuggestions>`, history-tool\nmarkers) is stripped server-side, identical to the\nstripping in `transcript` content. `null` when `status`\nis `errored` or `timed_out` (we suppress partial prose on\nfailed runs).\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.text.oneOf.0","typeLabel":"string"},{"type":"null","description":"Cleaned user-facing assistant text; internal markup\n(`\u003cinternal>`, `\u003cplan>`, `\u003csuggestions>`, history-tool\nmarkers) is stripped server-side, identical to the\nstripping in `transcript` content. `null` when `status`\nis `errored` or `timed_out` (we suppress partial prose on\nfailed runs).\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.text.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.text","typeLabel":"string | null"},"actions":{"type":"array","items":{"type":"object","required":["type","tableId"],"description":"A single workspace-mutation event the agent performed. Discriminated\nby `type`; `tableId` is always present. Other fields are type-specific.\nv2 wire vocabulary speaks \"leads\", not \"rows\": the row-mutation\naction types are `leads_added`, `leads_deleted`, `leads_restored`.\n","properties":{"type":{"type":"string","enum":["table_created","column_added","columns_updated","columns_deleted","leads_added","leads_deleted","leads_restored","columns_restored","table_restored"],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"tableId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].tableId","typeLabel":"string\u003cuuid>"},"tableName":{"oneOf":[{"type":"string","description":"Present on `table_created` and `table_restored`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].tableName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present on `table_created` and `table_restored`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].tableName.oneOf.1","typeLabel":"null"}],"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].tableName","typeLabel":"string | null"},"columnId":{"oneOf":[{"type":"string","format":"uuid","description":"Present on `column_added`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].columnId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Present on `column_added`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].columnId.oneOf.1","typeLabel":"null"}],"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].columnId","typeLabel":"string\u003cuuid> | null"},"columnName":{"oneOf":[{"type":"string","description":"Present on `column_added`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].columnName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present on `column_added`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].columnName.oneOf.1","typeLabel":"null"}],"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].columnName","typeLabel":"string | null"},"count":{"type":"integer","description":"Present on `columns_deleted`, `leads_deleted`, `leads_restored`,\n`columns_restored`. Number of items affected.\n","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].count","typeLabel":"integer"},"leadCount":{"oneOf":[{"type":"integer","description":"Present on `leads_added`. Number of leads inserted.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].leadCount.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Present on `leads_added`. Number of leads inserted.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].leadCount.oneOf.1","typeLabel":"null"}],"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].leadCount","typeLabel":"integer | null"},"deletedAt":{"oneOf":[{"type":"string","format":"date-time","description":"Present on `columns_deleted` and `leads_deleted`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].deletedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Present on `columns_deleted` and `leads_deleted`.","uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].deletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX].deletedAt","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"run.oneOf.0.response.oneOf.0.actions.items.[INDEX]","typeLabel":"object"},"description":"Structured workspace-mutation actions the agent performed,\nin the order they fired. Projected from the persisted\n`data-*` parts the chat-agent's execute-code event\nlistener writes onto each assistant message; the same\naudit trail the desktop UI renders. Empty when the run\ndid no workspace mutations.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.actions","typeLabel":"object[]"},"tables":{"type":"array","items":{"type":"object","required":["object","id","workspaceId","name","leadCount","columns","credits","cells","url","createdAt","updatedAt"],"properties":{"object":{"type":"string","const":"table","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].object","typeLabel":"string"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"workspaceId":{"oneOf":[{"type":"string","format":"uuid","deprecated":true,"description":"Legacy home workspace; null for chat-created tables (address them via chat links / their own id).","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].workspaceId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","deprecated":true,"description":"Legacy home workspace; null for chat-created tables (address them via chat links / their own id).","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].workspaceId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].workspaceId","typeLabel":"string\u003cuuid> | null"},"name":{"type":"string","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].name","typeLabel":"string"},"leadCount":{"type":"integer","description":"Non-deleted row count. v2 wire vocabulary speaks \"leads\"\ninstead of \"rows\"; the underlying DB column is still\n`rows`.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].leadCount","typeLabel":"integer"},"columns":{"type":"array","items":{"type":"object","required":["object","id","name","type","kind","slug","autoTrigger","credits","cells"],"properties":{"object":{"type":"string","const":"column","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].object","typeLabel":"string"},"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","description":"Raw DB column type. Common values: `static` (user-entered), `code`\n(user-TS that runs per row, includes enrichments, scoring, and\nsequence columns), plus other internal-typed kinds for future\nextensibility. Treat as an open string. Prefer `kind` for\nclassification; it splits `code` columns into `enrichment`,\n`score`, and `sequence`.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].type","typeLabel":"string"},"kind":{"type":"string","enum":["input","enrichment","score","sequence"],"description":"Sequence-aware classification of this column. `sequence`\ncolumns draft outbound sequences; find them here rather than\ninspecting `type` (they share the `code` DB type with\nenrichments). Sequence columns are created via the agent or\ncolumn code, never set through the upsert API.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"slug":{"oneOf":[{"type":"string","description":"Stable url-safe slug, or null when the column has none.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].slug.oneOf.0","typeLabel":"string"},{"type":"null","description":"Stable url-safe slug, or null when the column has none.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].slug.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].slug","typeLabel":"string | null"},"autoTrigger":{"type":"boolean","description":"True when the column runs automatically on new leads.\nFalse for columns that only run when explicitly invoked\n(e.g. exports, manual-trigger code columns).\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].autoTrigger","typeLabel":"boolean"},"credits":{"type":"object","required":["lifetimeUsed"],"properties":{"lifetimeUsed":{"type":"integer","description":"Sum of all settled cell-run charges, in credits. Stable\nand additive; once a row enrichment finishes it never\nmoves backwards. Reservations (in-flight cell_runs) are\nnot included.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].credits.lifetimeUsed","typeLabel":"integer"}},"description":"Per-column historical cost. The table-level\n`credits.lifetimeUsed` is the sum of every column's\n`credits.lifetimeUsed`; the per-column breakdown is the\nprimary surface for \"which column is driving cost?\".\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].credits","typeLabel":"object"},"cells":{"type":"object","required":["running","errored"],"description":"Per-column liveness. `running > 0` means cells in this\ncolumn are still being processed; the agent should not\nconclude \"data not found\" on empty cells until\n`running === 0`.\n","properties":{"running":{"type":"integer","minimum":0,"description":"Number of cells currently being processed (a `cell_run` is\nin `waiting`, `queued`, or `running` for that cell).\n`running > 0` means the agent should NOT report \"no data\nfound\"; wait and re-read.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].cells.running","typeLabel":"integer"},"errored":{"type":"integer","minimum":0,"description":"Number of cells that hit a settled failure. Includes\n`errored`, `out_of_credits`, `budget_exceeded`,\n`subscription_required`, and `connection_required`. The\nuser-driven `stopped` state is\nintentionally excluded; it's a cancellation, not a\nfailure to surface.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].cells.errored","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].cells","typeLabel":"object"},"stats":{"type":"object","required":["avgCreditsPerRun","callRate","totalRuns"],"properties":{"avgCreditsPerRun":{"type":"number","description":"Average credits charged when this column actually runs.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].stats.avgCreditsPerRun","typeLabel":"number"},"callRate":{"type":"number","minimum":0,"maximum":1,"description":"Fraction of leads that triggered this column (0-1).","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].stats.callRate","typeLabel":"number"},"totalRuns":{"type":"integer","description":"Lifetime count of cell runs feeding the average.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].stats.totalRuns","typeLabel":"integer"}},"description":"Present only when caller passes `?include=stats`.","uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].stats","typeLabel":"object"},"qualification":{"type":"object","required":["pass","fail","unsure","total"],"properties":{"pass":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].qualification.pass","typeLabel":"integer"},"fail":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].qualification.fail","typeLabel":"integer"},"unsure":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].qualification.unsure","typeLabel":"integer"},"total":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].qualification.total","typeLabel":"integer"}},"description":"Present only when caller passes `?include=stats` AND this\ncolumn has a relevance condition (i.e. acts as a quality\nfilter).\n","uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX].qualification","typeLabel":"object"}},"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].columns","typeLabel":"object[]"},"credits":{"type":"object","required":["lifetimeUsed"],"properties":{"lifetimeUsed":{"type":"integer","description":"Sum of all settled cell-run charges, in credits. Stable\nand additive; once a row enrichment finishes it never\nmoves backwards. Reservations (in-flight cell_runs) are\nnot included.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].credits.lifetimeUsed","typeLabel":"integer"}},"description":"Lifetime credit cost across every cell. Equals the sum of\nevery `columns[].credits.lifetimeUsed`.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].credits","typeLabel":"object"},"cells":{"type":"object","required":["running","errored"],"description":"Table-level liveness rollup; sums every\n`columns[].cells`. `running > 0` means at least one cell\non the table is still being processed (e.g., enrichment\nkicked off by a recent run hasn't fully settled). The\ncalling agent should treat this as \"still working\", not\n\"no data found\".\n","properties":{"running":{"type":"integer","minimum":0,"description":"Number of cells currently being processed (a `cell_run` is\nin `waiting`, `queued`, or `running` for that cell).\n`running > 0` means the agent should NOT report \"no data\nfound\"; wait and re-read.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].cells.running","typeLabel":"integer"},"errored":{"type":"integer","minimum":0,"description":"Number of cells that hit a settled failure. Includes\n`errored`, `out_of_credits`, `budget_exceeded`,\n`subscription_required`, and `connection_required`. The\nuser-driven `stopped` state is\nintentionally excluded; it's a cancellation, not a\nfailure to surface.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].cells.errored","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].cells","typeLabel":"object"},"url":{"type":"string","format":"uri","description":"Deep link a human can open. For programmatic row reads, use `GET /api/v2/tables/{tableId}/rows`.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].url","typeLabel":"string\u003curi>"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"stats":{"type":"object","required":["creditsPerLead","creditsPerQualifiedLead","findMoreEstimatedCredits","qualification","funnel","running","leadSources","hasUnknownTotalWithMore"],"description":"Present only when caller passes `?include=stats`.","properties":{"creditsPerLead":{"type":"number","description":"Estimated credits per sourced lead (pre-qualification).","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.creditsPerLead","typeLabel":"number"},"creditsPerQualifiedLead":{"type":"number","description":"Estimated credits per qualified lead, including the loss\nfrom dedup, exclusion, and filter cascade.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.creditsPerQualifiedLead","typeLabel":"number"},"findMoreEstimatedCredits":{"type":"number","description":"Per-execution cost of the \"Find More\" code, in credits.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.findMoreEstimatedCredits","typeLabel":"number"},"qualification":{"oneOf":[{"type":"object","required":["rate","fetchRate","qualifiedLeads","effectiveLeadsPerQualified","estimatedQualifiedLeads"],"properties":{"rate":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.rate.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.rate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.rate","typeLabel":"number | null"},"fetchRate":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"description":"Filter-only qualification rate (excludes dedup / exclusion).","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.fetchRate.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"description":"Filter-only qualification rate (excludes dedup / exclusion).","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.fetchRate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.fetchRate","typeLabel":"number | null"},"qualifiedLeads":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.qualifiedLeads","typeLabel":"integer"},"effectiveLeadsPerQualified":{"type":"number","description":"Empirical leads-processed per qualified lead.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.effectiveLeadsPerQualified","typeLabel":"number"},"estimatedQualifiedLeads":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.estimatedQualifiedLeads.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.estimatedQualifiedLeads.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0.estimatedQualifiedLeads","typeLabel":"integer | null"}},"description":"Null when the table has no relevance conditions configured.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.0","typeLabel":"object"},{"type":"null","required":["rate","fetchRate","qualifiedLeads","effectiveLeadsPerQualified","estimatedQualifiedLeads"],"properties":{"rate":{"oneOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null","minimum":0,"maximum":1}]},"fetchRate":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"description":"Filter-only qualification rate (excludes dedup / exclusion)."},{"type":"null","minimum":0,"maximum":1,"description":"Filter-only qualification rate (excludes dedup / exclusion)."}]},"qualifiedLeads":{"type":"integer"},"effectiveLeadsPerQualified":{"type":"number","description":"Empirical leads-processed per qualified lead."},"estimatedQualifiedLeads":{"oneOf":[{"type":"integer"},{"type":"null"}]}},"description":"Null when the table has no relevance conditions configured.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.qualification","typeLabel":"object | null"},"funnel":{"type":"object","required":["totalSourcedLeads","postStaticLeads","dedupedLeads","dedupRate","excludedLeads","excludedRate"],"properties":{"totalSourcedLeads":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.totalSourcedLeads","typeLabel":"integer"},"postStaticLeads":{"type":"integer","description":"Leads surviving dedup + exclusion + required static filters.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.postStaticLeads","typeLabel":"integer"},"dedupedLeads":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.dedupedLeads","typeLabel":"integer"},"dedupRate":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.dedupRate.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.dedupRate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.dedupRate","typeLabel":"number | null"},"excludedLeads":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.excludedLeads","typeLabel":"integer"},"excludedRate":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.excludedRate.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.excludedRate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel.excludedRate","typeLabel":"number | null"}},"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.funnel","typeLabel":"object"},"running":{"type":"object","required":["runningLeads","oldestActiveRunStartedAt"],"properties":{"runningLeads":{"type":"integer","description":"Leads with active (queued / running / waiting) cell runs.","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.running.runningLeads","typeLabel":"integer"},"oldestActiveRunStartedAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.running.oldestActiveRunStartedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.running.oldestActiveRunStartedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.running.oldestActiveRunStartedAt","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.running","typeLabel":"object"},"leadSources":{"type":"array","items":{"type":"object","required":["id","name","avgCreditsPerLead","totalCredits","totalLeads","source"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources.items.[INDEX].name","typeLabel":"string"},"avgCreditsPerLead":{"type":"number","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources.items.[INDEX].avgCreditsPerLead","typeLabel":"number"},"totalCredits":{"type":"number","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources.items.[INDEX].totalCredits","typeLabel":"number"},"totalLeads":{"type":"integer","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources.items.[INDEX].totalLeads","typeLabel":"integer"},"source":{"type":"string","enum":["historical","estimate"],"description":"`historical` when the average is derived from real\ncost_events; `estimate` when it was computed by static\nregex analysis of the lead source's TypeScript code.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources.items.[INDEX].source","typeLabel":"enum\u003cstring>"}},"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.leadSources","typeLabel":"object[]"},"hasUnknownTotalWithMore":{"type":"boolean","description":"True when ≥1 active lead source has unknown TAM AND\n`has_more=true` (e.g. Twitter / LinkedIn post search).\nConsumers should render \"X found (more available)\" instead\nof a numeric TAM when set.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats.hasUnknownTotalWithMore","typeLabel":"boolean"}},"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX].stats","typeLabel":"object"}},"uniqueKey":"run.oneOf.0.response.oneOf.0.tables.items.[INDEX]","typeLabel":"object"},"description":"Full TableObjects for every table this run touched\n(derived from `actions[].tableId` plus any\n`focusTableIds` the caller passed). Same shape as a\nsingle `GET /api/v2/tables/{id}` response. Empty when\nthe run touched no tables.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.tables","typeLabel":"object[]"},"transcriptTruncated":{"type":"boolean","description":"True when `transcript` was truncated to its hard cap.\nAlways present (defaults to `false`) so consumers don't\nhave to do a presence-check on every poll.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.transcriptTruncated","typeLabel":"boolean"},"transcript":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant","tool"],"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"type":"string","uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].content","typeLabel":"string"},"toolCalls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].toolCalls.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].toolCalls.items.[INDEX].name","typeLabel":"string"},"input":{"oneOf":[{}],"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].toolCalls.items.[INDEX].input","typeLabel":"any"}},"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].toolCalls.items.[INDEX]","typeLabel":"object"},"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].toolCalls","typeLabel":"object[]"},"toolCallId":{"type":"string","uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].toolCallId","typeLabel":"string"},"name":{"type":"string","uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].name","typeLabel":"string"},"result":{"type":"string","uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].result","typeLabel":"string"},"truncated":{"type":"boolean","uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX].truncated","typeLabel":"boolean"}},"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Full message history projected onto the surface a desktop\nuser with **dev mode off** would see. Specifically:\n\n - Assistant text is stripped of internal markup\n (`\u003cinternal>`, `\u003cplan>`, `\u003csuggestions>`, history-tool\n markers).\n - Tool calls are limited to the interactive widgets a\n non-dev user actually sees: `ask-questions`,\n `present-plan`, `contact-support`,\n `suggest-document-write`. The code the agent ran\n (`execute-code`), the VFS reads (`list-dir`,\n `read-file`, `grep`), and operational tools\n (`flag-session`) are dropped along with their results.\n - `reasoning` parts (dev-only in the UI) are dropped.\n - Empty assistant bubbles (text that was entirely\n internal markup and no public tool calls) are dropped.\n\nOpt-in only via `?include=transcript` on\n`GET /agents/{id}/runs/{runId}`. Default is `null`.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant","tool"]},"content":{"type":"string"},"toolCalls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"input":{"oneOf":[{}]}}}},"toolCallId":{"type":"string"},"name":{"type":"string"},"result":{"type":"string"},"truncated":{"type":"boolean"}}},"description":"Full message history projected onto the surface a desktop\nuser with **dev mode off** would see. Specifically:\n\n - Assistant text is stripped of internal markup\n (`\u003cinternal>`, `\u003cplan>`, `\u003csuggestions>`, history-tool\n markers).\n - Tool calls are limited to the interactive widgets a\n non-dev user actually sees: `ask-questions`,\n `present-plan`, `contact-support`,\n `suggest-document-write`. The code the agent ran\n (`execute-code`), the VFS reads (`list-dir`,\n `read-file`, `grep`), and operational tools\n (`flag-session`) are dropped along with their results.\n - `reasoning` parts (dev-only in the UI) are dropped.\n - Empty assistant bubbles (text that was entirely\n internal markup and no public tool calls) are dropped.\n\nOpt-in only via `?include=transcript` on\n`GET /agents/{id}/runs/{runId}`. Default is `null`.\n","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0.transcript","typeLabel":"object[] | null"}},"isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"run.oneOf.0.response.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.oneOf.0.response","typeLabel":"object | null"},"todo":{"type":"object","required":["pendingQuestions","nextActions"],"properties":{"pendingQuestions":{"type":"array","items":{"type":"object","required":["type","question","suggestedAnswers","freeformOption"],"properties":{"type":{"type":"string","enum":["single-choice","confirm"],"description":"Question type the agent emitted. `single-choice` lists\noptions the user is expected to pick from; `confirm` is a\nsingle approval prompt.\n","isRequired":true,"uniqueKey":"run.oneOf.0.todo.pendingQuestions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"question":{"type":"string","description":"Natural-language question text to surface to the user.","isRequired":true,"uniqueKey":"run.oneOf.0.todo.pendingQuestions.items.[INDEX].question","typeLabel":"string"},"suggestedAnswers":{"type":"array","items":{"type":"string","uniqueKey":"run.oneOf.0.todo.pendingQuestions.items.[INDEX].suggestedAnswers.items.[INDEX]","typeLabel":"string"},"description":"Answers the agent proposed, in the order it listed them.\nFor `single-choice` these are the agent's options; for\n`confirm` it is the single-entry array `[\"Confirm\"]`. This\nis NOT a hard menu; the caller may always reply with any\nfree-text via the follow-up run (see `freeformOption`).\nThe field is here so a host LLM can bias its follow-up\n`prompt` toward what the agent expected.\n","isRequired":true,"uniqueKey":"run.oneOf.0.todo.pendingQuestions.items.[INDEX].suggestedAnswers","typeLabel":"string[]"},"freeformOption":{"type":"string","description":"A stable, agent-agnostic CTA string clients can render as\na final \"your own answer\" button next to `suggestedAnswers`.\nAlways the literal `\"Or something else\"` in v2.0.\n","example":"Or something else","isRequired":true,"uniqueKey":"run.oneOf.0.todo.pendingQuestions.items.[INDEX].freeformOption","typeLabel":"string"}},"uniqueKey":"run.oneOf.0.todo.pendingQuestions.items.[INDEX]","typeLabel":"object"},"description":"Structured questions extracted from the agent's most\nrecent `ask-questions` tool call, if any. When non-empty\nAND the chat_stream completed cleanly, `status` is\npromoted to `\"needs_input\"`. Answer by sending a\nfollow-up run on the same agent\n(`POST /agents/{id}/runs`) with the user's answer as\n`prompt`: any free-text string is accepted; the agent\nparses it as natural language.\n","isRequired":true,"uniqueKey":"run.oneOf.0.todo.pendingQuestions","typeLabel":"object[]"},"nextActions":{"type":"array","items":{"type":"object","required":["label"],"properties":{"label":{"type":"string","description":"Natural-language label the agent suggested.","isRequired":true,"uniqueKey":"run.oneOf.0.todo.nextActions.items.[INDEX].label","typeLabel":"string"},"type":{"type":"string","enum":["upload_csv","find_more_leads","export_csv","input_required","send_messages","schedule_play"],"description":"Optional typed CTA the host can act on directly. When\nabsent, treat as a plain text suggestion the user can\nask the agent to do next.\n","uniqueKey":"run.oneOf.0.todo.nextActions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"tableSlug":{"type":"string","description":"Optional table reference for table-scoped types (e.g.\n`export_csv`).\n","uniqueKey":"run.oneOf.0.todo.nextActions.items.[INDEX].tableSlug","typeLabel":"string"}},"uniqueKey":"run.oneOf.0.todo.nextActions.items.[INDEX]","typeLabel":"object"},"description":"Structured next-action suggestions extracted from the agent's\n`\u003csuggestions>\u003caction ...>...\u003c/action>\u003c/suggestions>` block,\nif any. Surface the `label` to the user; act on `type` (when\npresent) as a typed CTA the host can fire directly.\n","isRequired":true,"uniqueKey":"run.oneOf.0.todo.nextActions","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"run.oneOf.0.todo","typeLabel":"object"},"completedAt":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"run.oneOf.0.completedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"run.oneOf.0.completedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"run.oneOf.0.completedAt","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"run.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"run.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"run":{"object":"run","id":"\u003cstring>","agentId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","status":"running","prompt":"\u003cstring>","model":"origami-lite","steps":{"completed":1,"max":2},"startedAt":"2023-11-07T05:31:56Z","workspaceId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","request":{"prompt":"\u003cstring>","model":"origami-lite","focusTableIds":["3c90c3cc-0d44-4b50-8888-8dd25736052a"]},"response":{"text":"\u003cstring>","actions":[{"type":"table_created","tableId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","tableName":"\u003cstring>","columnId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","columnName":"\u003cstring>","count":123,"leadCount":123,"deletedAt":"2023-11-07T05:31:56Z"}],"tables":[{"object":"table","id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","workspaceId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","leadCount":123,"columns":[{"object":"column","id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","type":"\u003cstring>","kind":"input","slug":"\u003cstring>","autoTrigger":true,"credits":{"lifetimeUsed":123},"cells":{"running":1,"errored":1},"stats":{"avgCreditsPerRun":123,"callRate":0.5,"totalRuns":123},"qualification":{"pass":123,"fail":123,"unsure":123,"total":123}}],"credits":{"lifetimeUsed":123},"cells":{"running":1,"errored":1},"url":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","stats":{"creditsPerLead":123,"creditsPerQualifiedLead":123,"findMoreEstimatedCredits":123,"qualification":{"rate":0.5,"fetchRate":0.5,"qualifiedLeads":123,"effectiveLeadsPerQualified":123,"estimatedQualifiedLeads":123},"funnel":{"totalSourcedLeads":123,"postStaticLeads":123,"dedupedLeads":123,"dedupRate":0.5,"excludedLeads":123,"excludedRate":0.5},"running":{"runningLeads":123,"oldestActiveRunStartedAt":"2023-11-07T05:31:56Z"},"leadSources":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","avgCreditsPerLead":123,"totalCredits":123,"totalLeads":123,"source":"historical"}],"hasUnknownTotalWithMore":true}}],"transcriptTruncated":true,"transcript":[{"role":"user","content":"\u003cstring>","toolCalls":[{"id":"\u003cstring>","name":"\u003cstring>","input":"\u003cunknown>"}],"toolCallId":"\u003cstring>","name":"\u003cstring>","result":"\u003cstring>","truncated":true}]},"todo":{"pendingQuestions":[{"type":"single-choice","question":"\u003cstring>","suggestedAnswers":["\u003cstring>"],"freeformOption":"Or something else"}],"nextActions":[{"label":"\u003cstring>","type":"upload_csv","tableSlug":"\u003cstring>"}]},"completedAt":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e84d2279-fd05-4cab-a56c-02b90dd33142":{"description":"Agent not found (or belongs to another org)","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"example":{"error":"Agent not found","code":"AGENT_NOT_FOUND"},"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"},"handoff":{"type":"object","description":"Present on 4xx errors the caller's user can resolve in-app: a\nforwardable link on the canonical app origin.\n","required":["kind","url","label"],"properties":{"kind":{"type":"string","isRequired":true,"uniqueKey":"handoff.kind","typeLabel":"string"},"url":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"handoff.url","typeLabel":"string\u003curi>"},"label":{"type":"string","isRequired":true,"uniqueKey":"handoff.label","typeLabel":"string"}},"uniqueKey":"handoff","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Agent not found","code":"AGENT_NOT_FOUND"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"58f4c267-0c2d-44a5-96d2-b88e0b02cb28":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"og_live_...","scopes":[]}}},"servers":{"3cee4c01-8102-49ac-a706-7d90ac4d7c3a":{"url":"https://origami.chat/api/v2","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"og_live_...","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi-v2.yaml"},"subdomain":"origamiagents","siteName":"Origami API","title":"Cancel the agent's currently-active run (idempotent, cooperative) - Origami API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-25T18:43:10.212Z","originalFileLocation":"agents/reference/cancel-run.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=\"light\"}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=\"The per-agent mutex guarantees at most one in-flight run per agent, so cancel takes only the agentId. Wraps the same machinery the UI\u0026#x27;s stop route uses (markCancelling + Redis cancelStream publish). Idempotent: returns 200 whether the agent has an active run, is already cancelling, or has no in-flight run at all. The response body always carries the latest run object: the just-cancelled one if there was one, otherwise the agent\u0026#x27;s most recent terminal run.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Origami API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_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/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/origamiagents/zjsdEZpGw8t3MGzV/_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/origamiagents/zjsdEZpGw8t3MGzV/_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/origamiagents/zjsdEZpGw8t3MGzV/_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/origamiagents/zjsdEZpGw8t3MGzV/_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/origamiagents/zjsdEZpGw8t3MGzV/_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/origamiagents/zjsdEZpGw8t3MGzV/_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/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Cancel the agent\u0026#x27;s currently-active run (idempotent, cooperative) - Origami API\">\u003cmeta data-mint-head property=\"og:description\" content=\"The per-agent mutex guarantees at most one in-flight run per agent, so cancel takes only the agentId. Wraps the same machinery the UI\u0026#x27;s stop route uses (markCancelling + Redis cancelStream publish). Idempotent: returns 200 whether the agent has an active run, is already cancelling, or has no in-flight run at all. The response body always carries the latest run object: the just-cancelled one if there was one, otherwise the agent\u0026#x27;s most recent terminal run.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Origami API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.origami.chat/agents/reference/cancel-run\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://origamiagents.mintlify.app/_mintlify/api/og/v2?division=Runs\u0026amp;title=Cancel+the+agent%27s+currently-active+run+%28idempotent%2C+cooperative%29\u0026amp;description=The+per-agent+mutex+guarantees+at+most+one+in-flight+run+per%0Aagent%2C+so+cancel+takes+only+the+agentId.+Wraps+the+same%0Amachinery+the+UI%27s+stop+route+uses+%28%60markCa\u0026amp;theme=e0ce817f1c64e26a408cc8e3\u0026amp;signature=12becca20c3e923e9b7611483f3595fa68ff7d2dc57d35701e82ebb0e5699d75\">\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=\"Cancel the agent\u0026#x27;s currently-active run (idempotent, cooperative) - Origami API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The per-agent mutex guarantees at most one in-flight run per agent, so cancel takes only the agentId. Wraps the same machinery the UI\u0026#x27;s stop route uses (markCancelling + Redis cancelStream publish). Idempotent: returns 200 whether the agent has an active run, is already cancelling, or has no in-flight run at all. The response body always carries the latest run object: the just-cancelled one if there was one, otherwise the agent\u0026#x27;s most recent terminal run.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://origamiagents.mintlify.app/_mintlify/api/og/v2?division=Runs\u0026amp;title=Cancel+the+agent%27s+currently-active+run+%28idempotent%2C+cooperative%29\u0026amp;description=The+per-agent+mutex+guarantees+at+most+one+in-flight+run+per%0Aagent%2C+so+cancel+takes+only+the+agentId.+Wraps+the+same%0Amachinery+the+UI%27s+stop+route+uses+%28%60markCa\u0026amp;theme=e0ce817f1c64e26a408cc8e3\u0026amp;signature=12becca20c3e923e9b7611483f3595fa68ff7d2dc57d35701e82ebb0e5699d75\">\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/origamiagents/zjsdEZpGw8t3MGzV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Origami API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#fe7bcd\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.origami.chat/agents/reference/cancel-run\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/agents/reference/cancel-run.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.origami.chat/#organization\",\"name\":\"Origami API\",\"url\":\"https://docs.origami.chat\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/origamiagents/XHcb8BJCoB-coV4A/logo/light.svg?fit=max\u0026auto=format\u0026n=XHcb8BJCoB-coV4A\u0026q=85\u0026s=f373c14798a59bfb8cedc4284f55a0ca\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.origami.chat#website\",\"name\":\"Origami API\",\"url\":\"https://docs.origami.chat\",\"publisher\":{\"@id\":\"https://docs.origami.chat/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.origami.chat/agents/reference/cancel-run#webpage\",\"url\":\"https://docs.origami.chat/agents/reference/cancel-run\",\"name\":\"Cancel the agent's currently-active run (idempotent, cooperative)\",\"description\":\"The per-agent mutex guarantees at most one in-flight run per agent, so cancel takes only the agentId. Wraps the same machinery the UI's stop route uses (markCancelling + Redis cancelStream publish). Idempotent: returns 200 whether the agent has an active run, is already cancelling, or has no in-flight run at all. The response body always carries the latest run object: the just-cancelled one if there was one, otherwise the agent's most recent terminal run.\",\"dateModified\":\"2026-08-25T18:43:10.212Z\",\"isPartOf\":{\"@id\":\"https://docs.origami.chat#website\"},\"breadcrumb\":{\"@id\":\"https://docs.origami.chat/agents/reference/cancel-run#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.origami.chat/agents/reference/cancel-run#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Runs\",\"item\":\"https://docs.origami.chat/agents/reference/send-run\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cancel the agent's currently-active run (idempotent, cooperative)\",\"item\":\"https://docs.origami.chat/agents/reference/cancel-run\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.origami.chat/agents/reference/cancel-run#apireference\",\"headline\":\"Cancel the agent's currently-active run (idempotent, cooperative)\",\"name\":\"Cancel the agent's currently-active run (idempotent, cooperative)\",\"description\":\"The per-agent mutex guarantees at most one in-flight run per agent, so cancel takes only the agentId. Wraps the same machinery the UI's stop route uses (markCancelling + Redis cancelStream publish). Idempotent: returns 200 whether the agent has an active run, is already cancelling, or has no in-flight run at all. The response body always carries the latest run object: the just-cancelled one if there was one, otherwise the agent's most recent terminal run.\",\"url\":\"https://docs.origami.chat/agents/reference/cancel-run\",\"mainEntityOfPage\":{\"@id\":\"https://docs.origami.chat/agents/reference/cancel-run#webpage\"},\"dateModified\":\"2026-08-25T18:43:10.212Z\",\"publisher\":{\"@id\":\"https://docs.origami.chat/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.origami.chat#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Origami API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Origami API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"v3 API","pages":[{"title":"v3 API","href":"/v3/overview"}]},{"tab":"v2 API","groups":[{"group":"Guide","pages":[{"title":"v2 API beta","href":"/agents"},{"title":"Objects and relationships","href":"/agents/objects"},{"title":"Quickstart","href":"/agents/quickstart"},{"title":"Run object","href":"/agents/run-object"},{"title":"Install the skill","href":"/agents/skill"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Projects","pages":[{"title":"List projects (cursor-paginated; ?search=)","deprecated":null,"version":null,"sidebarTitle":"List projects","openapi":"/openapi-v2.yaml get /projects","href":"/agents/reference/list-projects"},{"title":"Create a project (child org)","deprecated":null,"version":null,"sidebarTitle":"Create project","openapi":"/openapi-v2.yaml post /projects","href":"/agents/reference/create-project"},{"title":"Fetch a project","deprecated":null,"version":null,"sidebarTitle":"Get project","openapi":"/openapi-v2.yaml get /projects/{projectId}","href":"/agents/reference/get-project"},{"title":"Update a project's name, budget cap, or enforcement mode","deprecated":null,"version":null,"sidebarTitle":"Update project","openapi":"/openapi-v2.yaml patch /projects/{projectId}","href":"/agents/reference/update-project"},{"title":"Delete a project (two-step; ?confirm=true, ?dryRun=true)","deprecated":null,"version":null,"sidebarTitle":"Delete project","openapi":"/openapi-v2.yaml delete /projects/{projectId}","href":"/agents/reference/delete-project"}]},{"group":"Agents","pages":[{"title":"Create an agent and admit its first run","deprecated":null,"version":null,"sidebarTitle":"Create agent","openapi":"/openapi-v2.yaml post /agents","href":"/agents/reference/create-agent"},{"title":"List agents (cursor-paginated; ?search=)","deprecated":null,"version":null,"sidebarTitle":"List agents","openapi":"/openapi-v2.yaml get /agents","href":"/agents/reference/list-agents"},{"title":"Get an agent","deprecated":null,"version":null,"sidebarTitle":"Get agent","openapi":"/openapi-v2.yaml get /agents/{id}","href":"/agents/reference/get-agent"},{"title":"Archive an agent (soft-delete)","deprecated":null,"version":null,"sidebarTitle":"Archive agent","openapi":"/openapi-v2.yaml delete /agents/{id}","href":"/agents/reference/archive-agent"}]},{"group":"Runs","pages":[{"title":"Send a follow-up run","deprecated":null,"version":null,"sidebarTitle":"Send run","openapi":"/openapi-v2.yaml post /agents/{id}/runs","href":"/agents/reference/send-run"},{"title":"List runs for an agent (cursor-paginated)","deprecated":null,"version":null,"sidebarTitle":"List runs","openapi":"/openapi-v2.yaml get /agents/{id}/runs","href":"/agents/reference/list-runs"},{"title":"Get a run (poll for status / final result)","description":"Returns the run object. Works while the run is still running\n(`status: \"running\"` with partial `actions[]`) and after it\nterminates. This is the primary read path; every call after\n`POST /agents` polls this endpoint until `status !== \"running\"`.\n","deprecated":null,"version":null,"sidebarTitle":"Get run","openapi":"/openapi-v2.yaml get /agents/{id}/runs/{runId}","href":"/agents/reference/get-run"},{"title":"Cancel the agent's currently-active run (idempotent, cooperative)","deprecated":null,"version":null,"sidebarTitle":"Cancel run","openapi":"/openapi-v2.yaml post /agents/{id}/cancel","href":"/agents/reference/cancel-run"}]},{"group":"Tables","pages":[{"title":"List tables (cursor-paginated; ?workspaceId=)","description":null,"deprecated":null,"version":null,"sidebarTitle":"List tables","openapi":"/openapi-v2.yaml get /tables","href":"/agents/reference/list-tables"},{"title":"Get a table: name, leadCount, columns, credits, optional economics","deprecated":null,"version":null,"sidebarTitle":"Get table","openapi":"/openapi-v2.yaml get /tables/{tableId}","href":"/agents/reference/get-table"},{"title":"List tables in the agent's workspace","deprecated":null,"version":null,"sidebarTitle":"List agent tables","openapi":"/openapi-v2.yaml get /agents/{id}/tables","href":"/agents/reference/list-agent-tables"},{"title":"List a table's columns","deprecated":null,"version":null,"sidebarTitle":"List columns","openapi":"/openapi-v2.yaml get /tables/{tableId}/columns","href":"/agents/reference/list-columns"},{"title":"List rows (typed cells; ?cells=flat / ?format=csv)","deprecated":null,"version":null,"sidebarTitle":"List rows","openapi":"/openapi-v2.yaml get /tables/{tableId}/rows","href":"/agents/reference/list-rows"},{"title":"Fetch one row","deprecated":null,"version":null,"sidebarTitle":"Get row","openapi":"/openapi-v2.yaml get /tables/{tableId}/rows/{rowId}","href":"/agents/reference/get-row"},{"title":"Fetch one cell","deprecated":null,"version":null,"sidebarTitle":"Get cell","openapi":"/openapi-v2.yaml get /tables/{tableId}/rows/{rowId}/cells/{columnId}","href":"/agents/reference/get-cell"}]},{"group":"Rows \u0026 writes","pages":[{"title":"Upsert rows on matchColumns (the single v2 batch write primitive)","deprecated":null,"version":null,"sidebarTitle":"Upsert rows","openapi":"/openapi-v2.yaml post /tables/{tableId}/rows/upsert","href":"/agents/reference/upsert-rows"},{"title":"Upsert rows from a CSV file (same operation, CSV transport)","deprecated":null,"version":null,"sidebarTitle":"Upsert rows file","openapi":"/openapi-v2.yaml post /tables/{tableId}/rows/upsert-file","href":"/agents/reference/upsert-rows-file"},{"title":"Bulk soft-delete rows by id","deprecated":null,"version":null,"sidebarTitle":"Delete rows","openapi":"/openapi-v2.yaml delete /tables/{tableId}/rows","href":"/agents/reference/delete-rows"},{"title":"Stop active cell work for a table (the API \"stop\" button)","deprecated":null,"version":null,"sidebarTitle":"Cancel table cells","openapi":"/openapi-v2.yaml post /tables/{tableId}/cancel","href":"/agents/reference/cancel-table-cells"}]},{"group":"Enrichment runs","pages":[{"title":"List enrichment runs (cursor-paginated; ?tableId=)","deprecated":null,"version":null,"sidebarTitle":"List enrichment runs","openapi":"/openapi-v2.yaml get /enrichment-runs","href":"/agents/reference/list-enrichment-runs"},{"title":"Track an enrichment run (incl. per-row upsert outcomes)","deprecated":null,"version":null,"sidebarTitle":"Get enrichment run","openapi":"/openapi-v2.yaml get /enrichment-runs/{runId}","href":"/agents/reference/get-enrichment-run"},{"title":"List a table's enrichment runs (cursor-paginated)","deprecated":null,"version":null,"sidebarTitle":"List table enrichment runs","openapi":"/openapi-v2.yaml get /tables/{tableId}/enrichment-runs","href":"/agents/reference/list-table-enrichment-runs"},{"title":"Get table run","deprecated":null,"version":null,"sidebarTitle":"Get table run","openapi":"/openapi-v2.yaml get /tables/{tableId}/runs/{runId}","href":"/agents/reference/get-table-run"}]},{"group":"Workspaces","pages":[{"title":"List workspaces (cursor-paginated; ?search=)","deprecated":true,"version":null,"sidebarTitle":"List workspaces","openapi":"/openapi-v2.yaml get /workspaces","href":"/agents/reference/list-workspaces"},{"title":"Bootstrap a workspace (upload-first flows)","deprecated":true,"version":null,"sidebarTitle":"Create workspace","openapi":"/openapi-v2.yaml post /workspaces","href":"/agents/reference/create-workspace"},{"title":"Fetch a workspace","deprecated":true,"version":null,"sidebarTitle":"Get workspace","openapi":"/openapi-v2.yaml get /workspaces/{workspaceId}","href":"/agents/reference/get-workspace"},{"title":"Delete a workspace (two-step; ?confirm=true)","deprecated":true,"version":null,"sidebarTitle":"Delete workspace","openapi":"/openapi-v2.yaml delete /workspaces/{workspaceId}","href":"/agents/reference/delete-workspace"}]},{"group":"Documents","pages":[{"title":"List workspace-scoped documents (cursor-paginated)","deprecated":null,"version":null,"sidebarTitle":"List documents","openapi":"/openapi-v2.yaml get /workspaces/{workspaceId}/documents","href":"/agents/reference/list-documents"},{"title":"Upload files into a workspace (the single ingest verb)","deprecated":null,"version":null,"sidebarTitle":"Upload documents","openapi":"/openapi-v2.yaml post /workspaces/{workspaceId}/documents","href":"/agents/reference/upload-documents"},{"title":"Read a document (metadata + content)","deprecated":null,"version":null,"sidebarTitle":"Get document","openapi":"/openapi-v2.yaml get /workspaces/{workspaceId}/documents/{documentId}","href":"/agents/reference/get-document"},{"title":"Rename a document","deprecated":null,"version":null,"sidebarTitle":"Rename document","openapi":"/openapi-v2.yaml patch /workspaces/{workspaceId}/documents/{documentId}","href":"/agents/reference/rename-document"},{"title":"Delete a workspace document","deprecated":null,"version":null,"sidebarTitle":"Delete document","openapi":"/openapi-v2.yaml delete /workspaces/{workspaceId}/documents/{documentId}","href":"/agents/reference/delete-document"}]},{"group":"Campaigns","pages":[{"title":"List a workspace's campaigns","deprecated":null,"version":null,"sidebarTitle":"List workspace campaigns","openapi":"/openapi-v2.yaml get /workspaces/{workspaceId}/campaigns","href":"/agents/reference/list-workspace-campaigns"},{"title":"List campaigns that send from a table","deprecated":null,"version":null,"sidebarTitle":"List table campaigns","openapi":"/openapi-v2.yaml get /tables/{tableId}/campaigns","href":"/agents/reference/list-table-campaigns"},{"title":"Create a campaign on a table (agentic)","deprecated":null,"version":null,"sidebarTitle":"Create campaign","openapi":"/openapi-v2.yaml post /tables/{tableId}/campaigns","href":"/agents/reference/create-campaign"},{"title":"Fetch a campaign","deprecated":null,"version":null,"sidebarTitle":"Get campaign","openapi":"/openapi-v2.yaml get /campaigns/{campaignId}","href":"/agents/reference/get-campaign"},{"title":"Delete a campaign (?confirm=true, ?dryRun=true)","deprecated":null,"version":null,"sidebarTitle":"Delete campaign","openapi":"/openapi-v2.yaml delete /campaigns/{campaignId}","href":"/agents/reference/delete-campaign"},{"title":"List the people in a campaign (keyset-paginated, filtered)","deprecated":null,"version":null,"sidebarTitle":"List campaign people","openapi":"/openapi-v2.yaml get /campaigns/{campaignId}/people","href":"/agents/reference/list-campaign-people"},{"title":"Synonym of GET /campaigns/{campaignId}/people","deprecated":null,"version":null,"sidebarTitle":"List campaign sequences","openapi":"/openapi-v2.yaml get /campaigns/{campaignId}/sequences","href":"/agents/reference/list-campaign-sequences"},{"title":"Campaign performance stats","deprecated":null,"version":null,"sidebarTitle":"Get campaign stats","openapi":"/openapi-v2.yaml get /campaigns/{campaignId}/stats","href":"/agents/reference/get-campaign-stats"},{"title":"Request a content change to a campaign (agentic)","deprecated":null,"version":null,"sidebarTitle":"Edit campaign","openapi":"/openapi-v2.yaml post /campaigns/{campaignId}/edits","href":"/agents/reference/edit-campaign"},{"title":"Launch a campaign: activate + run the launch pipeline (alias /send)","deprecated":null,"version":null,"sidebarTitle":"Launch campaign","openapi":"/openapi-v2.yaml post /campaigns/{campaignId}/launch","href":"/agents/reference/launch-campaign"},{"title":"Alias of POST /campaigns/{campaignId}/launch","deprecated":null,"version":null,"sidebarTitle":"Send campaign","openapi":"/openapi-v2.yaml post /campaigns/{campaignId}/send","href":"/agents/reference/send-campaign"},{"title":"Pause a campaign (idempotent; ?dryRun=true)","deprecated":null,"version":null,"sidebarTitle":"Pause campaign","openapi":"/openapi-v2.yaml post /campaigns/{campaignId}/pause","href":"/agents/reference/pause-campaign"},{"title":"Resume a campaign (idempotent; ?dryRun=true)","deprecated":null,"version":null,"sidebarTitle":"Resume campaign","openapi":"/openapi-v2.yaml post /campaigns/{campaignId}/resume","href":"/agents/reference/resume-campaign"}]},{"group":"Sequences","pages":[{"title":"List sequences (bounded scope, cursor-paginated, filtered)","deprecated":null,"version":null,"sidebarTitle":"List sequences","openapi":"/openapi-v2.yaml get /sequences","href":"/agents/reference/list-sequences"},{"title":"List a table's sequences (cursor-paginated, filtered)","deprecated":null,"version":null,"sidebarTitle":"List table sequences","openapi":"/openapi-v2.yaml get /tables/{tableId}/sequences","href":"/agents/reference/list-table-sequences"},{"title":"Fetch a sequence with steps inline (provider internals redacted)","deprecated":null,"version":null,"sidebarTitle":"Get sequence","openapi":"/openapi-v2.yaml get /sequences/{sequenceId}","href":"/agents/reference/get-sequence"},{"title":"Stop a sequence (header stop; sent history preserved)","deprecated":null,"version":null,"sidebarTitle":"Stop sequence","openapi":"/openapi-v2.yaml post /sequences/{sequenceId}/stop","href":"/agents/reference/stop-sequence"},{"title":"Delete a sequence (?force=true, ?dryRun=true)","deprecated":null,"version":null,"sidebarTitle":"Delete sequence","openapi":"/openapi-v2.yaml delete /sequences/{sequenceId}","href":"/agents/reference/delete-sequence"}]},{"group":"Scheduled agents","pages":[{"title":"List scheduled agents (cursor-paginated; filters workspaceId/enabled)","deprecated":null,"version":null,"sidebarTitle":"List scheduled agents","openapi":"/openapi-v2.yaml get /scheduled-agents","href":"/agents/reference/list-scheduled-agents"},{"title":"Create a scheduled agent (disabled by default)","deprecated":null,"version":null,"sidebarTitle":"Create scheduled agent","openapi":"/openapi-v2.yaml post /scheduled-agents","href":"/agents/reference/create-scheduled-agent"},{"title":"Fetch a scheduled agent (+ planBlocked, last run)","deprecated":null,"version":null,"sidebarTitle":"Get scheduled agent","openapi":"/openapi-v2.yaml get /scheduled-agents/{id}","href":"/agents/reference/get-scheduled-agent"},{"title":"Edit a scheduled agent","deprecated":null,"version":null,"sidebarTitle":"Update scheduled agent","openapi":"/openapi-v2.yaml patch /scheduled-agents/{id}","href":"/agents/reference/update-scheduled-agent"},{"title":"Delete a scheduled agent (soft-delete)","deprecated":null,"version":null,"sidebarTitle":"Delete scheduled agent","openapi":"/openapi-v2.yaml delete /scheduled-agents/{id}","href":"/agents/reference/delete-scheduled-agent"},{"title":"Enable a scheduled agent","deprecated":null,"version":null,"sidebarTitle":"Enable scheduled agent","openapi":"/openapi-v2.yaml post /scheduled-agents/{id}/enable","href":"/agents/reference/enable-scheduled-agent"},{"title":"Disable a scheduled agent","deprecated":null,"version":null,"sidebarTitle":"Disable scheduled agent","openapi":"/openapi-v2.yaml post /scheduled-agents/{id}/disable","href":"/agents/reference/disable-scheduled-agent"},{"title":"Manually trigger a run","deprecated":null,"version":null,"sidebarTitle":"Trigger scheduled agent","openapi":"/openapi-v2.yaml post /scheduled-agents/{id}/trigger","href":"/agents/reference/trigger-scheduled-agent"},{"title":"Run history (failed runs carry a workspace-chat handoff)","deprecated":null,"version":null,"sidebarTitle":"List scheduled agent runs","openapi":"/openapi-v2.yaml get /scheduled-agents/{id}/runs","href":"/agents/reference/list-scheduled-agent-runs"}]},{"group":"Account","pages":[{"title":"Org account overview (plan, capabilities, workspace usage)","deprecated":null,"version":null,"sidebarTitle":"Get account","openapi":"/openapi-v2.yaml get /account","href":"/agents/reference/get-account"},{"title":"Credit balance (supersedes v1 GET /credits)","deprecated":null,"version":null,"sidebarTitle":"Get credits","openapi":"/openapi-v2.yaml get /account/credits","href":"/agents/reference/get-credits"}]},{"group":"Legacy aliases","expanded":false,"pages":[{"title":"Legacy alias: delete a workspace (body-confirm protocol)","deprecated":true,"version":null,"sidebarTitle":"Delete workspace legacy","openapi":"/openapi-v2.yaml post /workspaces/{workspaceId}/delete","href":"/agents/reference/delete-workspace-legacy"},{"title":"Legacy alias: upload files (use POST /workspaces/{workspaceId}/documents)","deprecated":true,"version":null,"sidebarTitle":"Upload documents legacy","openapi":"/openapi-v2.yaml post /workspaces/{workspaceId}/uploads","href":"/agents/reference/upload-documents-legacy"},{"title":"Legacy alias: rename a document (use PATCH .../documents/{documentId})","deprecated":true,"version":null,"sidebarTitle":"Rename document legacy","openapi":"/openapi-v2.yaml post /workspaces/{workspaceId}/documents/{documentId}/rename","href":"/agents/reference/rename-document-legacy"},{"title":"Legacy alias: create a campaign (use POST /tables/{tableId}/campaigns)","deprecated":true,"version":null,"sidebarTitle":"Create sequence legacy","openapi":"/openapi-v2.yaml post /tables/{tableId}/sequences","href":"/agents/reference/create-sequence-legacy"},{"title":"Legacy alias: delete a sequence (use DELETE /sequences/{sequenceId})","deprecated":true,"version":null,"sidebarTitle":"Delete sequence legacy","openapi":"/openapi-v2.yaml post /sequences/{sequenceId}/delete","href":"/agents/reference/delete-sequence-legacy"},{"title":"Legacy alias: list enrichment runs (use GET /enrichment-runs)","deprecated":true,"version":null,"sidebarTitle":"List batches","openapi":"/openapi-v2.yaml get /batches","href":"/agents/reference/list-batches"},{"title":"Legacy alias: track an enrichment run (use GET /enrichment-runs/{runId})","deprecated":true,"version":null,"sidebarTitle":"Get batch","openapi":"/openapi-v2.yaml get /batches/{batchId}","href":"/agents/reference/get-batch"}]}]},{"tab":"Webhooks","pages":[{"title":"Webhooks","href":"/webhooks/overview"}]},{"tab":"Deprecated","pages":[{"title":"Deprecated","href":"/api-v2-to-v3-migration"}]}]},"basePath":"","title":"Cancel the agent's currently-active run (idempotent, cooperative) - Origami API","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}