One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.
An API key from your Devic console, sent as Authorization: Bearer <key>. An embedded front end sends a tenant-session token instead, so no API key reaches the browser, and an OAuth integration sends its access token. Missing, invalid or expired credentials get a 401. See Authentication.
A conversation with an assistant: its messages and everything the platform recorded about the run — model, tokens, cost, tags and the memory or compaction events it went through.
Full accounting of the conversation: the model's own tokens and cost, plus what the secondary calls (summarisation, compaction, evaluations) added, broken down by operation.
Long-term-memory recalls of this conversation, each with the facts or entities it surfaced and the messageUid of the message that brought it in, so a client can interleave them with the messages. Only for assistants with memory enabled.
Snapshots of the core-memory block the conversation was given, recorded whenever its revision changed. The block itself is re-rendered into the prompt on every call and never persisted with it. Only for assistants with core memory enabled.
Compaction checkpoints. Each folds the messages before its boundary into a summary plus the identifiers, paths and urls kept verbatim; from then on the model receives the checkpoint instead of those messages, which stay in chatContent. Only the newest one is in force.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Devic Documentation","description":"Turn your SaaS AI-native with Devic. Build, deploy, and operate agents, assistants, MCP tools, RAG, and AI workflows from one platform.","colors":{"primary":"#4764E6","light":"#6F8EFF","dark":"#2C3A8C"},"logo":{"light":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/logo/devic-light.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=ec3c30fed45bb07177168ad49854c2c5","dark":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/logo/devic-dark.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=2b637f4060c2001b87f21305b19a4b9c","href":"https://app.devic.ai/"},"favicon":{"light":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/favicon.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=78aacd249630ae953a05222ef3ca5b69","dark":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/favicon.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=78aacd249630ae953a05222ef3ca5b69"},"navbar":{"links":[{"href":"mailto:info@devic.ai","label":"Support"}],"primary":{"type":"button","label":"Login","href":"https://app.devic.ai/"}},"footer":{"socials":{"x":"https://x.com/devic_ai","github":"https://github.com/devicai","linkedin":"https://www.linkedin.com/company/devicai"}},"integrations":{"ga4":{"measurementId":"G-8K836ZN854"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"background":"https://mintcdn.com/devic/w7qYRbVpXOedcE7E/images/5e60580e-c9b6-41ae-a6e5-984cf4648873.png?fit=max\u0026auto=format\u0026n=w7qYRbVpXOedcE7E\u0026q=85\u0026s=4f2220729f821080ee1ca120071a72a7"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"devic","hasAudioNarration":false,"actualSubdomain":"devic","customDomains":["docs.devic.ai"],"gitSource":{"type":"github","owner":"devicai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aabf34eccf8fcf4f066c745","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"API reference","count":186},{"language":"default","tag":"Devic","count":89},{"language":"default","tag":"Agents","count":48},{"language":"default","tag":"Assistants","count":31},{"language":"default","tag":"Knowledge","count":25},{"language":"default","tag":"Environments","count":18},{"language":"default","tag":"Integrations","count":15},{"language":"default","tag":"Tool Servers","count":14},{"language":"default","tag":"MCPs","count":13},{"language":"default","tag":"Guardrails","count":12}]},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"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":"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":"editor-metadata","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},{"name":"live-agents","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid","slug":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid","pageMetadata":{"title":"Get chat history for a conversation","openapi":"GET /v1/assistants/{identifier}/chats/{chatUid}","description":"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.\"\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":"Get chat history for a conversation","openapi":"GET /v1/assistants/{identifier}/chats/{chatUid}","description":"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Assistants"],"summary":"Get chat history for a conversation","description":"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.","operationId":"getChatHistoryByUid","security":["c92d36bf-7026-4fcb-b734-c8e6e16faf67"],"parameters":["e872e0d9-3753-4c3f-b5ed-a052eb2e587f","32e1e641-ab0c-4f26-b9b2-e9ea1aebe463"],"responses":{"200":"ec27829f-091e-43e4-9b2c-b95128d4ff2a","401":"c62fbf90-0045-489a-8830-9a15ddc1edb6","404":"43b50690-724f-4307-b1c9-7f5d2ee761e7","429":"f51b9a0c-4155-41fe-b73e-c13210b9c93c","500":"2e583b6a-612c-4148-a471-9a8cc1f1f854"},"method":"get","type":"path","servers":["e360797e-985a-42f5-b140-d9e4bd40f85b","5c6b8660-0b3a-4bee-8364-9993adaed626"],"path":"/v1/assistants/{identifier}/chats/{chatUid}","baseUrlOptions":["https://api.devic.ai","https://staging-api.devic.ai"],"title":"Get chat history for a conversation","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"e872e0d9-3753-4c3f-b5ed-a052eb2e587f":{"name":"identifier","in":"path","required":true,"description":"Identifier of the assistant that holds the conversation","schema":{"type":"string","isRequired":true,"description":"Identifier of the assistant that holds the conversation","uniqueKey":"","typeLabel":"string"},"example":"550e8400-e29b-41d4-a716-446655440000"},"32e1e641-ab0c-4f26-b9b2-e9ea1aebe463":{"name":"chatUid","in":"path","required":true,"description":"Identifier of the conversation","schema":{"type":"string","isRequired":true,"description":"Identifier of the conversation","uniqueKey":"","typeLabel":"string"},"example":"550e8400-e29b-41d4-a716-446655440000"}},"responses":{"ec27829f-091e-43e4-9b2c-b95128d4ff2a":{"description":"The conversation","content":{"application/json":{"schema":{"type":"object","description":"A conversation with an assistant: its messages and everything the platform recorded about the run — model, tokens, cost, tags and the memory or compaction events it went through.","properties":{"chatUID":{"type":"string","description":"Unique identifier of the conversation. This is the `chatUid` you send to continue it.","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"chatUID","typeLabel":"string"},"clientUID":{"type":"string","description":"Account the conversation belongs to","example":"f9a44905-3193-4bd2-a81a-71156aa7eb66","uniqueKey":"clientUID","typeLabel":"string"},"userUID":{"type":"string","description":"Identity that opened the conversation","example":"7a735eda-69e7-420b-9507-6abf80ad2e34","uniqueKey":"userUID","typeLabel":"string"},"name":{"oneOf":[{"type":"string","description":"Title of the conversation, when one was given or generated","example":"Solar panel recommendations","uniqueKey":"name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Title of the conversation, when one was given or generated","example":"Solar panel recommendations","uniqueKey":"name.oneOf.1","typeLabel":"null"}],"uniqueKey":"name","typeLabel":"string | null"},"archived":{"type":"boolean","description":"Archived conversations stay readable but are kept out of the default listings","uniqueKey":"archived","typeLabel":"boolean"},"assistantSpecializationIdentifier":{"type":"string","description":"Assistant that holds the conversation","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"assistantSpecializationIdentifier","typeLabel":"string"},"chatContent":{"type":"array","description":"The messages, oldest first. Omitted when the request asked for `omitContent=true`.","items":{"type":"object","description":"A single message of a conversation, as the platform stored it.","properties":{"uid":{"type":"string","description":"Unique message id","example":"75ecbcfc-a3be-43ba-8da6-b3e16e8d7280","uniqueKey":"chatContent.items.[INDEX].uid","typeLabel":"string"},"chatUid":{"type":"string","description":"Conversation this message belongs to","example":"550e8400-e29b-41d4-a716-446655440000","uniqueKey":"chatContent.items.[INDEX].chatUid","typeLabel":"string"},"role":{"type":"string","enum":["user","assistant","developer","tool"],"description":"Who the message is from. `developer` messages are the ones the platform injects (current date, injected context) and can be ignored by most clients.","uniqueKey":"chatContent.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"type":"object","description":"Body of the message.","properties":{"message":{"type":"string","description":"The text. This is the field to render.","example":"I would recommend a 450 W monocrystalline panel.","uniqueKey":"chatContent.items.[INDEX].content.message","typeLabel":"string"},"data":{"type":"object","additionalProperties":true,"description":"Structured payload, when the assistant is configured with a structured output.","uniqueKey":"chatContent.items.[INDEX].content.data","typeLabel":"object"},"files":{"type":"array","description":"Files carried by the message, echoed in the same shape they were sent in.","items":{"type":"object","properties":{"name":{"type":"string","example":"invoice.pdf","uniqueKey":"chatContent.items.[INDEX].content.files.items.[INDEX].name","typeLabel":"string"},"donwloadUrl":{"type":"string","example":"https://files.devic.ai/uploads/invoice.pdf","uniqueKey":"chatContent.items.[INDEX].content.files.items.[INDEX].donwloadUrl","typeLabel":"string"},"fileType":{"type":"string","enum":["IMAGE","DOCUMENT","VIDEO","AUDIO","ELECTRICITY_BILL","OTHER"],"example":"DOCUMENT","uniqueKey":"chatContent.items.[INDEX].content.files.items.[INDEX].fileType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"chatContent.items.[INDEX].content.files.items.[INDEX]","typeLabel":"object"},"uniqueKey":"chatContent.items.[INDEX].content.files","typeLabel":"object[]"}},"uniqueKey":"chatContent.items.[INDEX].content","typeLabel":"object"},"timestamp":{"type":"number","description":"Unix timestamp in milliseconds","example":1706000000000,"uniqueKey":"chatContent.items.[INDEX].timestamp","typeLabel":"number"},"userUID":{"type":"string","description":"Identity the message was written under","example":"api-key:42","uniqueKey":"chatContent.items.[INDEX].userUID","typeLabel":"string"},"summary":{"type":"string","description":"Short AI-generated summary of the message, unless summarisation was skipped","example":"The user asks which panels to install on a 60 m2 roof.","uniqueKey":"chatContent.items.[INDEX].summary","typeLabel":"string"},"contentSource":{"type":"string","description":"Where `content.message` came from when the model did not write it. `finish_tool` means the reply was taken from the finish tool's `message` argument, so it can be read without parsing tool calls. Absent on messages the model wrote itself.","example":"finish_tool","uniqueKey":"chatContent.items.[INDEX].contentSource","typeLabel":"string"},"tool_calls":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"call_abc123","description":"Unique tool call ID","isRequired":true,"uniqueKey":"chatContent.items.[INDEX].tool_calls.items.[INDEX].id","typeLabel":"string"},"type":{"type":"string","example":"function","description":"Tool call type","isRequired":true,"uniqueKey":"chatContent.items.[INDEX].tool_calls.items.[INDEX].type","typeLabel":"string"},"function":{"type":"object","description":"Function call details","example":{"name":"get_user_location","arguments":"{}"},"isRequired":true,"uniqueKey":"chatContent.items.[INDEX].tool_calls.items.[INDEX].function","typeLabel":"object"}},"required":["id","type","function"],"uniqueKey":"chatContent.items.[INDEX].tool_calls.items.[INDEX]","typeLabel":"object"},"description":"Tool calls the assistant made on this message","uniqueKey":"chatContent.items.[INDEX].tool_calls","typeLabel":"object[]"},"tool_call_id":{"type":"string","description":"On `tool` messages, the call this message answers","example":"call_abc123","uniqueKey":"chatContent.items.[INDEX].tool_call_id","typeLabel":"string"},"latencyMs":{"type":"number","description":"How long the model or the tool took, in milliseconds","example":1045,"uniqueKey":"chatContent.items.[INDEX].latencyMs","typeLabel":"number"},"messageTokenUsage":{"type":"object","description":"Tokens this message accounted for","properties":{"inputTokens":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.inputTokens","typeLabel":"number"},"outputTokens":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.outputTokens","typeLabel":"number"},"inputCachedTokens":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.inputCachedTokens","typeLabel":"number"},"inputCacheWriteTokens":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.inputCacheWriteTokens","typeLabel":"number"},"outputCachedTokens":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.outputCachedTokens","typeLabel":"number"},"reasoningOutputTokens":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.reasoningOutputTokens","typeLabel":"number"},"totalTokens":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.totalTokens","typeLabel":"number"},"provider":{"type":"string","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.provider","typeLabel":"string"},"model":{"type":"string","uniqueKey":"chatContent.items.[INDEX].messageTokenUsage.model","typeLabel":"string"}},"uniqueKey":"chatContent.items.[INDEX].messageTokenUsage","typeLabel":"object"},"messageCost":{"type":"object","description":"What this message cost, at the pricing in force when it ran","properties":{"inputCost":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.inputCost","typeLabel":"number"},"outputCost":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.outputCost","typeLabel":"number"},"inputCachedCost":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.inputCachedCost","typeLabel":"number"},"inputCacheWriteCost":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.inputCacheWriteCost","typeLabel":"number"},"outputCachedCost":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.outputCachedCost","typeLabel":"number"},"reasoningOutputCost":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.reasoningOutputCost","typeLabel":"number"},"totalCost":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.totalCost","typeLabel":"number"},"currency":{"type":"string","example":"USD","uniqueKey":"chatContent.items.[INDEX].messageCost.currency","typeLabel":"string"},"calculatedAt":{"type":"number","uniqueKey":"chatContent.items.[INDEX].messageCost.calculatedAt","typeLabel":"number"}},"uniqueKey":"chatContent.items.[INDEX].messageCost","typeLabel":"object"}},"uniqueKey":"chatContent.items.[INDEX]","typeLabel":"object"},"uniqueKey":"chatContent","typeLabel":"object[]"},"creationTimestampMs":{"type":"number","description":"When the conversation was created, Unix milliseconds","example":1789630543006,"uniqueKey":"creationTimestampMs","typeLabel":"number"},"lastEditTimestampMs":{"type":"number","description":"When it last changed, Unix milliseconds","example":1789630572077,"uniqueKey":"lastEditTimestampMs","typeLabel":"number"},"llm":{"type":"string","description":"Model that answered","example":"gpt-4.1","uniqueKey":"llm","typeLabel":"string"},"provider":{"type":"string","description":"Provider of that model","example":"open-ai","uniqueKey":"provider","typeLabel":"string"},"contextWindow":{"type":"number","description":"Context capacity of the model in tokens. Absent for models the platform does not know the capacity of.","example":1050000,"uniqueKey":"contextWindow","typeLabel":"number"},"inputTokens":{"type":"number","description":"Input tokens of the whole conversation","example":6380,"uniqueKey":"inputTokens","typeLabel":"number"},"outputTokens":{"type":"number","description":"Output tokens of the whole conversation","example":372,"uniqueKey":"outputTokens","typeLabel":"number"},"tokenUsage":{"type":"object","additionalProperties":true,"description":"Full accounting of the conversation: the model's own tokens and cost, plus what the secondary calls (summarisation, compaction, evaluations) added, broken down by operation.","properties":{"model":{"type":"string","uniqueKey":"tokenUsage.model","typeLabel":"string"},"provider":{"type":"string","uniqueKey":"tokenUsage.provider","typeLabel":"string"},"inputTokens":{"type":"number","uniqueKey":"tokenUsage.inputTokens","typeLabel":"number"},"outputTokens":{"type":"number","uniqueKey":"tokenUsage.outputTokens","typeLabel":"number"},"inputCachedTokens":{"type":"number","uniqueKey":"tokenUsage.inputCachedTokens","typeLabel":"number"},"inputCacheWriteTokens":{"type":"number","uniqueKey":"tokenUsage.inputCacheWriteTokens","typeLabel":"number"},"outputCachedTokens":{"type":"number","uniqueKey":"tokenUsage.outputCachedTokens","typeLabel":"number"},"reasoningOutputTokens":{"type":"number","uniqueKey":"tokenUsage.reasoningOutputTokens","typeLabel":"number"},"totalCachedTokens":{"type":"number","uniqueKey":"tokenUsage.totalCachedTokens","typeLabel":"number"},"cost":{"type":"object","properties":{"inputCost":{"type":"number","uniqueKey":"tokenUsage.cost.inputCost","typeLabel":"number"},"outputCost":{"type":"number","uniqueKey":"tokenUsage.cost.outputCost","typeLabel":"number"},"inputCachedCost":{"type":"number","uniqueKey":"tokenUsage.cost.inputCachedCost","typeLabel":"number"},"inputCacheWriteCost":{"type":"number","uniqueKey":"tokenUsage.cost.inputCacheWriteCost","typeLabel":"number"},"outputCachedCost":{"type":"number","uniqueKey":"tokenUsage.cost.outputCachedCost","typeLabel":"number"},"reasoningOutputCost":{"type":"number","uniqueKey":"tokenUsage.cost.reasoningOutputCost","typeLabel":"number"},"totalCost":{"type":"number","uniqueKey":"tokenUsage.cost.totalCost","typeLabel":"number"}},"uniqueKey":"tokenUsage.cost","typeLabel":"object"},"secondaryCost":{"type":"number","description":"What the secondary calls cost in total","uniqueKey":"tokenUsage.secondaryCost","typeLabel":"number"},"secondaryInputTokens":{"type":"number","uniqueKey":"tokenUsage.secondaryInputTokens","typeLabel":"number"},"secondaryOutputTokens":{"type":"number","uniqueKey":"tokenUsage.secondaryOutputTokens","typeLabel":"number"},"secondaryByOperation":{"type":"object","additionalProperties":true,"description":"The same figures per operation, keyed by operation name (`summarization`, `compaction`, ...)","uniqueKey":"tokenUsage.secondaryByOperation","typeLabel":"object"},"pricingTimestamp":{"type":"number","uniqueKey":"tokenUsage.pricingTimestamp","typeLabel":"number"}},"uniqueKey":"tokenUsage","typeLabel":"object"},"metadata":{"oneOf":[{"type":"object","additionalProperties":true,"description":"The metadata the conversation was opened with, including the canonical `subtenantId`","uniqueKey":"metadata.oneOf.0","typeLabel":"object"},{"type":"null","additionalProperties":true,"description":"The metadata the conversation was opened with, including the canonical `subtenantId`","uniqueKey":"metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"metadata","typeLabel":"object | null"},"tenantId":{"oneOf":[{"type":"string","description":"Tenant the conversation is attributed to, in multi-tenant setups","example":"tenant_12345","uniqueKey":"tenantId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Tenant the conversation is attributed to, in multi-tenant setups","example":"tenant_12345","uniqueKey":"tenantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"tenantId","typeLabel":"string | null"},"tags":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"tags.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Tags stored on the conversation","example":["support","onboarding"],"uniqueKey":"tags.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Tags stored on the conversation","example":["support","onboarding"],"uniqueKey":"tags.oneOf.1","typeLabel":"null"}],"uniqueKey":"tags","typeLabel":"string[] | null"},"stopReason":{"type":"string","description":"Why the platform stopped the conversation, when it did (`max_chat_messages_reached`, `error`, ...)","example":"max_chat_messages_reached","uniqueKey":"stopReason","typeLabel":"string"},"triggerSource":{"type":"object","additionalProperties":true,"description":"Set when an app-integration trigger opened the conversation instead of a person","uniqueKey":"triggerSource","typeLabel":"object"},"guardrailResults":{"type":"object","additionalProperties":true,"description":"What the guardrails decided on this conversation","uniqueKey":"guardrailResults","typeLabel":"object"},"handedOff":{"type":"boolean","description":"The conversation is paused waiting for a subagent to finish","uniqueKey":"handedOff","typeLabel":"boolean"},"handedOffSubThreadId":{"type":"string","description":"Thread of the subagent it is waiting on","example":"64f5a5b8c123456789abcdef","uniqueKey":"handedOffSubThreadId","typeLabel":"string"},"pausedUntil":{"type":"number","description":"When a self-paused assistant resumes, Unix milliseconds","uniqueKey":"pausedUntil","typeLabel":"number"},"pausedReason":{"type":"string","description":"Reason the assistant gave for pausing","uniqueKey":"pausedReason","typeLabel":"string"},"recalledMemories":{"type":"array","description":"Long-term-memory recalls of this conversation, each with the facts or entities it surfaced and the `messageUid` of the message that brought it in, so a client can interleave them with the messages. Only for assistants with memory enabled.","items":{"type":"object","additionalProperties":true,"uniqueKey":"recalledMemories.items.[INDEX]","typeLabel":"object"},"uniqueKey":"recalledMemories","typeLabel":"object[]"},"coreMemories":{"type":"array","description":"Snapshots of the core-memory block the conversation was given, recorded whenever its revision changed. The block itself is re-rendered into the prompt on every call and never persisted with it. Only for assistants with core memory enabled.","items":{"type":"object","additionalProperties":true,"uniqueKey":"coreMemories.items.[INDEX]","typeLabel":"object"},"uniqueKey":"coreMemories","typeLabel":"object[]"},"compactions":{"type":"array","description":"Compaction checkpoints. Each folds the messages before its boundary into a summary plus the identifiers, paths and urls kept verbatim; from then on the model receives the checkpoint instead of those messages, which stay in `chatContent`. Only the newest one is in force.","items":{"type":"object","additionalProperties":true,"uniqueKey":"compactions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"compactions","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"chatUID":"550e8400-e29b-41d4-a716-446655440000","clientUID":"f9a44905-3193-4bd2-a81a-71156aa7eb66","userUID":"7a735eda-69e7-420b-9507-6abf80ad2e34","name":"Solar panel recommendations","archived":true,"assistantSpecializationIdentifier":"550e8400-e29b-41d4-a716-446655440000","chatContent":[{"uid":"75ecbcfc-a3be-43ba-8da6-b3e16e8d7280","chatUid":"550e8400-e29b-41d4-a716-446655440000","role":"user","content":{"message":"I would recommend a 450 W monocrystalline panel.","data":{},"files":[{"name":"invoice.pdf","donwloadUrl":"https://files.devic.ai/uploads/invoice.pdf","fileType":"DOCUMENT"}]},"timestamp":1706000000000,"userUID":"api-key:42","summary":"The user asks which panels to install on a 60 m2 roof.","contentSource":"finish_tool","tool_calls":[{"id":"call_abc123","type":"function","function":{"name":"get_user_location","arguments":"{}"}}],"tool_call_id":"call_abc123","latencyMs":1045,"messageTokenUsage":{"inputTokens":123,"outputTokens":123,"inputCachedTokens":123,"inputCacheWriteTokens":123,"outputCachedTokens":123,"reasoningOutputTokens":123,"totalTokens":123,"provider":"\u003cstring>","model":"\u003cstring>"},"messageCost":{"inputCost":123,"outputCost":123,"inputCachedCost":123,"inputCacheWriteCost":123,"outputCachedCost":123,"reasoningOutputCost":123,"totalCost":123,"currency":"USD","calculatedAt":123}}],"creationTimestampMs":1789630543006,"lastEditTimestampMs":1789630572077,"llm":"gpt-4.1","provider":"open-ai","contextWindow":1050000,"inputTokens":6380,"outputTokens":372,"tokenUsage":{"model":"\u003cstring>","provider":"\u003cstring>","inputTokens":123,"outputTokens":123,"inputCachedTokens":123,"inputCacheWriteTokens":123,"outputCachedTokens":123,"reasoningOutputTokens":123,"totalCachedTokens":123,"cost":{"inputCost":123,"outputCost":123,"inputCachedCost":123,"inputCacheWriteCost":123,"outputCachedCost":123,"reasoningOutputCost":123,"totalCost":123},"secondaryCost":123,"secondaryInputTokens":123,"secondaryOutputTokens":123,"secondaryByOperation":{},"pricingTimestamp":123},"metadata":{},"tenantId":"tenant_12345","tags":["support","onboarding"],"stopReason":"max_chat_messages_reached","triggerSource":{},"guardrailResults":{},"handedOff":true,"handedOffSubThreadId":"64f5a5b8c123456789abcdef","pausedUntil":123,"pausedReason":"\u003cstring>","recalledMemories":[{}],"coreMemories":[{}],"compactions":[{}]}}},"exampleType":"generated"}},"exampleType":"generated"},"c62fbf90-0045-489a-8830-9a15ddc1edb6":{"description":"Unauthorized - Invalid or missing token","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"43b50690-724f-4307-b1c9-7f5d2ee761e7":{"description":"Chat or assistant specialization not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"f51b9a0c-4155-41fe-b73e-c13210b9c93c":{"description":"Too Many Requests - Rate limit exceeded","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"2e583b6a-612c-4148-a471-9a8cc1f1f854":{"description":"Internal Server Error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"c92d36bf-7026-4fcb-b734-c8e6e16faf67":{"bearerAuth":{"type":"http","scheme":"bearer","description":"An API key from your Devic console, sent as `Authorization: Bearer \u003ckey>`. An embedded front end sends a tenant-session token instead, so no API key reaches the browser, and an OAuth integration sends its access token. Missing, invalid or expired credentials get a `401`. See [Authentication](/api-reference/introduction#authentication).","scopes":[]}}},"servers":{"e360797e-985a-42f5-b140-d9e4bd40f85b":{"url":"https://api.devic.ai","description":"Production server"},"5c6b8660-0b3a-4bee-8364-9993adaed626":{"url":"https://staging-api.devic.ai","description":"Staging server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key from your Devic console, sent as `Authorization: Bearer \u003ckey>`. An embedded front end sends a tenant-session token instead, so no API key reaches the browser, and an OAuth integration sends its access token. Missing, invalid or expired credentials get a `401`. See [Authentication](/api-reference/introduction#authentication).","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key from your Devic console, sent as `Authorization: Bearer \u003ckey>`. An embedded front end sends a tenant-session token instead, so no API key reaches the browser, and an OAuth integration sends its access token. Missing, invalid or expired credentials get a `401`. See [Authentication](/api-reference/introduction#authentication).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"devic","siteName":"Devic Documentation","title":"Get chat history for a conversation - Devic Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-17T08:58:41.007Z","originalFileLocation":"api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid.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=\"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Devic Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get chat history for a conversation - Devic Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Devic Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://devic.mintlify.site/_mintlify/api/og/v2?division=Assistants\u0026amp;title=Get+chat+history+for+a+conversation\u0026amp;description=One+conversation+with+all+its+messages%2C+plus+the+model%2C+tokens%2C+cost+and+the+memory+or+compaction+events+it+went+through.+404+when+the+conversation+does+not+exi\u0026amp;theme=95b260005b3b0c5cfb2d00ae\u0026amp;signature=44cfe3f0ab22c162473cebeeacadd84ed8adef18abbf92247d34a2761c07952d\">\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=\"Get chat history for a conversation - Devic Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://devic.mintlify.site/_mintlify/api/og/v2?division=Assistants\u0026amp;title=Get+chat+history+for+a+conversation\u0026amp;description=One+conversation+with+all+its+messages%2C+plus+the+model%2C+tokens%2C+cost+and+the+memory+or+compaction+events+it+went+through.+404+when+the+conversation+does+not+exi\u0026amp;theme=95b260005b3b0c5cfb2d00ae\u0026amp;signature=44cfe3f0ab22c162473cebeeacadd84ed8adef18abbf92247d34a2761c07952d\">\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/devic/oZEAyyhd9yq0DCvd/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Devic Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4764E6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.devic.ai/#organization\",\"name\":\"Devic Documentation\",\"url\":\"https://docs.devic.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/devic/gabzi_FqrplBFOjV/logo/devic-light.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=ec3c30fed45bb07177168ad49854c2c5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.devic.ai#website\",\"name\":\"Devic Documentation\",\"url\":\"https://docs.devic.ai\",\"publisher\":{\"@id\":\"https://docs.devic.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid#webpage\",\"url\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid\",\"name\":\"Get chat history for a conversation\",\"description\":\"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.\",\"dateModified\":\"2026-09-17T08:58:41.007Z\",\"isPartOf\":{\"@id\":\"https://docs.devic.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Assistants\",\"item\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get chat history for a conversation\",\"item\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid#apireference\",\"headline\":\"Get chat history for a conversation\",\"name\":\"Get chat history for a conversation\",\"description\":\"One conversation with all its messages, plus the model, tokens, cost and the memory or compaction events it went through. 404 when the conversation does not exist or belongs to another assistant.\",\"url\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid\",\"mainEntityOfPage\":{\"@id\":\"https://docs.devic.ai/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid#webpage\"},\"dateModified\":\"2026-09-17T08:58:41.007Z\",\"publisher\":{\"@id\":\"https://docs.devic.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.devic.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Devic Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Devic Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid.md","siteName":"Devic Documentation","nav":{"global":null,"tabs":[{"tab":"Devic","pages":[{"title":"Devic","href":"/devic/introduction"}]},{"tab":"API reference","groups":[{"group":"Introduction","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"Agents","pages":[{"title":"List all agents","openapi":"GET /v1/agents","href":"/api-reference/endpoint/get-api-v1-agents"},{"title":"Create a new agent","openapi":"POST /v1/agents","href":"/api-reference/endpoint/post-api-v1-agents"},{"title":"Get agent by ID","openapi":"GET /v1/agents/{agentId}","href":"/api-reference/endpoint/get-api-v1-agents-agentid"},{"title":"Update an agent","openapi":"PATCH /v1/agents/{agentId}","href":"/api-reference/endpoint/patch-api-v1-agents-agentid"},{"title":"Delete an agent","openapi":"DELETE /v1/agents/{agentId}","href":"/api-reference/endpoint/delete-api-v1-agents-agentid"},{"title":"Get unique tags from all agent threads","openapi":"GET /v1/agents/threads/tags","href":"/api-reference/endpoint/get-api-v1-agents-threads-tags"},{"title":"Get a specific thread by ID","openapi":"GET /v1/agents/threads/{threadId}","href":"/api-reference/endpoint/get-api-v1-agents-threads-threadid"},{"title":"Update a thread","openapi":"PATCH /v1/agents/threads/{threadId}","href":"/api-reference/endpoint/patch-api-v1-agents-threads-threadid"},{"title":"Get threads for an agent","openapi":"GET /v1/agents/{agentId}/threads","href":"/api-reference/endpoint/get-api-v1-agents-agentid-threads"},{"title":"Create a new thread for an agent","openapi":"POST /v1/agents/{agentId}/threads","href":"/api-reference/endpoint/post-api-v1-agents-agentid-threads"},{"title":"Get agent evaluation configuration","openapi":"GET /v1/agents/agents/{agentId}/evaluation-config","href":"/api-reference/endpoint/get-api-v1-agents-agents-agentid-evaluation-config"},{"title":"Update agent evaluation configuration","openapi":"PUT /v1/agents/agents/{agentId}/evaluation-config","href":"/api-reference/endpoint/put-api-v1-agents-agents-agentid-evaluation-config"},{"title":"Handle thread approval request","openapi":"POST /v1/agents/threads/{threadId}/approval","href":"/api-reference/endpoint/post-api-v1-agents-threads-threadid-approval"},{"title":"Complete a thread","openapi":"POST /v1/agents/threads/{threadId}/complete","href":"/api-reference/endpoint/post-api-v1-agents-threads-threadid-complete"},{"title":"Evaluate a thread","openapi":"POST /v1/agents/threads/{threadId}/evaluate","href":"/api-reference/endpoint/post-api-v1-agents-threads-threadid-evaluate"},{"title":"Get thread evaluation","openapi":"GET /v1/agents/threads/{threadId}/evaluation","href":"/api-reference/endpoint/get-api-v1-agents-threads-threadid-evaluation"},{"title":"Get all thread evaluations","openapi":"GET /v1/agents/threads/{threadId}/evaluations","href":"/api-reference/endpoint/get-api-v1-agents-threads-threadid-evaluations"},{"title":"Get feedback for a thread","openapi":"GET /v1/agents/threads/{threadId}/feedback","href":"/api-reference/endpoint/get-api-v1-agents-threads-threadid-feedback"},{"title":"Submit feedback for a thread message","openapi":"POST /v1/agents/threads/{threadId}/feedback","href":"/api-reference/endpoint/post-api-v1-agents-threads-threadid-feedback"},{"title":"Continue a thread with a user message","openapi":"POST /v1/agents/threads/{threadId}/messages","href":"/api-reference/endpoint/post-api-v1-agents-threads-threadid-messages"},{"title":"Pause a thread","openapi":"POST /v1/agents/threads/{threadId}/pause","href":"/api-reference/endpoint/post-api-v1-agents-threads-threadid-pause"},{"title":"Resume a thread","openapi":"POST /v1/agents/threads/{threadId}/resume","href":"/api-reference/endpoint/post-api-v1-agents-threads-threadid-resume"},{"title":"Search messages within a thread","openapi":"GET /v1/agents/threads/{threadId}/search","href":"/api-reference/endpoint/get-api-v1-agents-threads-threadid-search"},{"title":"Get daily costs for an agent","openapi":"GET /v1/agents/agents/{agentId}/costs/daily","href":"/api-reference/endpoint/get-api-v1-agents-agents-agentid-costs-daily"},{"title":"Get monthly costs for an agent","openapi":"GET /v1/agents/agents/{agentId}/costs/monthly","href":"/api-reference/endpoint/get-api-v1-agents-agents-agentid-costs-monthly"},{"title":"Get cost summary for an agent","openapi":"GET /v1/agents/agents/{agentId}/costs/summary","href":"/api-reference/endpoint/get-api-v1-agents-agents-agentid-costs-summary"},{"title":"Get unique tags from agent threads","openapi":"GET /v1/agents/agents/{agentId}/threads/tags","href":"/api-reference/endpoint/get-api-v1-agents-agents-agentid-threads-tags"},{"title":"Get specific thread evaluation by ID","openapi":"GET /v1/agents/threads/{threadId}/evaluations/{evaluationId}","href":"/api-reference/endpoint/get-api-v1-agents-threads-threadid-evaluations-evaluationid"}]},{"group":"Assistants","pages":[{"title":"Get all available assistant specializations","openapi":"GET /v1/assistants","href":"/api-reference/endpoint/get-api-v1-assistants"},{"title":"Create a new assistant","openapi":"POST /v1/assistants","href":"/api-reference/endpoint/post-api-v1-assistants"},{"title":"Get all chat histories with filters","openapi":"POST /v1/assistants/chats","href":"/api-reference/endpoint/post-api-v1-assistants-chats"},{"title":"Get unique tags from chat histories","openapi":"GET /v1/assistants/tags","href":"/api-reference/endpoint/get-api-v1-assistants-tags"},{"title":"Get a specific assistant specialization","openapi":"GET /v1/assistants/{identifier}","href":"/api-reference/endpoint/get-api-v1-assistants-identifier"},{"title":"Update an assistant","openapi":"PATCH /v1/assistants/{identifier}","href":"/api-reference/endpoint/patch-api-v1-assistants-identifier"},{"title":"Delete an assistant","openapi":"DELETE /v1/assistants/{identifier}","href":"/api-reference/endpoint/delete-api-v1-assistants-identifier"},{"title":"Get chat histories for an assistant","openapi":"GET /v1/assistants/{identifier}/chats","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats"},{"title":"Process a message with an assistant","openapi":"POST /v1/assistants/{identifier}/messages","description":"Sends one user message to an assistant and returns the turn it produced. Pass `chatUid` to continue a conversation; leave it out to start one and keep the id that comes back.\n\n**Synchronous (default).** The request is held until the assistant finishes and the response is the array of messages the turn produced — the user message, any tool messages, and the assistant reply — in chronological order. The reply is the last element, and its text is in `content.message`.\n\n**Asynchronous (`?async=true`).** The response is an acknowledgement with the `chatUid` and nothing else. Follow the run with the realtime endpoint (polling) or the stream endpoint (server-sent events).\n\n**Queueing.** An async send that cannot start a run right away is queued on the conversation instead: the acknowledgement carries `queued: true` and `willProcess`. Reading `queuedMessages` from the realtime endpoint tells you whether anything is still waiting. Sending while the conversation is busy requires `messageQueueEnabled` on the assistant; without it the send is rejected with `409 CHAT_BUSY`, and past `maxQueuedMessages` (50 by default) further sends are rejected with 409 too.\n\n**Payload-template mode (`messageTemplate`).** Lets a third-party webhook, whose body shape you do not control, point straight at this endpoint: the body is then treated as an opaque payload and the message text is rendered from the template.","href":"/api-reference/endpoint/post-api-v1-assistants-identifier-messages"},{"title":"Get chat history for a conversation","openapi":"GET /v1/assistants/{identifier}/chats/{chatUid}","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid"},{"title":"Get feedback for a chat","openapi":"GET /v1/assistants/{identifier}/chats/{chatUid}/feedback","description":"Retrieves all feedback entries for a specific chat conversation.","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid-feedback"},{"title":"Submit feedback for a chat message","openapi":"POST /v1/assistants/{identifier}/chats/{chatUid}/feedback","href":"/api-reference/endpoint/post-api-v1-assistants-identifier-chats-chatuid-feedback"},{"title":"Search messages within a chat","openapi":"GET /v1/assistants/{identifier}/chats/{chatUid}/search","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid-search"},{"title":"Stop an in-progress async chat","openapi":"POST /v1/assistants/{identifier}/chats/{chatUid}/stop","href":"/api-reference/endpoint/post-api-v1-assistants-identifier-chats-chatuid-stop"},{"title":"Submit tool responses (Model Interface Protocol)","openapi":"POST /v1/assistants/{identifier}/chats/{chatUid}/tool-response","href":"/api-reference/endpoint/post-api-v1-assistants-identifier-chats-chatuid-tool-response"},{"title":"Get real-time chat history","openapi":"GET /v1/assistants/{identifier}/chats/{chatUid}/realtime","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid-realtime"},{"title":"Follow real-time chat history (SSE)","openapi":"GET /v1/assistants/{identifier}/chats/{chatUid}/stream","href":"/api-reference/endpoint/get-api-v1-assistants-identifier-chats-chatuid-stream"}]},{"group":"Memory","pages":[{"title":"Core memory entries of the assistant’s bucket","openapi":"GET /v1/memory/assistants/{identifier}/core","href":"/api-reference/endpoint/get-api-v1-memory-assistants-identifier-core"},{"title":"Add a core memory entry","openapi":"POST /v1/memory/assistants/{identifier}/core","href":"/api-reference/endpoint/post-api-v1-memory-assistants-identifier-core"},{"title":"Edit a core memory entry","openapi":"PATCH /v1/memory/assistants/{identifier}/core/{entryId}","href":"/api-reference/endpoint/patch-api-v1-memory-assistants-identifier-core-entryid"},{"title":"Remove a core memory entry","openapi":"DELETE /v1/memory/assistants/{identifier}/core/{entryId}","href":"/api-reference/endpoint/delete-api-v1-memory-assistants-identifier-core-entryid"}]},{"group":"Tool Servers","pages":[{"title":"List all tool servers","openapi":"GET /v1/tool-servers","href":"/api-reference/endpoint/get-api-v1-tool-servers"},{"title":"Create a new tool server","openapi":"POST /v1/tool-servers","href":"/api-reference/endpoint/post-api-v1-tool-servers"},{"title":"Get tool server by ID","openapi":"GET /v1/tool-servers/{toolServerId}","href":"/api-reference/endpoint/get-api-v1-tool-servers-toolserverid"},{"title":"Update tool server","openapi":"PATCH /v1/tool-servers/{toolServerId}","href":"/api-reference/endpoint/patch-api-v1-tool-servers-toolserverid"},{"title":"Delete tool server","openapi":"DELETE /v1/tool-servers/{toolServerId}","href":"/api-reference/endpoint/delete-api-v1-tool-servers-toolserverid"},{"title":"Clone a tool server","openapi":"POST /v1/tool-servers/{toolServerId}/clone","href":"/api-reference/endpoint/post-api-v1-tool-servers-toolserverid-clone"},{"title":"Get tool server definition","openapi":"GET /v1/tool-servers/{toolServerId}/definition","href":"/api-reference/endpoint/get-api-v1-tool-servers-toolserverid-definition"},{"title":"Update tool server definition","openapi":"PATCH /v1/tool-servers/{toolServerId}/definition","href":"/api-reference/endpoint/patch-api-v1-tool-servers-toolserverid-definition"},{"title":"Get all tools in a tool server","openapi":"GET /v1/tool-servers/{toolServerId}/tools","href":"/api-reference/endpoint/get-api-v1-tool-servers-toolserverid-tools"},{"title":"Add a tool to a tool server","openapi":"POST /v1/tool-servers/{toolServerId}/tools","href":"/api-reference/endpoint/post-api-v1-tool-servers-toolserverid-tools"},{"title":"Get a specific tool by name","openapi":"GET /v1/tool-servers/{toolServerId}/tools/{toolName}","href":"/api-reference/endpoint/get-api-v1-tool-servers-toolserverid-tools-toolname"},{"title":"Update a tool by name","openapi":"PATCH /v1/tool-servers/{toolServerId}/tools/{toolName}","href":"/api-reference/endpoint/patch-api-v1-tool-servers-toolserverid-tools-toolname"},{"title":"Delete a tool by name","openapi":"DELETE /v1/tool-servers/{toolServerId}/tools/{toolName}","href":"/api-reference/endpoint/delete-api-v1-tool-servers-toolserverid-tools-toolname"},{"title":"Test a tool call","openapi":"POST /v1/tool-servers/{toolServerId}/tools/{toolName}/test","href":"/api-reference/endpoint/post-api-v1-tool-servers-toolserverid-tools-toolname-test"}]},{"group":"MCP Gateway","pages":[{"title":"List visibility profiles","openapi":"GET /v1/tool-servers/{toolServerId}/profiles","href":"/api-reference/endpoint/get-api-v1-tool-servers-toolserverid-profiles"},{"title":"Create a visibility profile","openapi":"POST /v1/tool-servers/{toolServerId}/profiles","href":"/api-reference/endpoint/post-api-v1-tool-servers-toolserverid-profiles"},{"title":"List per-user access","openapi":"GET /v1/tool-servers/{toolServerId}/users","href":"/api-reference/endpoint/get-api-v1-tool-servers-toolserverid-users"},{"title":"Update a visibility profile","openapi":"PATCH /v1/tool-servers/{toolServerId}/profiles/{profileId}","href":"/api-reference/endpoint/patch-api-v1-tool-servers-toolserverid-profiles-profileid"},{"title":"Delete a visibility profile","openapi":"DELETE /v1/tool-servers/{toolServerId}/profiles/{profileId}","href":"/api-reference/endpoint/delete-api-v1-tool-servers-toolserverid-profiles-profileid"},{"title":"Set a user’s access and visibility","openapi":"PATCH /v1/tool-servers/{toolServerId}/users/{userUID}","href":"/api-reference/endpoint/patch-api-v1-tool-servers-toolserverid-users-useruid"},{"title":"Remove a user’s access row","openapi":"DELETE /v1/tool-servers/{toolServerId}/users/{userUID}","href":"/api-reference/endpoint/delete-api-v1-tool-servers-toolserverid-users-useruid"}]},{"group":"Integrations","pages":[{"title":"List connectable apps","openapi":"GET /v1/integrations","href":"/api-reference/endpoint/get-api-v1-integrations"},{"title":"List connected integrations","openapi":"GET /v1/integrations/connected","href":"/api-reference/endpoint/get-api-v1-integrations-connected"},{"title":"Get a connectable app","openapi":"GET /v1/integrations/{app}","href":"/api-reference/endpoint/get-api-v1-integrations-app"},{"title":"How an app can be connected","openapi":"GET /v1/integrations/{app}/auth","href":"/api-reference/endpoint/get-api-v1-integrations-app-auth"},{"title":"Connect an account","openapi":"POST /v1/integrations/{app}/connect","href":"/api-reference/endpoint/post-api-v1-integrations-app-connect"},{"title":"Whether an account is connected","openapi":"GET /v1/integrations/{app}/connection-status","href":"/api-reference/endpoint/get-api-v1-integrations-app-connection-status"},{"title":"Build a tool server from a connected account","openapi":"POST /v1/integrations/{app}/servers","href":"/api-reference/endpoint/post-api-v1-integrations-app-servers"},{"title":"List an app’s event types","openapi":"GET /v1/integrations/{app}/triggers","href":"/api-reference/endpoint/get-api-v1-integrations-app-triggers"},{"title":"List a connected integration’s tools","openapi":"GET /v1/integrations/servers/{id}/tools","href":"/api-reference/endpoint/get-api-v1-integrations-servers-id-tools"},{"title":"Change which tools a connected integration exposes","openapi":"PATCH /v1/integrations/servers/{id}/tools","href":"/api-reference/endpoint/patch-api-v1-integrations-servers-id-tools"},{"title":"Get an event type","openapi":"GET /v1/integrations/{app}/triggers/{slug}","href":"/api-reference/endpoint/get-api-v1-integrations-app-triggers-slug"},{"title":"Test one of a connected integration’s tools","openapi":"POST /v1/integrations/servers/{id}/tools/{toolName}/test","href":"/api-reference/endpoint/post-api-v1-integrations-servers-id-tools-toolname-test"}]},{"group":"Triggers","pages":[{"title":"List triggers","openapi":"GET /v1/triggers","href":"/api-reference/endpoint/get-api-v1-triggers"},{"title":"Create a trigger","openapi":"POST /v1/triggers","href":"/api-reference/endpoint/post-api-v1-triggers"},{"title":"Get a trigger","openapi":"GET /v1/triggers/{id}","href":"/api-reference/endpoint/get-api-v1-triggers-id"},{"title":"Update a trigger","openapi":"PATCH /v1/triggers/{id}","href":"/api-reference/endpoint/patch-api-v1-triggers-id"},{"title":"Delete a trigger","openapi":"DELETE /v1/triggers/{id}","href":"/api-reference/endpoint/delete-api-v1-triggers-id"},{"title":"List a trigger’s recent deliveries","openapi":"GET /v1/triggers/{id}/events","href":"/api-reference/endpoint/get-api-v1-triggers-id-events"}]},{"group":"Projects","pages":[{"title":"List all projects","openapi":"GET /v1/projects","href":"/api-reference/endpoint/get-api-v1-projects"},{"title":"Create a new project","openapi":"POST /v1/projects","href":"/api-reference/endpoint/post-api-v1-projects"},{"title":"Get a project by ID","openapi":"GET /v1/projects/{projectId}","href":"/api-reference/endpoint/get-api-v1-projects-projectid"},{"title":"Update a project","openapi":"PATCH /v1/projects/{projectId}","href":"/api-reference/endpoint/patch-api-v1-projects-projectid"},{"title":"Archive a project","openapi":"DELETE /v1/projects/{projectId}","href":"/api-reference/endpoint/delete-api-v1-projects-projectid"},{"title":"List project assistant conversations","openapi":"GET /v1/projects/{projectId}/conversations","href":"/api-reference/endpoint/get-api-v1-projects-projectid-conversations"},{"title":"Get project stats summary","openapi":"GET /v1/projects/{projectId}/stats","href":"/api-reference/endpoint/get-api-v1-projects-projectid-stats"},{"title":"List project agent threads","openapi":"GET /v1/projects/{projectId}/threads","href":"/api-reference/endpoint/get-api-v1-projects-projectid-threads"},{"title":"Get daily costs for a project","openapi":"GET /v1/projects/{projectId}/costs/daily","href":"/api-reference/endpoint/get-api-v1-projects-projectid-costs-daily"},{"title":"Get monthly costs for a project","openapi":"GET /v1/projects/{projectId}/costs/monthly","href":"/api-reference/endpoint/get-api-v1-projects-projectid-costs-monthly"}]},{"group":"Tenants","pages":[{"title":"List tenants","openapi":"GET /v1/tenants","href":"/api-reference/endpoint/get-api-v1-tenants"},{"title":"Get a tenant","openapi":"GET /v1/tenants/{tenantId}","href":"/api-reference/endpoint/get-api-v1-tenants-tenantid"},{"title":"Update a tenant","openapi":"PATCH /v1/tenants/{tenantId}","href":"/api-reference/endpoint/patch-api-v1-tenants-tenantid"},{"title":"Delete a tenant","openapi":"DELETE /v1/tenants/{tenantId}","href":"/api-reference/endpoint/delete-api-v1-tenants-tenantid"},{"title":"Get tenant costs","openapi":"GET /v1/tenants/{tenantId}/costs","href":"/api-reference/endpoint/get-api-v1-tenants-tenantid-costs"},{"title":"Get tenant stats","openapi":"GET /v1/tenants/{tenantId}/stats","href":"/api-reference/endpoint/get-api-v1-tenants-tenantid-stats"},{"title":"List subtenants","openapi":"GET /v1/tenants/{tenantId}/subtenants","href":"/api-reference/endpoint/get-api-v1-tenants-tenantid-subtenants"},{"title":"Get a subtenant","openapi":"GET /v1/tenants/{tenantId}/subtenants/{subtenantId}","href":"/api-reference/endpoint/get-api-v1-tenants-tenantid-subtenants-subtenantid"},{"title":"Update a subtenant (name, avatar)","openapi":"PATCH /v1/tenants/{tenantId}/subtenants/{subtenantId}","href":"/api-reference/endpoint/patch-api-v1-tenants-tenantid-subtenants-subtenantid"}]},{"group":"Tenant Sessions","pages":[{"title":"Issue a tenant session","openapi":"POST /api/v1/tenant-sessions","href":"/api-reference/endpoint/post-api-v1-tenant-sessions"}]},{"group":"Tenant Integrations","pages":[{"title":"List the apps this assistant offers, with my connection status","openapi":"GET /v1/tenant-integrations","href":"/api-reference/endpoint/get-api-v1-tenant-integrations"},{"title":"Re-read my connections now","openapi":"POST /v1/tenant-integrations/refresh","href":"/api-reference/endpoint/post-api-v1-tenant-integrations-refresh"},{"title":"Disconnect one of my accounts","openapi":"DELETE /v1/tenant-integrations/accounts/{accountId}","href":"/api-reference/endpoint/delete-api-v1-tenant-integrations-accounts-accountid"},{"title":"My connected accounts for one app","openapi":"GET /v1/tenant-integrations/{app}/accounts","href":"/api-reference/endpoint/get-api-v1-tenant-integrations-app-accounts"},{"title":"What connecting this app asks of me","openapi":"GET /v1/tenant-integrations/{app}/auth","href":"/api-reference/endpoint/get-api-v1-tenant-integrations-app-auth"},{"title":"Connect one of my accounts","openapi":"POST /v1/tenant-integrations/{app}/connect","href":"/api-reference/endpoint/post-api-v1-tenant-integrations-app-connect"}]},{"group":"Tenant Usage","pages":[{"title":"List tiers (plans)","openapi":"GET /v1/tenant-usage/tiers","href":"/api-reference/endpoint/get-api-v1-tenant-usage-tiers"},{"title":"Get tenant usage \u0026 limits","openapi":"GET /v1/tenant-usage/{tenantId}","href":"/api-reference/endpoint/get-api-v1-tenant-usage-tenantid"},{"title":"Get tenant usage history","openapi":"GET /v1/tenant-usage/{tenantId}/history","href":"/api-reference/endpoint/get-api-v1-tenant-usage-tenantid-history"},{"title":"Get subtenant usage \u0026 limits","openapi":"GET /v1/tenant-usage/{tenantId}/subtenants/{subtenantId}","href":"/api-reference/endpoint/get-api-v1-tenant-usage-tenantid-subtenants-subtenantid"},{"title":"Get subtenant usage history","openapi":"GET /v1/tenant-usage/{tenantId}/subtenants/{subtenantId}/history","href":"/api-reference/endpoint/get-api-v1-tenant-usage-tenantid-subtenants-subtenantid-history"}]},{"group":"Tenant Admin","pages":[{"title":"Add usage to a tenant","openapi":"POST /v1/tenant-admin/{tenantId}/add-usage","href":"/api-reference/endpoint/post-api-v1-tenant-admin-tenantid-add-usage"},{"title":"Add usage to a subtenant","openapi":"POST /v1/tenant-admin/{tenantId}/subtenants/{subtenantId}/add-usage","href":"/api-reference/endpoint/post-api-v1-tenant-admin-tenantid-subtenants-subtenantid-add-usage"},{"title":"Change a tenant tier (plan)","openapi":"POST /v1/tenant-admin/{tenantId}/tier","href":"/api-reference/endpoint/post-api-v1-tenant-admin-tenantid-tier"},{"title":"Reset tenant usage counters","openapi":"POST /v1/tenant-admin/{tenantId}/usage-limits/reset","href":"/api-reference/endpoint/post-api-v1-tenant-admin-tenantid-usage-limits-reset"},{"title":"Change a subtenant tier (plan)","openapi":"POST /v1/tenant-admin/{tenantId}/subtenants/{subtenantId}/tier","href":"/api-reference/endpoint/post-api-v1-tenant-admin-tenantid-subtenants-subtenantid-tier"},{"title":"Reset subtenant usage counters","openapi":"POST /v1/tenant-admin/{tenantId}/subtenants/{subtenantId}/usage-limits/reset","href":"/api-reference/endpoint/post-api-v1-tenant-admin-tenantid-subtenants-subtenantid-usage-limits-reset"}]},{"group":"Knowledge","pages":[{"title":"List document folders","openapi":"GET /v1/document-folders","href":"/api-reference/endpoint/get-api-v1-document-folders"},{"title":"Create a document folder","openapi":"POST /v1/document-folders","href":"/api-reference/endpoint/post-api-v1-document-folders"},{"title":"List documents","openapi":"GET /v1/documents","href":"/api-reference/endpoint/get-api-v1-documents"},{"title":"Create a markdown document","openapi":"POST /v1/documents","href":"/api-reference/endpoint/post-api-v1-documents"},{"title":"Update a document folder","openapi":"PATCH /v1/document-folders/{id}","href":"/api-reference/endpoint/patch-api-v1-document-folders-id"},{"title":"Delete a document folder","openapi":"DELETE /v1/document-folders/{id}","href":"/api-reference/endpoint/delete-api-v1-document-folders-id"},{"title":"Get document graph","openapi":"GET /v1/documents/graph","href":"/api-reference/endpoint/get-api-v1-documents-graph"},{"title":"Get a document by ID","openapi":"GET /v1/documents/{id}","href":"/api-reference/endpoint/get-api-v1-documents-id"},{"title":"Update a document","openapi":"PATCH /v1/documents/{id}","href":"/api-reference/endpoint/patch-api-v1-documents-id"},{"title":"Delete a document","openapi":"DELETE /v1/documents/{id}","href":"/api-reference/endpoint/delete-api-v1-documents-id"},{"title":"Attach a folder to an agent or assistant","openapi":"POST /v1/document-folders/{folderId}/attach","href":"/api-reference/endpoint/post-api-v1-document-folders-folderid-attach"},{"title":"Detach a folder from an agent or assistant","openapi":"POST /v1/document-folders/{folderId}/detach","href":"/api-reference/endpoint/post-api-v1-document-folders-folderid-detach"},{"title":"Attach a document to an agent or assistant","openapi":"POST /v1/documents/{id}/attach","href":"/api-reference/endpoint/post-api-v1-documents-id-attach"},{"title":"Detach a document from an agent or assistant","openapi":"POST /v1/documents/{id}/detach","href":"/api-reference/endpoint/post-api-v1-documents-id-detach"},{"title":"List subdocuments","openapi":"GET /v1/documents/{id}/subdocuments","href":"/api-reference/endpoint/get-api-v1-documents-id-subdocuments"},{"title":"Get document usage","openapi":"GET /v1/documents/{id}/usage","href":"/api-reference/endpoint/get-api-v1-documents-id-usage"},{"title":"List document versions","openapi":"GET /v1/documents/{id}/versions","href":"/api-reference/endpoint/get-api-v1-documents-id-versions"},{"title":"Revert a document to a previous version","openapi":"POST /v1/documents/{id}/revert/{version}","href":"/api-reference/endpoint/post-api-v1-documents-id-revert-version"},{"title":"Get a document version","openapi":"GET /v1/documents/{id}/versions/{version}","href":"/api-reference/endpoint/get-api-v1-documents-id-versions-version"}]},{"group":"Skills","pages":[{"title":"List the skills catalog (documents + folders)","openapi":"GET /v1/documents/skills","href":"/api-reference/endpoint/get-api-v1-documents-skills"},{"title":"Scaffold a folder-skill (folder + SKILL.md manifest)","openapi":"POST /v1/documents/skills/scaffold","href":"/api-reference/endpoint/post-api-v1-documents-skills-scaffold"},{"title":"List distinct skill/document tags","openapi":"GET /v1/documents/skills/tags","href":"/api-reference/endpoint/get-api-v1-documents-skills-tags"},{"title":"Download a skill tree (files with relative paths + content)","openapi":"GET /v1/documents/skills/{id}/tree","href":"/api-reference/endpoint/get-api-v1-documents-skills-id-tree"},{"title":"Record that a skill was uninstalled locally (CLI)","openapi":"DELETE /v1/documents/skills/{id}/install","href":"/api-reference/endpoint/delete-api-v1-documents-skills-id-install"},{"title":"Download a skill tree and record the install (CLI)","openapi":"POST /v1/documents/skills/{id}/install","href":"/api-reference/endpoint/post-api-v1-documents-skills-id-install"}]},{"group":"Files","pages":[{"title":"Upload a file","openapi":"POST /v1/files/upload","href":"/api-reference/endpoint/post-api-v1-files-upload"}]},{"group":"Speech to Text","pages":[{"title":"Transcribe audio (speech-to-text)","openapi":"POST /v1/whisper","href":"/api-reference/endpoint/post-api-v1-whisper"},{"title":"Get a transcript by id","openapi":"GET /v1/whisper/{transcriptId}","href":"/api-reference/endpoint/get-api-v1-whisper-transcriptid"}]},{"group":"Environments","pages":[{"title":"List environments","openapi":"GET /v1/environments","href":"/api-reference/endpoint/get-api-v1-environments"},{"title":"Create an environment","openapi":"POST /v1/environments","href":"/api-reference/endpoint/post-api-v1-environments"},{"title":"Delete an environment","openapi":"DELETE /v1/environments/{environmentId}","href":"/api-reference/endpoint/delete-api-v1-environments-environmentid"},{"title":"Get an environment by id","openapi":"GET /v1/environments/{environmentId}","href":"/api-reference/endpoint/get-api-v1-environments-environmentid"},{"title":"Update an environment","openapi":"PATCH /v1/environments/{environmentId}","href":"/api-reference/endpoint/patch-api-v1-environments-environmentid"},{"title":"List the agents and assistants connected to an environment","openapi":"GET /v1/environments/{environmentId}/connections","href":"/api-reference/endpoint/get-api-v1-environments-environmentid-connections"},{"title":"Disconnect an agent or assistant from its environment","openapi":"DELETE /v1/environments/{environmentId}/connections/{entityType}/{entityId}","href":"/api-reference/endpoint/delete-api-v1-environments-environmentid-connections-entitytype-entityid"},{"title":"Connect an agent or assistant to an environment","openapi":"PUT /v1/environments/{environmentId}/connections/{entityType}/{entityId}","href":"/api-reference/endpoint/put-api-v1-environments-environmentid-connections-entitytype-entityid"},{"title":"Bake (or re-bake) the environment snapshot","openapi":"POST /v1/environments/{environmentId}/snapshot/initialize","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-snapshot-initialize"},{"title":"List the per-tenant snapshots derived from this environment","openapi":"GET /v1/environments/{environmentId}/tenant-snapshots","href":"/api-reference/endpoint/get-api-v1-environments-environmentid-tenant-snapshots"},{"title":"Post api v1 environments environmentid tenant snapshots tenantid initialize","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-tenant-snapshots-tenantid-initialize"},{"title":"Delete api v1 environments environmentid tenant snapshots tenantid","href":"/api-reference/endpoint/delete-api-v1-environments-environmentid-tenant-snapshots-tenantid"},{"title":"List the sandbox sessions run on this environment","openapi":"GET /v1/environments/{environmentId}/sessions","href":"/api-reference/endpoint/get-api-v1-environments-environmentid-sessions"},{"title":"Get the most recent session, reconciled against the engine","openapi":"GET /v1/environments/{environmentId}/sessions/last","href":"/api-reference/endpoint/get-api-v1-environments-environmentid-sessions-last"},{"title":"Get one session with its command log","openapi":"GET /v1/environments/{environmentId}/sessions/{sessionId}","href":"/api-reference/endpoint/get-api-v1-environments-environmentid-sessions-sessionid"},{"title":"List the CLIs installed on this environment","openapi":"GET /v1/environments/{environmentId}/clis","href":"/api-reference/endpoint/get-api-v1-environments-environmentid-clis"}]},{"group":"Sandboxes","pages":[{"title":"Start a sandbox session","openapi":"POST /v1/environments/{environmentId}/sandbox/start","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-sandbox-start"},{"title":"Whether a session is live on this environment","openapi":"GET /v1/environments/{environmentId}/sandbox/status","href":"/api-reference/endpoint/get-api-v1-environments-environmentid-sandbox-status"},{"title":"Run a command in the sandbox","openapi":"POST /v1/environments/{environmentId}/sandbox/exec","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-sandbox-exec"},{"title":"Stop the session","openapi":"POST /v1/environments/{environmentId}/sandbox/stop","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-sandbox-stop"},{"title":"List a directory inside the sandbox","openapi":"POST /v1/environments/{environmentId}/sandbox/files/list","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-sandbox-files-list"},{"title":"Read a text file from the sandbox","openapi":"POST /v1/environments/{environmentId}/sandbox/files/read","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-sandbox-files-read"},{"title":"Write a file into the sandbox","openapi":"POST /v1/environments/{environmentId}/sandbox/files/write","href":"/api-reference/endpoint/post-api-v1-environments-environmentid-sandbox-files-write"}]},{"group":"Tenant MCP","pages":[{"title":"The MCP servers this assistant offers me, and the ones I connected","openapi":"GET /v1/tenant-mcp","href":"/api-reference/endpoint/get-api-v1-tenant-mcp"},{"title":"Connect an MCP server","openapi":"POST /v1/tenant-mcp","href":"/api-reference/endpoint/post-api-v1-tenant-mcp"},{"title":"Disconnect an MCP server","openapi":"DELETE /v1/tenant-mcp/{id}","href":"/api-reference/endpoint/delete-api-v1-tenant-mcp-id"},{"title":"One of my MCP servers","openapi":"GET /v1/tenant-mcp/{id}","href":"/api-reference/endpoint/get-api-v1-tenant-mcp-id"},{"title":"Rename one of my MCP servers","openapi":"PATCH /v1/tenant-mcp/{id}","href":"/api-reference/endpoint/patch-api-v1-tenant-mcp-id"},{"title":"The tools this server exposes","openapi":"GET /v1/tenant-mcp/{id}/tools","href":"/api-reference/endpoint/get-api-v1-tenant-mcp-id-tools"},{"title":"Authorize again","openapi":"POST /v1/tenant-mcp/{id}/reconnect","href":"/api-reference/endpoint/post-api-v1-tenant-mcp-id-reconnect"}]},{"group":"Documentation","pages":[{"title":"Documentation index page","openapi":"GET /v1/docs","href":"/api-reference/endpoint/get-api-v1-docs"},{"title":"Get rendered markdown documentation page","openapi":"GET /v1/docs/{filename}","href":"/api-reference/endpoint/get-api-v1-docs-filename"},{"title":"Get raw markdown documentation file","openapi":"GET /v1/docs/{filename}.md","href":"/api-reference/endpoint/get-api-v1-docs-filename-md"}]},{"group":"Health","pages":[{"title":"Health check endpoint","openapi":"GET /v1/health","href":"/api-reference/endpoint/get-api-v1-health"}]}]}]},"basePath":"","title":"Get chat history for a conversation - Devic Documentation","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DDP9JXtj.js","utils-8yQyvEtx.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CBCFR8Sn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-rQaXkUHa.js","snippetPresets-J5KpBTgV.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BVxVH4Cj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BxdQ2vIi.js","shallow-BjV2tFiD.js","getApiPlaygroundDisplay-C_55tL4O.js","CodeSnippet-C0JpiCOC.js","CodeSnippets-w9Ps7djG.js","Page-DTNSD-0M.js","getPastedJson-BDfB-H8d.js","icon-g-kUkkO9.js","MethodPill-v4l6fq0h.js","DuplicateIcon-CvLo-CfU.js","createIcon-165clrrV.js","DynamicMarkdown-D3RQ-fEj.js","SectionHeading-vvo-3yLf.js","axios-vUo_bRtp.js","Markdown-CMT1uFWQ.js","clsx-C8f2yC9R.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CI2D8R2Y.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-k78Wrw_e.js"]}