Use the CXP API to connect trusted websites, portals, and backend automations to
your customer experience workflows. Create or continue conversations, update
operational fields, assign work, add internal notes, and read details/history.ChatGPT and Codex use a separate OAuth connection and MCP endpoint; they do not
use tenant API keys. See Connect CXP to ChatGPT and Codex
for that user-consent flow.
The tenant in the URL and every ID, email channel, agent, or team referenced by
the request must belong to the API key’s authorized tenant. Write endpoints do
not accept a bearer token in the query string. A write-only key does not grant
read access; choose read/write or wildcard scopes for an integration needing both.
GET Conversation detail/history requests have no body. History accepts
optional limit (1–200, default 100) and opaque cursor query parameters.
For writes, use Content-Type: application/json.
Create Conversation accepts at most 1 MiB; update, assignment, and internal-note
operations accept at most 32 KiB.
Unknown request properties are rejected.
Optional blank strings are treated as absent where the endpoint permits
them.
Email addresses are trimmed and normalized to lowercase; phone numbers are
normalized to E.164 format.
You may send X-Request-Id or X-Correlation-Id to help Crescendo support
trace a request. These headers are tracing identifiers only. They do not make a
request idempotent or suppress duplicate work.
Each accepted write executes independently. Repeating a request can create
another conversation, message, or internal note, or repeat a field change. If a timeout or transport
error makes the outcome unclear, verify the result before retrying when
possible.
Conversation detail reads return the latest projection without root messages;
history reads return one oldest-first stored page, including internal notes.
Missing projections/history return null/empty successful results. Both reads
are marked Cache-Control: no-store. See Manage conversations.Success responses contain the result of the requested operation. They can also
contain a warnings array when the primary operation succeeded but a
documented best-effort follow-up did not. Treat warnings according to the
endpoint guide; they are not error responses.Errors use a stable JSON envelope:
{ "code": "BadRequest", "message": "message.text is required"}
For 429 RateLimitExceeded, wait for the number of seconds in the
Retry-After response header. A 502 or 504 can have an ambiguous mutation
outcome; retrying can duplicate the effect.
Follow Create a conversation or
Manage conversations for request mappings,
routing behavior, and copyable examples. Open API reference in the
developer navigation for the generated operation and machine-readable
contract.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Crescendo CXP Documentation","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/cxp/qzLutHilHYGEIkc7/logo/light.png?fit=max\u0026auto=format\u0026n=qzLutHilHYGEIkc7\u0026q=85\u0026s=b5082c07055ff79d37dc82b1c6db1a7e","dark":"https://mintcdn.com/cxp/qzLutHilHYGEIkc7/logo/dark.png?fit=max\u0026auto=format\u0026n=qzLutHilHYGEIkc7\u0026q=85\u0026s=b5a325a6618a3c137af6e72c952ed497"},"favicon":"https://mintcdn.com/cxp/QVAK8SdzA-wez6wK/favicon.png?fit=max\u0026auto=format\u0026n=QVAK8SdzA-wez6wK\u0026q=85\u0026s=cc300816020149618ec0fbcf1e11742a","navbar":{"links":[{"href":"mailto:support@crescendo.ai","label":"Support"}]},"footer":{"socials":{"linkedin":"https://linkedin.com/company/crescendocx"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Crescendo","icon":"house","href":"https://www.crescendo.ai"},{"anchor":"Support","icon":"life-ring","href":"mailto:support@crescendo.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cxp","hasAudioNarration":false,"actualSubdomain":"cxp","customDomains":["docs.cxp.crescendo.ai"],"gitSource":{"type":"github","owner":"enegelai","repo":"cxm","deployBranch":"main","contentDirectory":"public/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"9c99f9ea-2d11-445a-a110-ead9904cd66e","liveDeploymentHistoryId":"6ae58d1bb1d87e83eee5f742","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae58d1bb1d87e83eee5f742"},"entitlements":{"AI_CHAT":{"status":"ENABLED"}},"buildId":"6ae58d1bb1d87e83eee5f742","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"CXP","count":32},{"language":"default","tag":"Capabilities","count":21},{"language":"default","tag":"Admin guide","count":10},{"language":"default","tag":"Conversations","count":10},{"language":"default","tag":"Developers","count":10},{"language":"default","tag":"Agent guide","count":7},{"language":"default","tag":"Work with external contacts","count":6},{"language":"default","tag":"Scenarios","count":6},{"language":"default","tag":"API reference","count":6},{"language":"default","tag":"Analyze support","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"developers/api-overview","slug":"/developers/api-overview","pageMetadata":{"title":"CXP API overview","description":"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.","href":"/developers/api-overview"},"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: \"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`cxp-api-overview`,children:`CXP API overview`}),`\n`,_jsx(_components.p,{children:`Use the CXP API to connect trusted websites, portals, and backend automations to\nyour customer experience workflows. Create or continue conversations, update\noperational fields, assign work, add internal notes, and read details/history.`}),`\n`,_jsxs(_components.p,{children:[`ChatGPT and Codex use a separate OAuth connection and MCP endpoint; they do not\nuse tenant API keys. See `,_jsx(_components.a,{href:`/developers/connect-chatgpt-codex`,children:`Connect CXP to ChatGPT and Codex`}),`\nfor that user-consent flow.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`Before you send a request, obtain these values from your Crescendo contact:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Your tenant ID`}),`\n`,_jsxs(_components.li,{children:[`A tenant API key with `,_jsx(_components.code,{children:`cxm:conversations.read`}),` for reads and\n`,_jsx(_components.code,{children:`cxm:conversations.write`}),` for writes (or a broader scope for the action)`]}),`\n`,_jsx(_components.li,{children:`The production API base URL`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Keep API keys in a server-side secret store. Never put an API key in browser,\nmobile app, or public form code. Send requests over HTTPS.`}),`\n`,_jsx(Heading,{level:`2`,id:`authenticate`,children:`Authenticate`}),`\n`,_jsx(_components.p,{children:`Send the API key as a bearer token:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Authorization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer \u003ctenant-api-key>`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The tenant in the URL and every ID, email channel, agent, or team referenced by\nthe request must belong to the API key’s authorized tenant. Write endpoints do\nnot accept a bearer token in the query string. A write-only key does not grant\nread access; choose read/write or wildcard scopes for an integration needing both.`}),`\n`,_jsx(Heading,{level:`2`,id:`request-conventions`,children:`Request conventions`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`GET Conversation detail/history requests have no body. History accepts\noptional `,_jsx(_components.code,{children:`limit`}),` (1–200, default 100) and opaque `,_jsx(_components.code,{children:`cursor`}),` query parameters.`]}),`\n`,_jsxs(_components.li,{children:[`For writes, use `,_jsx(_components.code,{children:`Content-Type: application/json`}),`.`]}),`\n`,_jsx(_components.li,{children:`Create Conversation accepts at most 1 MiB; update, assignment, and internal-note\noperations accept at most 32 KiB.`}),`\n`,_jsx(_components.li,{children:`Unknown request properties are rejected.`}),`\n`,_jsx(_components.li,{children:`Optional blank strings are treated as absent where the endpoint permits\nthem.`}),`\n`,_jsx(_components.li,{children:`Email addresses are trimmed and normalized to lowercase; phone numbers are\nnormalized to E.164 format.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`You may send `,_jsx(_components.code,{children:`X-Request-Id`}),` or `,_jsx(_components.code,{children:`X-Correlation-Id`}),` to help Crescendo support\ntrace a request. These headers are tracing identifiers only. They do not make a\nrequest idempotent or suppress duplicate work.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Each accepted write executes independently. Repeating a request can create\nanother conversation, message, or internal note, or repeat a field change. If a timeout or transport\nerror makes the outcome unclear, verify the result before retrying when\npossible.`})}),`\n`,_jsx(Heading,{level:`2`,id:`responses-and-errors`,children:`Responses and errors`}),`\n`,_jsxs(_components.p,{children:[`Conversation detail reads return the latest projection without root messages;\nhistory reads return one oldest-first stored page, including internal notes.\nMissing projections/history return null/empty successful results. Both reads\nare marked `,_jsx(_components.code,{children:`Cache-Control: no-store`}),`. See `,_jsx(_components.a,{href:`/developers/conversation-operations`,children:`Manage conversations`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Success responses contain the result of the requested operation. They can also\ncontain a `,_jsx(_components.code,{children:`warnings`}),` array when the primary operation succeeded but a\ndocumented best-effort follow-up did not. Treat warnings according to the\nendpoint guide; they are not error responses.`]}),`\n`,_jsx(_components.p,{children:`Errors use a stable JSON envelope:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"BadRequest\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"message.text is required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For `,_jsx(_components.code,{children:`429 RateLimitExceeded`}),`, wait for the number of seconds in the\n`,_jsx(_components.code,{children:`Retry-After`}),` response header. A `,_jsx(_components.code,{children:`502`}),` or `,_jsx(_components.code,{children:`504`}),` can have an ambiguous mutation\noutcome; retrying can duplicate the effect.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-step`,children:`Next step`}),`\n`,_jsxs(_components.p,{children:[`Follow `,_jsx(_components.a,{href:`/developers/create-conversation`,children:`Create a conversation`}),` or\n`,_jsx(_components.a,{href:`/developers/conversation-operations`,children:`Manage conversations`}),` for request mappings,\nrouting behavior, and copyable examples. Open `,_jsx(_components.strong,{children:`API reference`}),` in the\ndeveloper navigation for the generated operation and machine-readable\ncontract.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"CXP API overview","description":"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.","href":"/developers/api-overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"CXP API overview","slug":"cxp-api-overview","depth":1,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Authenticate","slug":"authenticate","depth":2,"children":[]},{"title":"Request conventions","slug":"request-conventions","depth":2,"children":[]},{"title":"Responses and errors","slug":"responses-and-errors","depth":2,"children":[]},{"title":"Next step","slug":"next-step","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cxp/20b71f9a0fdf1b75/cxm-docs-password-gate.js"],"subdomain":"cxp","siteName":"Crescendo CXP Documentation","title":"CXP API overview - Crescendo CXP Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-07T23:28:20.546Z","originalFileLocation":"developers/api-overview.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=\"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Crescendo CXP 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/cxp/e3U7VDbNZMZP9uh7/_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/cxp/e3U7VDbNZMZP9uh7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cxp/e3U7VDbNZMZP9uh7/_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/cxp/e3U7VDbNZMZP9uh7/_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/cxp/e3U7VDbNZMZP9uh7/_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/cxp/e3U7VDbNZMZP9uh7/_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/cxp/e3U7VDbNZMZP9uh7/_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/cxp/e3U7VDbNZMZP9uh7/_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/cxp/e3U7VDbNZMZP9uh7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"CXP API overview - Crescendo CXP Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Crescendo CXP Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cxp.crescendo.ai/developers/api-overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cxp.mintlify.app/_mintlify/api/og/v2?division=API+guides\u0026amp;title=CXP+API+overview\u0026amp;description=Authenticate+to+the+CXP+API+and+understand+its+tenant%2C+security%2C+execution%2C+and+response+conventions.\u0026amp;theme=db8a1c43495fbccdeaa0a9b9\u0026amp;signature=922a8254c5f252c69365d5c96579452e8d7e83e20d9ce4e8f4f2023321d1e995\">\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=\"CXP API overview - Crescendo CXP Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cxp.mintlify.app/_mintlify/api/og/v2?division=API+guides\u0026amp;title=CXP+API+overview\u0026amp;description=Authenticate+to+the+CXP+API+and+understand+its+tenant%2C+security%2C+execution%2C+and+response+conventions.\u0026amp;theme=db8a1c43495fbccdeaa0a9b9\u0026amp;signature=922a8254c5f252c69365d5c96579452e8d7e83e20d9ce4e8f4f2023321d1e995\">\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/cxp/e3U7VDbNZMZP9uh7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Crescendo CXP Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cxp.crescendo.ai/developers/api-overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/developers/api-overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cxp.crescendo.ai/#organization\",\"name\":\"Crescendo CXP Documentation\",\"url\":\"https://docs.cxp.crescendo.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cxp/qzLutHilHYGEIkc7/logo/light.png?fit=max\u0026auto=format\u0026n=qzLutHilHYGEIkc7\u0026q=85\u0026s=b5082c07055ff79d37dc82b1c6db1a7e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cxp.crescendo.ai#website\",\"name\":\"Crescendo CXP Documentation\",\"url\":\"https://docs.cxp.crescendo.ai\",\"publisher\":{\"@id\":\"https://docs.cxp.crescendo.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cxp.crescendo.ai/developers/api-overview#webpage\",\"url\":\"https://docs.cxp.crescendo.ai/developers/api-overview\",\"name\":\"CXP API overview\",\"description\":\"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.\",\"dateModified\":\"2026-09-07T23:28:20.546Z\",\"isPartOf\":{\"@id\":\"https://docs.cxp.crescendo.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cxp.crescendo.ai/developers/api-overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cxp.crescendo.ai/developers/api-overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Crescendo CXP Documentation\",\"item\":\"https://docs.cxp.crescendo.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CXP API overview\",\"item\":\"https://docs.cxp.crescendo.ai/developers/api-overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.cxp.crescendo.ai/developers/api-overview#article\",\"headline\":\"CXP API overview\",\"name\":\"CXP API overview\",\"description\":\"Authenticate to the CXP API and understand its tenant, security, execution, and response conventions.\",\"url\":\"https://docs.cxp.crescendo.ai/developers/api-overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cxp.crescendo.ai/developers/api-overview#webpage\"},\"dateModified\":\"2026-09-07T23:28:20.546Z\",\"publisher\":{\"@id\":\"https://docs.cxp.crescendo.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cxp.crescendo.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Crescendo CXP Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Crescendo CXP Documentation","nav":{"global":{"anchors":[{"anchor":"Crescendo","icon":"house","href":"https://www.crescendo.ai"},{"anchor":"Support","icon":"life-ring","href":"mailto:support@crescendo.ai"}]},"tabs":[{"tab":"CXP","pages":[{"title":"CXP","href":""}]},{"tab":"Capabilities","pages":[{"title":"Capabilities","href":"/capabilities"}]},{"tab":"Developers","groups":[{"group":"API guides","pages":[{"title":"CXP API overview","href":"/developers/api-overview"},{"title":"Create a conversation","description":"Create or continue a CXP conversation from a form or backend automation.","href":"/developers/create-conversation"},{"title":"Manage conversations with the API","href":"/developers/conversation-operations"},{"title":"Authenticated chat widgets","href":"/developers/authenticated-widget"}]},{"group":"API reference","pages":[{"group":"Conversations","pages":[{"title":"Create or continue a conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /api/v1/cxm/tenants/{tenantId}/conversations","href":"/api-reference/conversations/create-or-continue-a-conversation"},{"title":"Get a conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /api/v1/cxm/tenants/{tenantId}/conversations/{conversationId}","href":"/api-reference/conversations/get-a-conversation"},{"title":"Update a conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /api/v1/cxm/tenants/{tenantId}/conversations/{conversationId}","href":"/api-reference/conversations/update-a-conversation"},{"title":"Assign a conversation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json put /api/v1/cxm/tenants/{tenantId}/conversations/{conversationId}/assignment","href":"/api-reference/conversations/assign-a-conversation"},{"title":"Add a conversation internal note","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /api/v1/cxm/tenants/{tenantId}/conversations/{conversationId}/internal-notes","href":"/api-reference/conversations/add-a-conversation-internal-note"},{"title":"Get conversation history","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /api/v1/cxm/tenants/{tenantId}/conversations/{conversationId}/history","href":"/api-reference/conversations/get-conversation-history"}]}]}]},{"tab":"What's new","pages":[{"title":"What's new","href":"/whats-new"}]}]},"basePath":"","title":"CXP API overview - Crescendo CXP Documentation","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}