Appends messages to a thread without running an agent — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with user_id. An existing thread must belong to that user (403 otherwise). Each message is { role, content, metadata?, created_at?, id? } where content is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: GET /v1/messages returns them and the next POST /v1/chat turn on the thread reads them as history.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sidenet API","colors":{"primary":"#4F46E5","light":"#818CF8","dark":"#4338CA"},"logo":{"light":"https://mintcdn.com/sidenetai/IsfHUeiSCKNFr_6U/images/logo-light.svg?fit=max\u0026auto=format\u0026n=IsfHUeiSCKNFr_6U\u0026q=85\u0026s=206c6acd674e00cc951ff99d54600daa","dark":"https://mintcdn.com/sidenetai/IsfHUeiSCKNFr_6U/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=IsfHUeiSCKNFr_6U\u0026q=85\u0026s=db3396c278572b71489a4c1be475acd4","href":"https://www.sidenet.ai"},"favicon":{"light":"https://mintcdn.com/sidenetai/bYiM267pd74qNSPc/images/3bc48416-a174-468b-9d1a-56046f8bb9b4.png?fit=max\u0026auto=format\u0026n=bYiM267pd74qNSPc\u0026q=85\u0026s=b651ac95041904f0eaf2678e8d2704ab","dark":"https://mintcdn.com/sidenetai/bYiM267pd74qNSPc/images/3bc48416-a174-468b-9d1a-56046f8bb9b4.png?fit=max\u0026auto=format\u0026n=bYiM267pd74qNSPc\u0026q=85\u0026s=b651ac95041904f0eaf2678e8d2704ab"},"api":{"examples":{"prefill":true}},"navbar":{"links":[{"href":"https://www.sidenet.ai","label":"Back to website"},{"href":"https://www.sidenet.ai/book-demo/","label":"Book a demo"}],"primary":{"type":"button","label":"Sidenet Studio","href":"https://studio.sidenet.ai"}},"footer":{"socials":{"website":"https://www.sidenet.ai"}},"seo":{"metatags":{"canonical":"https://www.sidenet.ai"},"indexing":"all"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sidenetai","hasAudioNarration":false,"actualSubdomain":"sidenetai","customDomains":["sidenet.ai"],"gitSource":{"type":"github","owner":"alexdanan","repo":"sidenet-api","deployBranch":"master","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"3d4be538-6e12-432d-8fca-94fadcfcf38d","liveDeploymentHistoryId":"6adeafd69b15302e6a364a0d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adeafd69b15302e6a364a0d"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adeafd69b15302e6a364a0d","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":131},{"language":"default","tag":"Guides","count":23},{"language":"default","tag":"Chat SDK","count":13},{"language":"default","tag":"Workflow Schedules","count":12},{"language":"default","tag":"Chat \u0026 Messaging","count":11},{"language":"default","tag":"Networks","count":11},{"language":"default","tag":"Prompt Blocks","count":11},{"language":"default","tag":"Dashboards","count":10},{"language":"default","tag":"Workflows","count":10},{"language":"default","tag":"Agents","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/chat/append-thread-messages","slug":"/api-reference/chat/append-thread-messages","pageMetadata":{"title":"Append thread messages","description":"Appends messages to a thread **without running an agent** — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with `user_id`. An existing thread must belong to that user (`403` otherwise). Each message is `{ role, content, metadata?, created_at?, id? }` where `content` is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: `GET /v1/messages` returns them and the next `POST /v1/chat` turn on the thread reads them as history.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/threads/{id}/messages","href":"/api-reference/chat/append-thread-messages","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Appends messages to a thread \", _jsx(_components.strong, {\n children: \"without running an agent\"\n }), \" — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with \", _jsx(_components.code, {\n children: \"user_id\"\n }), \". An existing thread must belong to that user (\", _jsx(_components.code, {\n children: \"403\"\n }), \" otherwise). Each message is \", _jsx(_components.code, {\n children: \"{ role, content, metadata?, created_at?, id? }\"\n }), \" where \", _jsx(_components.code, {\n children: \"content\"\n }), \" is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: \", _jsx(_components.code, {\n children: \"GET /v1/messages\"\n }), \" returns them and the next \", _jsx(_components.code, {\n children: \"POST /v1/chat\"\n }), \" turn on the thread reads them as history.\"]\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":"Append thread messages","description":"Appends messages to a thread **without running an agent** — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with `user_id`. An existing thread must belong to that user (`403` otherwise). Each message is `{ role, content, metadata?, created_at?, id? }` where `content` is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: `GET /v1/messages` returns them and the next `POST /v1/chat` turn on the thread reads them as history.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/threads/{id}/messages","href":"/api-reference/chat/append-thread-messages","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/sidenetai/8e3ad2809aba5c1a/analytics.js"],"openApiReferenceData":{"operation":{"summary":"Append thread messages","description":"Appends messages to a thread **without running an agent** — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with `user_id`. An existing thread must belong to that user (`403` otherwise). Each message is `{ role, content, metadata?, created_at?, id? }` where `content` is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: `GET /v1/messages` returns them and the next `POST /v1/chat` turn on the thread reads them as history.","tags":["Chat"],"parameters":["4a322a32-a1e4-47d6-8036-9825fc5b9258"],"requestBody":"8274a7d5-85a8-4cfc-8896-f895b0439ccb","responses":{"201":"30670d49-ac07-4d88-9bee-9456d4161d84","400":"1e94b309-05a6-4210-b82d-eeddd1d4e71f","403":"89af2a85-2d82-44dd-91b0-83918fc9c504","404":"94ffedae-b22c-48bf-9627-f532e08c0b99"},"security":["f1f3647e-aec0-4d50-8023-221cbddb03ef","fff6b1e3-d879-4249-afb7-a293b54c340b"],"method":"post","type":"path","servers":["a2758148-5e47-42b4-a53e-1a5edd954a6f"],"path":"/v1/threads/{id}/messages","baseUrlOptions":["https://api.sidenet.ai"],"title":"Append thread messages","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.messages.items.0.role":"user","body.messages.items.0.content.oneOf.0":"Hi, can I check in at 2pm?","body.messages.items.0.metadata":{"channel":"whatsapp","wa_message_id":"wamid.HBg…"},"body.user_id":"user_4821","body.title":"WhatsApp · +34 600 000 000","body.metadata":{}}]},"dependencies":{"parameters":{"4a322a32-a1e4-47d6-8036-9825fc5b9258":{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"wa:prop_12:guest:34600000000","isRequired":true,"description":"The thread id — yours to choose when creating.","uniqueKey":"","typeLabel":"string"},"description":"The thread id — yours to choose when creating."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant","system"],"isRequired":true,"uniqueKey":"messages.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"content":{"oneOf":[{"type":"string","description":"A text, or message parts (`[{ \"type\": \"text\", \"text\": \"…\" }]`).","isRequired":true,"uniqueKey":"messages.items.[INDEX].content.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"object","uniqueKey":"messages.items.[INDEX].content.oneOf.1.items.[INDEX]","typeLabel":"object"},"description":"A text, or message parts (`[{ \"type\": \"text\", \"text\": \"…\" }]`).","isRequired":true,"uniqueKey":"messages.items.[INDEX].content.oneOf.1","typeLabel":"object[]"}],"isRequired":true,"uniqueKey":"messages.items.[INDEX].content","typeLabel":"string | object[]"},"id":{"type":"string","description":"Your id for the message (default: a uuid).","uniqueKey":"messages.items.[INDEX].id","typeLabel":"string"},"metadata":{"type":"object","description":"Stored on the message (e.g. the channel, the external message id).","uniqueKey":"messages.items.[INDEX].metadata","typeLabel":"object"},"created_at":{"type":"string","format":"date-time","description":"When the message happened (default: now, in the order sent).","uniqueKey":"messages.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"messages.items.[INDEX]","typeLabel":"object"},"example":[{"role":"user","content":"Hi, can I check in at 2pm?","metadata":{"channel":"whatsapp","wa_message_id":"wamid.HBg…"}}],"isRequired":true,"uniqueKey":"messages","typeLabel":"object[]"},"user_id":{"type":"string","example":"user_4821","description":"The user the thread belongs to. Required with an API key; a session token writes as its own user.","uniqueKey":"user_id","typeLabel":"string"},"title":{"type":"string","example":"WhatsApp · +34 600 000 000","description":"Used when the thread is created; defaults to the first text sent.","uniqueKey":"title","typeLabel":"string"},"metadata":{"type":"object","description":"Thread metadata, used when the thread is created.","uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"messages":[{"role":"user","content":"Hi, can I check in at 2pm?","metadata":{"channel":"whatsapp","wa_message_id":"wamid.HBg…"}}],"user_id":"user_4821","title":"WhatsApp · +34 600 000 000","metadata":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"30670d49-ac07-4d88-9bee-9456d4161d84":{"description":"The messages were saved","content":{"application/json":{"schema":{"type":"object","properties":{"thread_id":{"type":"string","uniqueKey":"thread_id","typeLabel":"string"},"created":{"type":"boolean","description":"True when the thread was created by this call.","uniqueKey":"created","typeLabel":"boolean"},"message_ids":{"type":"array","items":{"type":"string","uniqueKey":"message_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"message_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"thread_id":"\u003cstring>","created":true,"message_ids":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"1e94b309-05a6-4210-b82d-eeddd1d4e71f":{"description":"Invalid body, or no user (an API key must send `user_id`)","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"89af2a85-2d82-44dd-91b0-83918fc9c504":{"description":"The thread belongs to another user","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"94ffedae-b22c-48bf-9627-f532e08c0b99":{"description":"The thread exists in another organization","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"f1f3647e-aec0-4d50-8023-221cbddb03ef":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Organization API key, generated in studio.sidenet.ai. Backend only — never in a browser.","scopes":[],"schemeName":"bearerAuth"}},"fff6b1e3-d879-4249-afb7-a293b54c340b":{"sessionToken":{"type":"http","scheme":"bearer","description":"Session token (`snat_…`) minted by POST /v1/token. Carries the organization and the end user; safe in a browser.","scopes":[],"schemeName":"sessionToken"}}},"servers":{"a2758148-5e47-42b4-a53e-1a5edd954a6f":{"url":"https://api.sidenet.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Organization API key, generated in studio.sidenet.ai. Backend only — never in a browser.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Organization API key, generated in studio.sidenet.ai. Backend only — never in a browser.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Session token (`snat_…`) minted by POST /v1/token. Carries the organization and the end user; safe in a browser.","scopes":[],"schemeName":"sessionToken"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Session token (`snat_…`) minted by POST /v1/token. Carries the organization and the end user; safe in a browser.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"sessionToken","name":"Authorization"}],"title":"sessionToken"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"sidenetai","siteName":"Sidenet API","title":"Append thread messages - Sidenet API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T01:41:50.039Z","originalFileLocation":"api-reference/chat/append-thread-messages.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=\"Appends messages to a thread without running an agent — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with user_id. An existing thread must belong to that user (403 otherwise). Each message is { role, content, metadata?, created_at?, id? } where content is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: GET /v1/messages returns them and the next POST /v1/chat turn on the thread reads them as history.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sidenet API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_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=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Append thread messages - Sidenet API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Appends messages to a thread without running an agent — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with user_id. An existing thread must belong to that user (403 otherwise). Each message is { role, content, metadata?, created_at?, id? } where content is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: GET /v1/messages returns them and the next POST /v1/chat turn on the thread reads them as history.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sidenet API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.sidenet.ai/api-reference/chat/append-thread-messages\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sidenetai.mintlify.app/_mintlify/api/og/v2?division=Chat+%26+Messaging\u0026amp;title=Append+thread+messages\u0026amp;description=Appends+messages+to+a+thread+**without+running+an+agent**+%E2%80%94+to+record+a+message+that+arrived+on+an+external+channel%2C+or+to+create+a+thread+%28any+id+you+choose%29+b\u0026amp;theme=10fff1ff9fcd00101834a5af\u0026amp;signature=e9eb8cf9b6bd881697480eb9e59f3f9f4e0796e50ef9497107eb83054d34aa58\">\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=\"Append thread messages - Sidenet API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Appends messages to a thread without running an agent — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with user_id. An existing thread must belong to that user (403 otherwise). Each message is { role, content, metadata?, created_at?, id? } where content is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: GET /v1/messages returns them and the next POST /v1/chat turn on the thread reads them as history.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sidenetai.mintlify.app/_mintlify/api/og/v2?division=Chat+%26+Messaging\u0026amp;title=Append+thread+messages\u0026amp;description=Appends+messages+to+a+thread+**without+running+an+agent**+%E2%80%94+to+record+a+message+that+arrived+on+an+external+channel%2C+or+to+create+a+thread+%28any+id+you+choose%29+b\u0026amp;theme=10fff1ff9fcd00101834a5af\u0026amp;signature=e9eb8cf9b6bd881697480eb9e59f3f9f4e0796e50ef9497107eb83054d34aa58\">\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=\"/docs/mintlify-assets/_mintlify/favicons/sidenetai/jpMqiy2x92lioK32/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sidenet API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F46E5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.sidenet.ai/api-reference/chat/append-thread-messages\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/chat/append-thread-messages.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.sidenet.ai/#organization\",\"name\":\"Sidenet API\",\"url\":\"https://www.sidenet.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sidenetai/IsfHUeiSCKNFr_6U/images/logo-light.svg?fit=max\u0026auto=format\u0026n=IsfHUeiSCKNFr_6U\u0026q=85\u0026s=206c6acd674e00cc951ff99d54600daa\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.sidenet.ai#website\",\"name\":\"Sidenet API\",\"url\":\"https://www.sidenet.ai\",\"publisher\":{\"@id\":\"https://www.sidenet.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages#webpage\",\"url\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages\",\"name\":\"Append thread messages\",\"description\":\"Appends messages to a thread without running an agent — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with user_id. An existing thread must belong to that user (403 otherwise). Each message is { role, content, metadata?, created_at?, id? } where content is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: GET /v1/messages returns them and the next POST /v1/chat turn on the thread reads them as history.\",\"dateModified\":\"2026-10-26T01:41:50.039Z\",\"isPartOf\":{\"@id\":\"https://www.sidenet.ai#website\"},\"breadcrumb\":{\"@id\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Chat \u0026 Messaging\",\"item\":\"https://www.sidenet.ai/api-reference/chat/stream-chat\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Append thread messages\",\"item\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages#apireference\",\"headline\":\"Append thread messages\",\"name\":\"Append thread messages\",\"description\":\"Appends messages to a thread without running an agent — to record a message that arrived on an external channel, or to create a thread (any id you choose) before anyone has spoken on it. The thread is created when it does not exist, for the calling user: a session token writes as its own user; an organization API key names the user with user_id. An existing thread must belong to that user (403 otherwise). Each message is { role, content, metadata?, created_at?, id? } where content is a text or an array of message parts; up to 50 per call. The rows are ordinary thread messages: GET /v1/messages returns them and the next POST /v1/chat turn on the thread reads them as history.\",\"url\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages\",\"mainEntityOfPage\":{\"@id\":\"https://www.sidenet.ai/api-reference/chat/append-thread-messages#webpage\"},\"dateModified\":\"2026-10-26T01:41:50.039Z\",\"publisher\":{\"@id\":\"https://www.sidenet.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://www.sidenet.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sidenet API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sidenet API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/concepts"}]},{"tab":"API Reference","groups":[{"group":"Overview","root":{"title":"Overview","href":"/api-reference/overview"},"pages":[]},{"group":"Authentication","pages":[{"title":"Mint session token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/token","href":"/api-reference/authentication/mint-session-token"},{"title":"Refresh session token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/token/refresh","href":"/api-reference/authentication/refresh-session-token"},{"title":"List runtime auth providers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tools-auth","href":"/api-reference/authentication/list-runtime-auth-providers"}]},{"group":"Users \u0026 Groups","pages":[{"title":"List users","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/users","href":"/api-reference/users-\u0026-groups/list-users"},{"title":"Create user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/users","href":"/api-reference/users-\u0026-groups/create-user"},{"title":"Update user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/users/{userId}","href":"/api-reference/users-\u0026-groups/update-user"},{"title":"List groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/groups","href":"/api-reference/users-\u0026-groups/list-groups"},{"title":"Create group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/groups","href":"/api-reference/users-\u0026-groups/create-group"},{"title":"Update group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/groups/{groupId}","href":"/api-reference/users-\u0026-groups/update-group"}]},{"group":"Organizations","pages":[{"title":"Create organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/orgs","href":"/api-reference/organizations/create-organization"},{"title":"List organizations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/orgs","href":"/api-reference/organizations/list-organizations"},{"title":"Suspend organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/orgs/{id}/suspend","href":"/api-reference/organizations/suspend-organization"},{"title":"Resume organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/orgs/{id}/resume","href":"/api-reference/organizations/resume-organization"}]},{"group":"Billing","pages":[{"title":"Get credit balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/billing/balance","href":"/api-reference/billing/get-credit-balance"},{"title":"List credit transactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/billing/transactions","href":"/api-reference/billing/list-credit-transactions"},{"title":"List usage invoices","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/billing/invoices","href":"/api-reference/billing/list-usage-invoices"}]},{"group":"Chat \u0026 Messaging","pages":[{"title":"Stream chat","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/chat","href":"/api-reference/chat/stream-chat"},{"title":"Run agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{id}/run","href":"/api-reference/chat/run-agent"},{"title":"Run network","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/copilots/{id}/run","href":"/api-reference/chat/run-network"},{"title":"Resume stream","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/chat/stream","href":"/api-reference/chat/resume-stream"},{"title":"Cancel stream","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/chat/stream","href":"/api-reference/chat/cancel-stream"},{"title":"List threads","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/threads","href":"/api-reference/chat/list-threads"},{"title":"List messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/messages","href":"/api-reference/chat/list-messages"},{"title":"Vote on message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/vote","href":"/api-reference/chat/vote-on-message"},{"title":"Mark thread read","description":"Marks a thread as read for its owner (clears the unread badge), or unread again with `{ \"unread\": true }`. Call it with the owning user's session token. 403 otherwise.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/threads/{id}/read","href":"/api-reference/chat/mark-thread-read"},{"title":"Append thread messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/threads/{id}/messages","href":"/api-reference/chat/append-thread-messages"},{"title":"Delete thread","description":"Deletes a thread and its messages — to purge a conversation, e.g. on a data-erasure request. Organization API key only, from your backend; a session token cannot call it. Not reversible.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/threads/{id}","href":"/api-reference/chat/delete-thread"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents","href":"/api-reference/agents/list-agents"},{"title":"Create agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents","href":"/api-reference/agents/create-agent"},{"title":"Get agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents/{id}","href":"/api-reference/agents/get-agent"},{"title":"Save agent draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/agents/{id}/draft","href":"/api-reference/agents/save-agent-draft"},{"title":"Preview agent prompt","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{id}/instructions/preview","href":"/api-reference/agents/preview-agent-prompt"},{"title":"Publish agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{id}/publish","href":"/api-reference/agents/publish-agent"},{"title":"Activate agent version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/agents/{id}/activate","href":"/api-reference/agents/activate-agent-version"},{"title":"List agent versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/agents/{id}/versions","href":"/api-reference/agents/list-agent-versions"},{"title":"Delete agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/agents/{id}","href":"/api-reference/agents/delete-agent"}]},{"group":"Prompt Blocks","pages":[{"title":"List prompt blocks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/prompt-blocks","href":"/api-reference/prompt-blocks/list-prompt-blocks"},{"title":"Create prompt block","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/prompt-blocks","href":"/api-reference/prompt-blocks/create-prompt-block"},{"title":"Get prompt block","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/prompt-blocks/{id}","href":"/api-reference/prompt-blocks/get-prompt-block"},{"title":"Save block draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/prompt-blocks/{id}/draft","href":"/api-reference/prompt-blocks/save-block-draft"},{"title":"Publish prompt block","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/prompt-blocks/{id}/publish","href":"/api-reference/prompt-blocks/publish-prompt-block"},{"title":"Activate block version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/prompt-blocks/{id}/activate","href":"/api-reference/prompt-blocks/activate-block-version"},{"title":"List block versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/prompt-blocks/{id}/versions","href":"/api-reference/prompt-blocks/list-block-versions"},{"title":"List block references","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/prompt-blocks/{id}/references","href":"/api-reference/prompt-blocks/list-block-references"},{"title":"Roll out block version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/prompt-blocks/{id}/rollout","href":"/api-reference/prompt-blocks/roll-out-block-version"},{"title":"Preview block content","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/prompt-blocks/preview","href":"/api-reference/prompt-blocks/preview-block-content"},{"title":"Delete prompt block","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/prompt-blocks/{id}","href":"/api-reference/prompt-blocks/delete-prompt-block"}]},{"group":"Skills","pages":[{"title":"List skills","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/skills","href":"/api-reference/skills/list-skills"},{"title":"Create skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/skills","href":"/api-reference/skills/create-skill"},{"title":"Get skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/skills/{id}","href":"/api-reference/skills/get-skill"},{"title":"Save skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/skills/{id}","href":"/api-reference/skills/save-skill"},{"title":"Publish skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/skills/{id}/publish","href":"/api-reference/skills/publish-skill"},{"title":"Activate skill version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/skills/{id}/activate","href":"/api-reference/skills/activate-skill-version"},{"title":"List skill versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/skills/{id}/versions","href":"/api-reference/skills/list-skill-versions"},{"title":"List skill references","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/skills/{id}/references","href":"/api-reference/skills/list-skill-references"},{"title":"Delete skill","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/skills/{id}","href":"/api-reference/skills/delete-skill"}]},{"group":"Workflows","pages":[{"title":"List workflows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows","href":"/api-reference/workflows/list-workflows"},{"title":"Create workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows","href":"/api-reference/workflows/create-workflow"},{"title":"Get workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/{id}","href":"/api-reference/workflows/get-workflow"},{"title":"Save workflow draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/workflows/{id}/draft","href":"/api-reference/workflows/save-workflow-draft"},{"title":"Publish workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/{id}/publish","href":"/api-reference/workflows/publish-workflow"},{"title":"Activate workflow version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/{id}/activate","href":"/api-reference/workflows/activate-workflow-version"},{"title":"List workflow versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/{id}/versions","href":"/api-reference/workflows/list-workflow-versions"},{"title":"Run workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflows/{id}/run","href":"/api-reference/workflows/run-workflow"},{"title":"Get workflow schema","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/definition-schema","href":"/api-reference/workflows/get-workflow-schema"},{"title":"Delete workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workflows/{id}","href":"/api-reference/workflows/delete-workflow"}]},{"group":"Approvals","pages":[{"title":"List my approval requests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/approval-requests","href":"/api-reference/approvals/list-my-approval-requests"},{"title":"Get approval request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/approval-requests/{ref}","href":"/api-reference/approvals/get-approval-request"},{"title":"Decide approval","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/approval-requests/{ref}/decide","href":"/api-reference/approvals/decide-approval"}]},{"group":"Workflow Schedules","pages":[{"title":"List workflow schedules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflow-schedules","href":"/api-reference/workflows/list-workflow-schedules"},{"title":"Create workflow schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflow-schedules","href":"/api-reference/workflows/create-workflow-schedule"},{"title":"Preview schedule timing","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflow-schedules/preview","href":"/api-reference/workflows/preview-schedule-timing"},{"title":"Get workflow schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflow-schedules/{id}","href":"/api-reference/workflows/get-workflow-schedule"},{"title":"Update workflow schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/workflow-schedules/{id}","href":"/api-reference/workflows/update-workflow-schedule"},{"title":"Delete workflow schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/workflow-schedules/{id}","href":"/api-reference/workflows/delete-workflow-schedule"},{"title":"Pause workflow schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflow-schedules/{id}/pause","href":"/api-reference/workflows/pause-workflow-schedule"},{"title":"Resume workflow schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflow-schedules/{id}/resume","href":"/api-reference/workflows/resume-workflow-schedule"},{"title":"Run workflow schedule now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/workflow-schedules/{id}/run-now","href":"/api-reference/workflows/run-workflow-schedule-now"},{"title":"List schedule runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflow-schedules/{id}/runs","href":"/api-reference/workflows/list-schedule-runs"},{"title":"List workflow runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflow-runs","href":"/api-reference/workflows/list-workflow-runs"},{"title":"Get workflow run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflow-runs/{id}","href":"/api-reference/workflows/get-workflow-run"}]},{"group":"Dashboards","pages":[{"title":"List dashboards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/dashboards","href":"/api-reference/dashboards/list-dashboards"},{"title":"Create dashboard from spec","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/dashboards","href":"/api-reference/dashboards/create-dashboard-from-spec"},{"title":"List dashboard templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/dashboards/templates","href":"/api-reference/dashboards/list-dashboard-templates"},{"title":"Get dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/dashboards/{id}","href":"/api-reference/dashboards/get-dashboard"},{"title":"Refresh dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/dashboards/{id}/refresh","href":"/api-reference/dashboards/refresh-dashboard"},{"title":"Get dashboard refresh","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/dashboards/{id}/runs/{runId}","href":"/api-reference/dashboards/get-dashboard-refresh"},{"title":"Run dashboard view","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/dashboards/{id}/views/{viewId}/run","href":"/api-reference/dashboards/run-dashboard-view"},{"title":"List dashboard versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/dashboards/{id}/versions","href":"/api-reference/dashboards/list-dashboard-versions"},{"title":"Activate dashboard version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/dashboards/{id}/activate","href":"/api-reference/dashboards/activate-dashboard-version"},{"title":"Delete dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/dashboards/{id}","href":"/api-reference/dashboards/delete-dashboard"}]},{"group":"Networks","pages":[{"title":"List networks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/networks","href":"/api-reference/networks/list-networks"},{"title":"Create network","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/networks","href":"/api-reference/networks/create-network"},{"title":"Get network copilots","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/networks/{id}","href":"/api-reference/networks/get-network-copilots"},{"title":"Rename network","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/networks/{id}","href":"/api-reference/networks/rename-network"},{"title":"Get network","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/copilots/{id}","href":"/api-reference/networks/get-network"},{"title":"Update network","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/copilots/{id}","href":"/api-reference/networks/update-network"},{"title":"Attach agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/copilots/{id}/agents","href":"/api-reference/networks/attach-agent"},{"title":"Detach agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/copilots/{id}/agents/{agentId}","href":"/api-reference/networks/detach-agent"},{"title":"Attach workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/copilots/{id}/workflows","href":"/api-reference/networks/attach-workflow"},{"title":"Detach workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/copilots/{id}/workflows/{workflowId}","href":"/api-reference/networks/detach-workflow"},{"title":"Deploy network","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/copilots/{id}/deploy","href":"/api-reference/networks/deploy-network"}]},{"group":"Tools","pages":[{"title":"List tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tools","href":"/api-reference/tools/list-tools"},{"title":"Execute tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools/{toolId}/execute","href":"/api-reference/tools/execute-tool"},{"title":"Create tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tools","href":"/api-reference/tools/create-tool"},{"title":"Update tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/tools/{id}","href":"/api-reference/tools/update-tool"},{"title":"Delete tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tools/{id}","href":"/api-reference/tools/delete-tool"}]},{"group":"Tool Providers","pages":[{"title":"List tool providers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tool-providers","href":"/api-reference/tool-providers/list-tool-providers"},{"title":"Create tool provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tool-providers","href":"/api-reference/tool-providers/create-tool-provider"},{"title":"Get tool provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tool-providers/{id}","href":"/api-reference/tool-providers/get-tool-provider"},{"title":"Update tool provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/tool-providers/{id}","href":"/api-reference/tool-providers/update-tool-provider"},{"title":"Save provider tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/tool-providers/{id}/tools","href":"/api-reference/tool-providers/save-provider-tools"},{"title":"Delete tool provider","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tool-providers/{id}","href":"/api-reference/tool-providers/delete-tool-provider"}]},{"group":"Datasets","pages":[{"title":"List datasets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/datasets","href":"/api-reference/datasets/list-datasets"},{"title":"Create dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/datasets","href":"/api-reference/datasets/create-dataset"},{"title":"Get dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/datasets/{id}","href":"/api-reference/datasets/get-dataset"},{"title":"Update dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/datasets/{id}","href":"/api-reference/datasets/update-dataset"},{"title":"Delete dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/datasets/{id}","href":"/api-reference/datasets/delete-dataset"},{"title":"List dataset items","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/datasets/{id}/items","href":"/api-reference/datasets/list-dataset-items"},{"title":"Add dataset items","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/datasets/{id}/items","href":"/api-reference/datasets/add-dataset-items"},{"title":"Update dataset item","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/datasets/{id}/items/{itemId}","href":"/api-reference/datasets/update-dataset-item"},{"title":"Delete dataset item","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/datasets/{id}/items/{itemId}","href":"/api-reference/datasets/delete-dataset-item"}]},{"group":"Scoring \u0026 Experiments","pages":[{"title":"Run experiment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/experiments","href":"/api-reference/experiments/run-experiment"},{"title":"Get experiment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/experiments/{experimentId}","href":"/api-reference/experiments/get-experiment"},{"title":"Delete experiment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/experiments/{experimentId}","href":"/api-reference/experiments/delete-experiment"},{"title":"List experiments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/datasets/{id}/experiments","href":"/api-reference/experiments/list-experiments"},{"title":"Compare experiments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/datasets/{id}/compare","href":"/api-reference/experiments/compare-experiments"},{"title":"Score traces","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/score-trace","href":"/api-reference/experiments/score-traces"},{"title":"List trace scores","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/traces/{traceId}/scores","href":"/api-reference/experiments/list-trace-scores"}]},{"group":"System","pages":[{"title":"Rebuild agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/rebuild","href":"/api-reference/system/rebuild-agents"},{"title":"Rebuild org tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /rebuild-org-tools","href":"/api-reference/system/rebuild-org-tools"}]}]},{"tab":"Chat SDK","pages":[{"title":"Chat SDK","href":"/sdk/overview"}]}]},"title":"Append thread messages - Sidenet API","buildId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","deploymentId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DsGgv5pK.js","utils-B0h6ZXi-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-IgrnFwPw.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C49-TBER.js","snippetPresets-BPHn-9OB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CGBwAHwX.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BjABHCCH.js","shallow-C0Uj5sOI.js","getApiPlaygroundDisplay-BnYiIeY4.js","CodeSnippet-BJWWrlBw.js","CodeSnippets-bxE5aDye.js","Page-BBU7roUf.js","getPastedJson-BAjriezQ.js","icon-BqcS52QC.js","MethodPill-BPGyN9me.js","DuplicateIcon-CCf2giLL.js","createIcon-CVH8aNt2.js","DynamicMarkdown-BklwmxA6.js","SectionHeading-DYCZQFxh.js","axios-vUo_bRtp.js","Markdown-D26rHnOC.js","clsx-DkiOUx4h.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DI8jfVGc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DwJy-csb.js"]}