{ "realtimeAssistantId": "26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "Shifa Clinic appointment confirmation", "description": "Confirms next-day appointments for Shifa Clinic patients", "config": { "agent": { "instructions": "آپ شفا کلینک کی جانب سے کال کر رہے ہیں۔ مریض سے کل کی اپائنٹمنٹ کی تصدیق کریں، وقت بتائیں، اور اگر وہ تاریخ بدلنا چاہیں تو نیا وقت پوچھیں۔ صرف نستعلیق اردو میں جواب دیں۔", "initialGreeting": true, "greetingInstructions": "السلام علیکم کہیں، اپنا اور کلینک کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ بات کر سکتے ہیں۔" }, "session": { "ttl": 1800, "roomPrefix": "shifa-clinic" }, "stt": { "default": { "provider": "soniox", "model": "stt-rt-preview", "language": "ur" } }, "tts": { "default": { "provider": "upliftai", "voiceId": "v_meklc281", "outputFormat": "MP3_22050_32" } }, "llm": { "default": { "provider": "google", "model": "gemini-2.5-flash" } } }, "public": false, "createdAt": "2026-08-18T02:05:22.029Z", "updatedAt": "2026-08-18T02:05:22.029Z", "createdBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "updatedBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "version": 1}
Assistants
Get an assistant
Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a version.
{ "realtimeAssistantId": "26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "Shifa Clinic appointment confirmation", "description": "Confirms next-day appointments for Shifa Clinic patients", "config": { "agent": { "instructions": "آپ شفا کلینک کی جانب سے کال کر رہے ہیں۔ مریض سے کل کی اپائنٹمنٹ کی تصدیق کریں، وقت بتائیں، اور اگر وہ تاریخ بدلنا چاہیں تو نیا وقت پوچھیں۔ صرف نستعلیق اردو میں جواب دیں۔", "initialGreeting": true, "greetingInstructions": "السلام علیکم کہیں، اپنا اور کلینک کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ بات کر سکتے ہیں۔" }, "session": { "ttl": 1800, "roomPrefix": "shifa-clinic" }, "stt": { "default": { "provider": "soniox", "model": "stt-rt-preview", "language": "ur" } }, "tts": { "default": { "provider": "upliftai", "voiceId": "v_meklc281", "outputFormat": "MP3_22050_32" } }, "llm": { "default": { "provider": "google", "model": "gemini-2.5-flash" } } }, "public": false, "createdAt": "2026-08-18T02:05:22.029Z", "updatedAt": "2026-08-18T02:05:22.029Z", "createdBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "updatedBy": "ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "version": 1}
draft, prod, or a published version number. prod and a number return exactly what a call on them would run. A number that was never published is a 404.
The version this response shows. Every save bumps it, so published numbers skip the saves in between.
Required range: x >= 1
{"docsConfig":{"theme":"mint","$schema":"https://leaves.mintlify.com/schema/docs.json","name":"Uplift AI API Docs","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/upliftai/2tcJSpA9F8g1W_V1/logo/logo.png?fit=max\u0026auto=format\u0026n=2tcJSpA9F8g1W_V1\u0026q=85\u0026s=c3823c19a41e66e704751aa27b97cde9","dark":"https://mintcdn.com/upliftai/2tcJSpA9F8g1W_V1/logo/logo.png?fit=max\u0026auto=format\u0026n=2tcJSpA9F8g1W_V1\u0026q=85\u0026s=c3823c19a41e66e704751aa27b97cde9"},"favicon":"https://mintcdn.com/upliftai/2tcJSpA9F8g1W_V1/favicon.ico?fit=max\u0026auto=format\u0026n=2tcJSpA9F8g1W_V1\u0026q=85\u0026s=a680f5e0b8dc59015e866648796975b1","appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"mailto:founders@upliftai.org","label":"Support"}],"primary":{"type":"button","label":"Sign Up","href":"https://upliftai.org"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/upliftai"}},"integrations":{"posthog":{"apiKey":"phc_EGK5H7jrhZrIhLXWfAWCmjjljJQwF6ejp1P73EtmG7q","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"upliftai","hasAudioNarration":false,"actualSubdomain":"upliftai","customDomains":["docs.upliftai.org"],"gitSource":{"type":"github","owner":"uplift-initiative","repo":"runtime-api-mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae19c28ba4b20fd94ecdb26","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Voice Agents","count":81},{"language":"default","tag":"API Reference","count":51},{"language":"default","tag":"Orator API","count":25},{"language":"default","tag":"SDKs","count":18},{"language":"default","tag":"Assistants","count":16},{"language":"default","tag":"Campaigns","count":11},{"language":"default","tag":"Contacts","count":11},{"language":"default","tag":"Orator REST API","count":9},{"language":"default","tag":"Node.js SDK","count":8},{"language":"default","tag":"Campaign outcomes","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".urdu{font-family:'Noto Nastaliq Urdu', sans-serif;font-size:1.2em;line-height:1.5em;text-align:justify;direction:rtl;unicode-bidi:embed;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none}"}],"page":{"pagePath":"api-reference/assistants/get-an-assistant","slug":"/api-reference/assistants/get-an-assistant","pageMetadata":{"title":"Get an assistant","description":"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a `version`.","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/{realtimeAssistantId}","href":"/api-reference/assistants/get-an-assistant","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 ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a \", _jsx(_components.code, {\n children: \"version\"\n }), \".\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get an assistant","description":"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a `version`.","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/{realtimeAssistantId}","href":"/api-reference/assistants/get-an-assistant","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/upliftai/ed1a602c792dd94e/data/voices.js"],"openApiReferenceData":{"operation":{"operationId":"getRealtimeAssistant","tags":["Assistants"],"summary":"Get an assistant","description":"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a `version`.","parameters":["2088b1d8-eda9-4632-9912-393094b4e6d1","82ad7adb-e513-47ae-9988-13c4db5ae3f8"],"responses":{"200":"1452b627-68d8-4daf-94a6-b131474e4974","400":"676b65fc-e503-4813-8430-1ea108a087b2","401":"0c396881-26f7-466e-9836-c270b72cd0cf","403":"1b14417f-379a-4256-aade-a5b2bd660112","404":"4fab9d89-fc7f-4280-8789-fa0ff23e8ac1","503":"accb83b6-f71e-4276-ba50-5149e3451bdf"},"method":"get","type":"path","servers":["f8e1e33f-9cf0-4bbb-b41e-9136c129f7ef"],"security":["73bac4ee-98c5-4fa2-834c-9f180d41c637"],"path":"/realtime-assistants/{realtimeAssistantId}","baseUrlOptions":["https://api.upliftai.org/v1"],"title":"Get an assistant","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"2088b1d8-eda9-4632-9912-393094b4e6d1":{"name":"realtimeAssistantId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"26932cc0-88a1-4f06-b7d2-4be0a3f0d571"},"82ad7adb-e513-47ae-9988-13c4db5ae3f8":{"name":"version","in":"query","required":false,"description":"`draft`, `prod`, or a published version number. `prod` and a number return exactly what a call on them would run. A number that was never published is a 404.","schema":{"oneOf":[{"type":"string","default":"draft","enum":["draft","prod"],"description":"`draft`, `prod`, or a published version number. `prod` and a number return exactly what a call on them would run. A number that was never published is a 404.","uniqueKey":"oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"integer","default":"draft","minimum":1,"description":"`draft`, `prod`, or a published version number. `prod` and a number return exactly what a call on them would run. A number that was never published is a 404.","uniqueKey":"oneOf.1","typeLabel":"integer"}],"isRequired":false,"uniqueKey":"","typeLabel":"enum\u003cstring> | integer"},"example":"prod"}},"responses":{"1452b627-68d8-4daf-94a6-b131474e4974":{"description":"The assistant.","content":{"application/json":{"schema":{"type":"object","properties":{"realtimeAssistantId":{"type":"string","format":"uuid","uniqueKey":"realtimeAssistantId","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","uniqueKey":"organizationId","typeLabel":"string\u003cuuid>"},"projectId":{"type":"string","format":"uuid","uniqueKey":"projectId","typeLabel":"string\u003cuuid>"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"description":{"type":"string","uniqueKey":"description","typeLabel":"string"},"config":{"type":"object","additionalProperties":true,"description":"Keys beyond those listed are stored and returned unchanged.","properties":{"agent":{"type":"object","properties":{"instructions":{"type":"string","minLength":1,"description":"System prompt. For Urdu assistants, tell the model to reply in Nastaliq script — otherwise it tends to answer in Roman Urdu.","isRequired":true,"uniqueKey":"config.agent.instructions","typeLabel":"string"},"initialGreeting":{"type":"boolean","default":false,"description":"Whether the assistant speaks first instead of waiting for the caller.","uniqueKey":"config.agent.initialGreeting","typeLabel":"boolean"},"greetingInstructions":{"type":"string","description":"Describe how the agent should greet — it uses the prompt to come up with the opening line, so you can say \"Say salam and confirm you are talking to the right person.\" Ignored unless `initialGreeting` is true.","uniqueKey":"config.agent.greetingInstructions","typeLabel":"string"},"tools":{"type":"array","description":"A tool with no `execution` is a client tool: we deliver the call to your browser client over the session, with the tool name as the RPC method. A tool whose `execution` points at a tool endpoint connection goes to that endpoint instead, on phone calls and web sessions alike.","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"config.agent.tools.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","minLength":1,"description":"What the tool does. The model picks the tool from this text.","isRequired":true,"uniqueKey":"config.agent.tools.items.[INDEX].description","typeLabel":"string"},"parameters":{"type":"object","description":"JSON Schema for the tool's arguments.","properties":{"type":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"config.agent.tools.items.[INDEX].parameters.type","typeLabel":"string"},"properties":{"type":"object","isRequired":true,"uniqueKey":"config.agent.tools.items.[INDEX].parameters.properties","typeLabel":"object"},"required":{"type":"array","items":{"type":"string","uniqueKey":"config.agent.tools.items.[INDEX].parameters.required.items.[INDEX]","typeLabel":"string"},"uniqueKey":"config.agent.tools.items.[INDEX].parameters.required","typeLabel":"string[]"}},"required":["type","properties"],"isRequired":true,"uniqueKey":"config.agent.tools.items.[INDEX].parameters","typeLabel":"object"},"timeout":{"type":"number","minimum":0,"description":"Seconds to wait for a client tool's handler before the assistant moves on. Default 10. Webhook tools always get 10 seconds.","uniqueKey":"config.agent.tools.items.[INDEX].timeout","typeLabel":"number"},"execution":{"type":"object","description":"Where the tool runs. Omit it for a client tool, which your web page or mobile app executes over the session. Set `type: tool_endpoint` with the id of a tool endpoint you added on the [portal](https://upliftai.org/app/calling/webhooks) to have the platform POST the call to your server instead. See [Webhook tools](/voice-agents/tools/webhook-tools).","properties":{"type":{"type":"string","enum":["client_rpc","tool_endpoint"],"isRequired":true,"uniqueKey":"config.agent.tools.items.[INDEX].execution.type","typeLabel":"enum\u003cstring>"},"connectionId":{"type":"string","description":"Required when `type` is `tool_endpoint`. The id of a tool endpoint in this project, from the [portal](https://upliftai.org/app/calling/webhooks). A webhook's id is rejected at call time. Not checked on create: a missing or wrong id surfaces as an error result on the call, not a 400.","uniqueKey":"config.agent.tools.items.[INDEX].execution.connectionId","typeLabel":"string"}},"required":["type"],"uniqueKey":"config.agent.tools.items.[INDEX].execution","typeLabel":"object"}},"required":["name","description","parameters"],"uniqueKey":"config.agent.tools.items.[INDEX]","typeLabel":"object"},"uniqueKey":"config.agent.tools","typeLabel":"object[]"}},"required":["instructions"],"isRequired":true,"uniqueKey":"config.agent","typeLabel":"object"},"grading":{"type":"object","description":"Assistant-level scorecard. Every non-campaign call of this assistant — web, inbound, raw API dial — is graded against it; campaign calls use the campaign's own scorecard instead. See [Scorecards](/voice-agents/assistants/scorecards). A `scorecard` that is not an object, or whose points don't total 100, is a 400.","properties":{"scorecard":{"type":"object","description":"The rubric every call on this campaign is graded against. It freezes once any call has been graded, so revise it before launching.","properties":{"rubricVersionId":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"config.grading.scorecard.rubricVersionId","typeLabel":"string"},"rules":{"type":"array","minItems":1,"description":"Rule ids must be unique and their `points` must total exactly 100.","items":{"type":"object","properties":{"ruleId":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"config.grading.scorecard.rules.items.[INDEX].ruleId","typeLabel":"string"},"title":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"config.grading.scorecard.rules.items.[INDEX].title","typeLabel":"string"},"instruction":{"type":"string","minLength":1,"description":"What the grader looks for in the transcript to award this rule.","isRequired":true,"uniqueKey":"config.grading.scorecard.rules.items.[INDEX].instruction","typeLabel":"string"},"scoringType":{"type":"string","enum":["binary"],"description":"Each rule is earned in full or not at all.","isRequired":true,"uniqueKey":"config.grading.scorecard.rules.items.[INDEX].scoringType","typeLabel":"enum\u003cstring>"},"points":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"config.grading.scorecard.rules.items.[INDEX].points","typeLabel":"integer"},"evidenceRequired":{"type":"boolean","description":"When true, the grader must cite a transcript quote to award the rule.","uniqueKey":"config.grading.scorecard.rules.items.[INDEX].evidenceRequired","typeLabel":"boolean"}},"required":["ruleId","title","instruction","scoringType","points"],"uniqueKey":"config.grading.scorecard.rules.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"config.grading.scorecard.rules","typeLabel":"object[]"}},"required":["rubricVersionId","rules"],"uniqueKey":"config.grading.scorecard","typeLabel":"object"}},"uniqueKey":"config.grading","typeLabel":"object"},"noiseCancellation":{"type":"object","description":"Cleans the caller's audio before speech-to-text. `enabled` is required, and an unknown `model` is a 400.","properties":{"enabled":{"type":"boolean","isRequired":true,"uniqueKey":"config.noiseCancellation.enabled","typeLabel":"boolean"},"model":{"type":"string","enum":["quail_vf_s","quail_vf_l","quail_l"],"default":"quail_vf_s","uniqueKey":"config.noiseCancellation.model","typeLabel":"enum\u003cstring>"},"level":{"type":"number","default":0.1,"description":"Suppression strength. Stronger settings clipped short Urdu backchannels, which is why the default is low.","uniqueKey":"config.noiseCancellation.level","typeLabel":"number"}},"required":["enabled"],"uniqueKey":"config.noiseCancellation","typeLabel":"object"},"backgroundNoise":{"type":"object","description":"Plays ambient room sound under the call. `enabled` is required.","properties":{"enabled":{"type":"boolean","isRequired":true,"uniqueKey":"config.backgroundNoise.enabled","typeLabel":"boolean"}},"required":["enabled"],"uniqueKey":"config.backgroundNoise","typeLabel":"object"},"session":{"type":"object","properties":{"ttl":{"type":"integer","minimum":1,"default":600,"description":"Lifetime in seconds of each web session's join token. Caps how long a client has to connect, not how long a call may run.","uniqueKey":"config.session.ttl","typeLabel":"integer"},"roomPrefix":{"type":"string","maxLength":32,"description":"Cosmetic prefix on generated room names. The server appends the session id.","uniqueKey":"config.session.roomPrefix","typeLabel":"string"}},"uniqueKey":"config.session","typeLabel":"object"},"stt":{"type":"object","description":"`default` is the only supported key today (same for `tts`/`llm`).","properties":{"default":{"oneOf":[{"type":"object","title":"Soniox","description":"Pick the shape matching your provider.","required":["provider"],"properties":{"provider":{"type":"string","enum":["soniox"],"isRequired":true,"uniqueKey":"config.stt.default.oneOf.0.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`stt-rt-v4` (default) or `stt-rt-v5`.","example":"stt-rt-v4","uniqueKey":"config.stt.default.oneOf.0.model","typeLabel":"string"},"language":{"type":"string","description":"Bias hint, not a hard filter — language identification stays on, so other languages in the audio are still recognized. Defaults to `ur`.","example":"ur","uniqueKey":"config.stt.default.oneOf.0.language","typeLabel":"string"},"context":{"type":"string","description":"Free-text biasing — names, products, phrases the model should expect to hear.","uniqueKey":"config.stt.default.oneOf.0.context","typeLabel":"string"},"endpointLatencyAdjustmentLevel":{"type":"integer","minimum":0,"maximum":3,"description":"How hard Soniox cuts the wait between the caller stopping and the final transcript. Higher is faster, with a small risk of ending a turn at a pause. Omit for the Soniox default.","example":1,"uniqueKey":"config.stt.default.oneOf.0.endpointLatencyAdjustmentLevel","typeLabel":"integer"},"endpointSensitivity":{"type":"number","minimum":-1,"maximum":1,"description":"How readily Soniox ends a turn. Higher ends turns sooner. Omit for the Soniox default.","uniqueKey":"config.stt.default.oneOf.0.endpointSensitivity","typeLabel":"number"},"maxEndpointDelayMs":{"type":"integer","minimum":500,"maximum":3000,"description":"The longest Soniox waits after the caller stops before it ends the turn. Omit for the Soniox default (2000).","uniqueKey":"config.stt.default.oneOf.0.maxEndpointDelayMs","typeLabel":"integer"},"apiKey":{"type":"string","description":"Your own Soniox key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.stt.default.oneOf.0.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.stt.default.oneOf.0","typeLabel":"Soniox · object"},{"type":"object","title":"Deepgram","description":"Pick the shape matching your provider.","required":["provider"],"properties":{"provider":{"type":"string","enum":["deepgram"],"isRequired":true,"uniqueKey":"config.stt.default.oneOf.1.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`nova-3` (default) or `nova-2`.","example":"nova-3","uniqueKey":"config.stt.default.oneOf.1.model","typeLabel":"string"},"language":{"type":"string","description":"Defaults to `multi` (multilingual).","example":"multi","uniqueKey":"config.stt.default.oneOf.1.language","typeLabel":"string"},"apiKey":{"type":"string","description":"Your own Deepgram key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.stt.default.oneOf.1.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.stt.default.oneOf.1","typeLabel":"Deepgram · object"},{"type":"object","title":"OpenAI","description":"Pick the shape matching your provider.","required":["provider"],"properties":{"provider":{"type":"string","enum":["openai"],"isRequired":true,"uniqueKey":"config.stt.default.oneOf.2.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"Defaults to `whisper-1`.","example":"whisper-1","uniqueKey":"config.stt.default.oneOf.2.model","typeLabel":"string"},"language":{"type":"string","description":"ISO code. Defaults to `ur`.","example":"ur","uniqueKey":"config.stt.default.oneOf.2.language","typeLabel":"string"},"prompt":{"type":"string","description":"Free-text biasing — names, products, phrases the model should expect to hear.","uniqueKey":"config.stt.default.oneOf.2.prompt","typeLabel":"string"},"useRealtime":{"type":"boolean","description":"Use OpenAI's realtime transcription. Defaults to false.","uniqueKey":"config.stt.default.oneOf.2.useRealtime","typeLabel":"boolean"},"apiKey":{"type":"string","description":"Your own OpenAI key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.stt.default.oneOf.2.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.stt.default.oneOf.2","typeLabel":"OpenAI · object"},{"type":"object","title":"Groq","description":"Pick the shape matching your provider.","required":["provider"],"properties":{"provider":{"type":"string","enum":["groq"],"isRequired":true,"uniqueKey":"config.stt.default.oneOf.3.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`whisper-large-v3-turbo` (default), `whisper-large-v3`, or `distil-whisper-large-v3-en`.","example":"whisper-large-v3-turbo","uniqueKey":"config.stt.default.oneOf.3.model","typeLabel":"string"},"language":{"type":"string","description":"ISO code. Defaults to `ur`.","example":"ur","uniqueKey":"config.stt.default.oneOf.3.language","typeLabel":"string"},"prompt":{"type":"string","description":"Free-text biasing — names, products, phrases the model should expect to hear.","uniqueKey":"config.stt.default.oneOf.3.prompt","typeLabel":"string"},"apiKey":{"type":"string","description":"Your own Groq key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.stt.default.oneOf.3.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.stt.default.oneOf.3","typeLabel":"Groq · object"},{"type":"object","title":"Uplift AI","description":"Pick the shape matching your provider.","required":["provider"],"properties":{"provider":{"type":"string","enum":["upliftai"],"isRequired":true,"uniqueKey":"config.stt.default.oneOf.4.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`large-v3`.","example":"large-v3","uniqueKey":"config.stt.default.oneOf.4.model","typeLabel":"string"},"language":{"type":"string","description":"ISO code. Defaults to `ur`.","example":"ur","uniqueKey":"config.stt.default.oneOf.4.language","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.stt.default.oneOf.4","typeLabel":"Uplift AI · object"}],"isRequired":true,"uniqueKey":"config.stt.default","typeLabel":"Soniox · object | Deepgram · object | OpenAI · object | Groq · object | Uplift AI · object"}},"required":["default"],"uniqueKey":"config.stt","typeLabel":"object"},"tts":{"type":"object","properties":{"default":{"oneOf":[{"type":"object","title":"Uplift AI","description":"Pick the shape matching your provider. A TTS block without a usable `voiceId` stores fine and fails at connect time.","required":["provider","voiceId"],"properties":{"provider":{"type":"string","enum":["upliftai"],"isRequired":true,"uniqueKey":"config.tts.default.oneOf.0.provider","typeLabel":"enum\u003cstring>"},"voiceId":{"type":"string","description":"Pick an id from the [voices gallery](/orator_voices) — 80+ voices tuned for Urdu and regional languages.","example":"helpdesk-agent","isRequired":true,"uniqueKey":"config.tts.default.oneOf.0.voiceId","typeLabel":"string"},"outputFormat":{"type":"string","description":"Defaults to `MP3_22050_32`.","example":"MP3_22050_32","uniqueKey":"config.tts.default.oneOf.0.outputFormat","typeLabel":"string"},"speed":{"type":"number","minimum":0.5,"maximum":2,"default":1,"description":"How fast the voice speaks. `1` is the normal rate, `0.5` is half the speed and `2` is twice as fast. A value outside 0.5 to 2 is not rejected: the call speaks at the normal rate.","example":1,"uniqueKey":"config.tts.default.oneOf.0.speed","typeLabel":"number"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.tts.default.oneOf.0","typeLabel":"Uplift AI · object"},{"type":"object","title":"OpenAI","description":"Pick the shape matching your provider. A TTS block without a usable `voiceId` stores fine and fails at connect time.","required":["provider"],"properties":{"provider":{"type":"string","enum":["openai"],"isRequired":true,"uniqueKey":"config.tts.default.oneOf.1.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"Defaults to `gpt-4o-mini-tts`.","example":"gpt-4o-mini-tts","uniqueKey":"config.tts.default.oneOf.1.model","typeLabel":"string"},"voiceId":{"type":"string","description":"An OpenAI voice name. Defaults to `alloy`.","example":"alloy","uniqueKey":"config.tts.default.oneOf.1.voiceId","typeLabel":"string"},"apiKey":{"type":"string","description":"Your own OpenAI key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.tts.default.oneOf.1.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.tts.default.oneOf.1","typeLabel":"OpenAI · object"},{"type":"object","title":"Soniox","description":"Pick the shape matching your provider. A TTS block without a usable `voiceId` stores fine and fails at connect time.","required":["provider","voiceId"],"properties":{"provider":{"type":"string","enum":["soniox"],"isRequired":true,"uniqueKey":"config.tts.default.oneOf.2.provider","typeLabel":"enum\u003cstring>"},"voiceId":{"type":"string","description":"A Soniox voice name.","example":"Maya","isRequired":true,"uniqueKey":"config.tts.default.oneOf.2.voiceId","typeLabel":"string"},"model":{"type":"string","description":"Defaults to `tts-rt-v1`.","example":"tts-rt-v1","uniqueKey":"config.tts.default.oneOf.2.model","typeLabel":"string"},"language":{"type":"string","description":"ISO code. Defaults to `ur`.","example":"ur","uniqueKey":"config.tts.default.oneOf.2.language","typeLabel":"string"},"apiKey":{"type":"string","description":"Your own Soniox key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.tts.default.oneOf.2.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.tts.default.oneOf.2","typeLabel":"Soniox · object"}],"isRequired":true,"uniqueKey":"config.tts.default","typeLabel":"Uplift AI · object | OpenAI · object | Soniox · object"}},"required":["default"],"uniqueKey":"config.tts","typeLabel":"object"},"llm":{"type":"object","properties":{"default":{"oneOf":[{"type":"object","title":"Google Gemini","description":"Pick the shape matching your provider — each takes different knobs, and a knob sent to the wrong provider is silently ignored.","required":["provider","model"],"properties":{"provider":{"type":"string","enum":["google"],"isRequired":true,"uniqueKey":"config.llm.default.oneOf.0.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`gemini-3.5-flash`, `gemini-3.1-flash-lite`, or `gemini-2.5-flash`.","example":"gemini-2.5-flash","isRequired":true,"uniqueKey":"config.llm.default.oneOf.0.model","typeLabel":"string"},"thinkingLevel":{"type":"string","enum":["minimal","low","medium","high"],"description":"Gemini 3.x models only. Reasoning depth per response — each step up adds latency, so `high` is rarely right for live calls. Absent behaves as the voice-tuned `low`.","uniqueKey":"config.llm.default.oneOf.0.thinkingLevel","typeLabel":"enum\u003cstring>"},"thinkingBudget":{"type":"integer","minimum":-1,"maximum":24576,"description":"Gemini 2.5 models only (not `-lite`). Maximum thinking tokens per response: `0` turns thinking off, `-1` lets the model decide, `1`–`24576` sets an explicit cap. Absent uses a voice-tuned low cap (512).","uniqueKey":"config.llm.default.oneOf.0.thinkingBudget","typeLabel":"integer"},"apiKey":{"type":"string","description":"Your own Gemini key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.llm.default.oneOf.0.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.llm.default.oneOf.0","typeLabel":"Google Gemini · object"},{"type":"object","title":"OpenAI","description":"Pick the shape matching your provider — each takes different knobs, and a knob sent to the wrong provider is silently ignored.","required":["provider","model"],"properties":{"provider":{"type":"string","enum":["openai"],"isRequired":true,"uniqueKey":"config.llm.default.oneOf.1.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`gpt-5.4-nano`, `gpt-5.4-mini`, or `gpt-4o-mini`.","example":"gpt-5.4-nano","isRequired":true,"uniqueKey":"config.llm.default.oneOf.1.model","typeLabel":"string"},"reasoningEffort":{"type":"string","enum":["none","low","medium","high","xhigh"],"description":"gpt-5.x models. Each step up adds latency per reply. Unset runs the model without a reasoning phase (classic `temperature: 0`).","uniqueKey":"config.llm.default.oneOf.1.reasoningEffort","typeLabel":"enum\u003cstring>"},"verbosity":{"type":"string","enum":["low","medium","high"],"description":"Answer-length control, gpt-5.x models only.","uniqueKey":"config.llm.default.oneOf.1.verbosity","typeLabel":"enum\u003cstring>"},"apiKey":{"type":"string","description":"Your own OpenAI key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.llm.default.oneOf.1.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.llm.default.oneOf.1","typeLabel":"OpenAI · object"},{"type":"object","title":"Cerebras","description":"Pick the shape matching your provider — each takes different knobs, and a knob sent to the wrong provider is silently ignored.","required":["provider","model"],"properties":{"provider":{"type":"string","enum":["cerebras"],"isRequired":true,"uniqueKey":"config.llm.default.oneOf.2.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`gpt-oss-120b`.","example":"gpt-oss-120b","isRequired":true,"uniqueKey":"config.llm.default.oneOf.2.model","typeLabel":"string"},"reasoningEffort":{"type":"string","enum":["low","medium","high"],"description":"Supported by the reasoning models (`gpt-oss-120b`). `none` is rejected by Cerebras; `verbosity` is not supported on any Cerebras model.","uniqueKey":"config.llm.default.oneOf.2.reasoningEffort","typeLabel":"enum\u003cstring>"},"apiKey":{"type":"string","description":"Your own Cerebras key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.llm.default.oneOf.2.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.llm.default.oneOf.2","typeLabel":"Cerebras · object"},{"type":"object","title":"Groq","description":"Pick the shape matching your provider — each takes different knobs, and a knob sent to the wrong provider is silently ignored.","required":["provider","model"],"properties":{"provider":{"type":"string","enum":["groq"],"isRequired":true,"uniqueKey":"config.llm.default.oneOf.3.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"`openai/gpt-oss-120b` or `openai/gpt-oss-20b`. No reasoning or verbosity knobs on this provider.","example":"openai/gpt-oss-120b","isRequired":true,"uniqueKey":"config.llm.default.oneOf.3.model","typeLabel":"string"},"apiKey":{"type":"string","description":"Your own Groq key; omit to bill through Uplift AI. Reads return it verbatim, so anyone who can read the assistant can see it.","uniqueKey":"config.llm.default.oneOf.3.apiKey","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"config.llm.default.oneOf.3","typeLabel":"Groq · object"}],"isRequired":true,"uniqueKey":"config.llm.default","typeLabel":"Google Gemini · object | OpenAI · object | Cerebras · object | Groq · object"}},"required":["default"],"uniqueKey":"config.llm","typeLabel":"object"}},"required":["agent"],"uniqueKey":"config","typeLabel":"object"},"public":{"type":"boolean","uniqueKey":"public","typeLabel":"boolean"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"type":"string","description":"Who created the assistant — an API key or a portal user.","uniqueKey":"createdBy","typeLabel":"string"},"updatedBy":{"type":"string","uniqueKey":"updatedBy","typeLabel":"string"},"version":{"type":"integer","minimum":1,"description":"The version this response shows. Every save bumps it, so published numbers skip the saves in between.","uniqueKey":"version","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"realtimeAssistantId":"26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx","organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","name":"Shifa Clinic appointment confirmation","description":"Confirms next-day appointments for Shifa Clinic patients","config":{"agent":{"instructions":"آپ شفا کلینک کی جانب سے کال کر رہے ہیں۔ مریض سے کل کی اپائنٹمنٹ کی تصدیق کریں، وقت بتائیں، اور اگر وہ تاریخ بدلنا چاہیں تو نیا وقت پوچھیں۔ صرف نستعلیق اردو میں جواب دیں۔","initialGreeting":true,"greetingInstructions":"السلام علیکم کہیں، اپنا اور کلینک کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ بات کر سکتے ہیں۔"},"session":{"ttl":1800,"roomPrefix":"shifa-clinic"},"stt":{"default":{"provider":"soniox","model":"stt-rt-preview","language":"ur"}},"tts":{"default":{"provider":"upliftai","voiceId":"v_meklc281","outputFormat":"MP3_22050_32"}},"llm":{"default":{"provider":"google","model":"gemini-2.5-flash"}}},"public":false,"createdAt":"2026-08-18T02:05:22.029Z","updatedAt":"2026-08-18T02:05:22.029Z","createdBy":"ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","updatedBy":"ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","version":1},"examples":{"Example":{"title":"Example","value":{"realtimeAssistantId":"26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx","organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","name":"Shifa Clinic appointment confirmation","description":"Confirms next-day appointments for Shifa Clinic patients","config":{"agent":{"instructions":"آپ شفا کلینک کی جانب سے کال کر رہے ہیں۔ مریض سے کل کی اپائنٹمنٹ کی تصدیق کریں، وقت بتائیں، اور اگر وہ تاریخ بدلنا چاہیں تو نیا وقت پوچھیں۔ صرف نستعلیق اردو میں جواب دیں۔","initialGreeting":true,"greetingInstructions":"السلام علیکم کہیں، اپنا اور کلینک کا تعارف کروائیں، پھر پوچھیں کہ کیا وہ بات کر سکتے ہیں۔"},"session":{"ttl":1800,"roomPrefix":"shifa-clinic"},"stt":{"default":{"provider":"soniox","model":"stt-rt-preview","language":"ur"}},"tts":{"default":{"provider":"upliftai","voiceId":"v_meklc281","outputFormat":"MP3_22050_32"}},"llm":{"default":{"provider":"google","model":"gemini-2.5-flash"}}},"public":false,"createdAt":"2026-08-18T02:05:22.029Z","updatedAt":"2026-08-18T02:05:22.029Z","createdBy":"ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","updatedBy":"ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","version":1}}},"exampleType":"examples"}},"exampleType":"examples"},"676b65fc-e503-4813-8430-1ea108a087b2":{"description":"`version` is not `draft`, `prod` or a whole number above 0.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"oneOf":[{"type":"string","description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"version must be 'prod', 'draft' or a published version number","error":"Bad Request","statusCode":400},"examples":{"Example":{"title":"Example","value":{"message":"version must be 'prod', 'draft' or a published version number","error":"Bad Request","statusCode":400}}},"exampleType":"examples"}},"exampleType":"examples"},"0c396881-26f7-466e-9836-c270b72cd0cf":{"description":"A bearer key was sent but is not recognized.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"oneOf":[{"type":"string","description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"invalid authorization","error":"Unauthorized","statusCode":401},"examples":{"Example":{"title":"Example","value":{"message":"invalid authorization","error":"Unauthorized","statusCode":401}}},"exampleType":"examples"}},"exampleType":"examples"},"1b14417f-379a-4256-aade-a5b2bd660112":{"description":"No API key sent, or the key lacks permission for this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"oneOf":[{"type":"string","description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Forbidden resource","error":"Forbidden","statusCode":403},"examples":{"Example":{"title":"Example","value":{"message":"Forbidden resource","error":"Forbidden","statusCode":403}}},"exampleType":"examples"}},"exampleType":"examples"},"4fab9d89-fc7f-4280-8789-fa0ff23e8ac1":{"description":"No such assistant in the API key's project, or no such published version of it.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"oneOf":[{"type":"string","description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"unknownAssistant":{"title":"unknownAssistant","value":{"message":"Realtime assistant not found: 00000000-0000-4000-8000-000000000000","error":"Not Found","statusCode":404}},"neverPublished":{"title":"neverPublished","value":{"message":"Version 7 of realtime assistant 26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx was never published","error":"Not Found","statusCode":404}}},"exampleType":"examples"}},"exampleType":"examples"},"accb83b6-f71e-4276-ba50-5149e3451bdf":{"description":"The published version hasn't reached this region yet, usually right after a publish. No session or call was started. Retry in a few seconds.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"oneOf":[{"type":"string","description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"One message per failed field for validation errors, a single string otherwise.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"message":"Published version 14 of assistant 0f4a91d3-xxxx-xxxx-xxxx-xxxxxxxxxxxx is not readable yet","statusCode":503},"examples":{"Example":{"title":"Example","value":{"message":"Published version 14 of assistant 0f4a91d3-xxxx-xxxx-xxxx-xxxxxxxxxxxx is not readable yet","statusCode":503}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"73bac4ee-98c5-4fa2-834c-9f180d41c637":{"apiKey":{"type":"http","scheme":"bearer","description":"Project API key (`sk_api_…`).","scopes":[],"schemeName":"apiKey"}}},"servers":{"f8e1e33f-9cf0-4bbb-b41e-9136c129f7ef":{"url":"https://api.upliftai.org/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Project API key (`sk_api_…`).","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Project API key (`sk_api_…`).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"voice-agents/api-reference/openapi.yaml"},"subdomain":"upliftai","siteName":"Uplift AI API Docs","title":"Get an assistant - Uplift AI API Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T06:54:41.064Z","originalFileLocation":"api-reference/assistants/get-an-assistant.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a version.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Uplift AI API Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/upliftai/JKzTglt2sBZGZsC-/_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/upliftai/JKzTglt2sBZGZsC-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/upliftai/JKzTglt2sBZGZsC-/_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/upliftai/JKzTglt2sBZGZsC-/_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/upliftai/JKzTglt2sBZGZsC-/_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/upliftai/JKzTglt2sBZGZsC-/_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/upliftai/JKzTglt2sBZGZsC-/_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/upliftai/JKzTglt2sBZGZsC-/_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/upliftai/JKzTglt2sBZGZsC-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get an assistant - Uplift AI API Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a version.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Uplift AI API Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://upliftai.mintlify.site/_mintlify/api/og/v2?division=Assistants\u0026amp;title=Get+an+assistant\u0026amp;description=Config+comes+back+verbatim+%E2%80%94+omitted+fields+stay+omitted+%E2%80%94+which+makes+this+the+read+step+before+an+update%2C+since+updates+replace+rather+than+merge.+You+get+the\u0026amp;theme=bb6dd6d40a49e0d34c2227da\u0026amp;signature=cd237fe4d0b43aa29a50e6afec50d3052e1240f2703bb708395a789f743c13f1\">\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 an assistant - Uplift AI API Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a version.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://upliftai.mintlify.site/_mintlify/api/og/v2?division=Assistants\u0026amp;title=Get+an+assistant\u0026amp;description=Config+comes+back+verbatim+%E2%80%94+omitted+fields+stay+omitted+%E2%80%94+which+makes+this+the+read+step+before+an+update%2C+since+updates+replace+rather+than+merge.+You+get+the\u0026amp;theme=bb6dd6d40a49e0d34c2227da\u0026amp;signature=cd237fe4d0b43aa29a50e6afec50d3052e1240f2703bb708395a789f743c13f1\">\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/upliftai/JKzTglt2sBZGZsC-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Uplift AI API Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/assistants/get-an-assistant.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.upliftai.org/#organization\",\"name\":\"Uplift AI API Docs\",\"url\":\"https://docs.upliftai.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/upliftai/2tcJSpA9F8g1W_V1/logo/logo.png?fit=max\u0026auto=format\u0026n=2tcJSpA9F8g1W_V1\u0026q=85\u0026s=c3823c19a41e66e704751aa27b97cde9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.upliftai.org#website\",\"name\":\"Uplift AI API Docs\",\"url\":\"https://docs.upliftai.org\",\"publisher\":{\"@id\":\"https://docs.upliftai.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant#webpage\",\"url\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant\",\"name\":\"Get an assistant\",\"description\":\"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a version.\",\"dateModified\":\"2026-10-28T06:54:41.064Z\",\"isPartOf\":{\"@id\":\"https://docs.upliftai.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.upliftai.org/voice-agents/api-reference/limits\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Assistants\",\"item\":\"https://docs.upliftai.org/api-reference/assistants/create-an-assistant\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get an assistant\",\"item\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant#apireference\",\"headline\":\"Get an assistant\",\"name\":\"Get an assistant\",\"description\":\"Config comes back verbatim — omitted fields stay omitted — which makes this the read step before an update, since updates replace rather than merge. You get the draft unless you ask for a version.\",\"url\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant\",\"mainEntityOfPage\":{\"@id\":\"https://docs.upliftai.org/api-reference/assistants/get-an-assistant#webpage\"},\"dateModified\":\"2026-10-28T06:54:41.064Z\",\"publisher\":{\"@id\":\"https://docs.upliftai.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.upliftai.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Uplift AI API Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Uplift AI API Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/assistants/get-an-assistant.md","siteName":"Uplift AI API Docs","nav":{"global":null,"tabs":[{"tab":"Orator API","pages":[{"title":"Orator API","href":"/introduction"}]},{"tab":"Voice Agents","groups":[{"group":"Getting started","pages":[{"title":"Overview","href":"/voice-agents/getting-started/overview"},{"title":"Quickstart: Web","href":"/voice-agents/getting-started/quickstart-web"},{"title":"Quickstart: Phone","href":"/voice-agents/getting-started/quickstart-phone"}]},{"group":"Concepts","pages":[{"title":"How it works","href":"/voice-agents/concepts/how-it-works"},{"title":"Tools overview","href":"/voice-agents/concepts/tools-overview"},{"title":"Phone call states","href":"/voice-agents/concepts/phone-call-states"},{"title":"Pricing","href":"/voice-agents/concepts/pricing"}]},{"group":"Assistants","pages":[{"title":"Working with assistants","href":"/voice-agents/assistants/working-with-assistants"},{"title":"Draft and publish","href":"/voice-agents/assistants/versions"},{"title":"Transient vs stored assistants","href":"/voice-agents/assistants/transient-vs-stored"},{"title":"Provider \u0026 model reference","href":"/voice-agents/assistants/providers-and-models"},{"title":"Recommended stack","href":"/voice-agents/assistants/recommended-stack"},{"title":"Voice prompting","href":"/voice-agents/assistants/voice-prompting"},{"title":"Build, refine \u0026 simulate","href":"/voice-agents/assistants/build-refine-simulate"},{"title":"Scorecards","href":"/voice-agents/assistants/scorecards"}]},{"group":"Tools","pages":[{"title":"Client tools","href":"/voice-agents/tools/client-tools"},{"title":"Webhook tools","href":"/voice-agents/tools/webhook-tools"},{"title":"End call","href":"/voice-agents/tools/system/end-call"}]},{"group":"Personalization","pages":[{"title":"Variables","href":"/voice-agents/personalization/variables"},{"title":"Per-call instructions","href":"/voice-agents/personalization/per-call-instructions"}]},{"group":"Calling","pages":[{"title":"Outbound calls","href":"/voice-agents/calling/outbound"},{"title":"Inbound calls","href":"/voice-agents/calling/inbound"},{"title":"Phone numbers \u0026 concurrency","href":"/voice-agents/calling/concurrency"},{"title":"Call end reasons","href":"/voice-agents/calling/call-end-reasons"},{"title":"Session details \u0026 transcripts","href":"/voice-agents/calling/session-details"},{"title":"Live listen","href":"/voice-agents/calling/live-listen"}]},{"group":"Campaigns","pages":[{"title":"Getting started with batch calling","href":"/voice-agents/campaigns/getting-started"},{"title":"[ ] Static vs continuous campaigns","hidden":true,"href":"/voice-agents/campaigns/static-vs-continuous"},{"title":"[ ] Static campaigns","hidden":true,"href":"/voice-agents/campaigns/static"},{"title":"[ ] Continuous campaigns","hidden":true,"href":"/voice-agents/campaigns/continuous"},{"title":"[ ] Contacts","hidden":true,"href":"/voice-agents/campaigns/contacts"},{"title":"[ ] Scheduling \u0026 retries","hidden":true,"href":"/voice-agents/campaigns/scheduling-and-retries"},{"title":"[ ] Goals \u0026 scorecards","hidden":true,"href":"/voice-agents/campaigns/goals-and-scorecards"},{"title":"[ ] Results \u0026 stats","hidden":true,"href":"/voice-agents/campaigns/results"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","href":"/voice-agents/webhooks/overview"},{"title":"Event reference","href":"/voice-agents/webhooks/events"}]},{"group":"Frontend","pages":[{"title":"[ ] Architecture","hidden":true,"href":"/voice-agents/frontend/architecture"},{"title":"[ ] React","hidden":true,"href":"/voice-agents/frontend/react"},{"title":"[ ] Widget embed","hidden":true,"href":"/voice-agents/frontend/widget"},{"title":"[ ] Monitoring UI","hidden":true,"href":"/voice-agents/frontend/monitoring-ui"}]},{"group":"Testing","pages":[{"title":"Simulating conversations","href":"/voice-agents/testing/simulation"}]},{"group":"Guides","pages":[{"title":"[ ] Appointment scheduling","hidden":true,"href":"/voice-agents/guides/appointment-scheduling"},{"title":"[ ] Event invitation","hidden":true,"href":"/voice-agents/guides/event-invitation"},{"title":"[ ] Sales / lead qualification","hidden":true,"href":"/voice-agents/guides/lead-qualification"},{"title":"[ ] Payment reminder","hidden":true,"href":"/voice-agents/guides/payment-reminder"},{"title":"[ ] Order confirmation","hidden":true,"href":"/voice-agents/guides/order-confirmation"}]},{"group":"API Reference","pages":[{"title":"Phone numbers \u0026 limits","href":"/voice-agents/api-reference/limits"},{"group":"Assistants","pages":[{"title":"Create an assistant","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants","href":"/api-reference/assistants/create-an-assistant"},{"title":"List assistants","description":"Every assistant in the API key's project, as its draft. `aliases` on each row says whether it has been published and whether the draft is ahead of what calls run.","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants","href":"/api-reference/assistants/list-assistants"},{"title":"Get an assistant","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/{realtimeAssistantId}","href":"/api-reference/assistants/get-an-assistant"},{"title":"Update an assistant","description":"This replaces rather than merges, so read the assistant, change what you need, and send the whole object back. Leaving out `description` or `public` clears them — `public` resets to false — while `name` and `config` keep their stored values. Only populated parts of `config` are validated, so a config missing `agent.instructions` saves fine and leaves the assistant unable to take calls.\n\nUntil the assistant's first publish, a save goes live at once. After that, an update changes the draft only. Calls and share links keep running the published version, and the `public` check reads it too, until you [publish](/api-reference/assistants/publish-an-assistant-version) again.\n\n`noiseCancellation` and `backgroundNoise` are checked on every save that sends `config`. An assistant stored with a bad value before these checks gets a 400 on that save until you fix it. A save without `config` still goes through.","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/{realtimeAssistantId}","href":"/api-reference/assistants/update-an-assistant"},{"title":"Delete an assistant","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml delete /realtime-assistants/{realtimeAssistantId}","href":"/api-reference/assistants/delete-an-assistant"},{"title":"Publish an assistant version","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/{realtimeAssistantId}/publish","href":"/api-reference/assistants/publish-an-assistant-version"},{"title":"List published versions","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/{realtimeAssistantId}/versions","href":"/api-reference/assistants/list-published-versions"},{"title":"Get an assistant's publish state","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/{realtimeAssistantId}/metadata","href":"/api-reference/assistants/get-an-assistants-publish-state"}]},{"group":"Authoring an assistant","pages":[{"title":"Build an assistant from a brief","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/builds","href":"/api-reference/authoring-an-assistant/build-an-assistant-from-a-brief"},{"title":"Poll a build's progress","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/builds/status/{buildId}","href":"/api-reference/authoring-an-assistant/poll-a-builds-progress"},{"title":"Rehearse a call against a persona","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/builds/{assistantId}/simulate","href":"/api-reference/authoring-an-assistant/rehearse-a-call-against-a-persona"},{"title":"Refine a built assistant's prompt","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/builds/{assistantId}/refine","href":"/api-reference/authoring-an-assistant/refine-a-built-assistants-prompt"},{"title":"Get an assistant's build record","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/builds/{assistantId}","href":"/api-reference/authoring-an-assistant/get-an-assistants-build-record"}]},{"group":"Starting a conversation","pages":[{"title":"Create a web session token","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/{realtimeAssistantId}/session","href":"/api-reference/starting-a-conversation/create-a-web-session-token"},{"title":"Open a session without an API key","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/{realtimeAssistantId}/public-session","href":"/api-reference/starting-a-conversation/open-a-session-without-an-api-key"},{"title":"Start a session from inline config","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/adhoc/session","href":"/api-reference/starting-a-conversation/start-a-session-from-inline-config"},{"title":"Dispatch a call from this assistant","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/{realtimeAssistantId}/call","href":"/api-reference/starting-a-conversation/dispatch-a-call-from-this-assistant"}]},{"group":"Sessions \u0026 call records","pages":[{"title":"List an assistant's sessions","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/{realtimeAssistantId}/sessions","href":"/api-reference/sessions-\u0026-call-records/list-an-assistants-sessions"},{"title":"Get a session's status","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/sessions/{sessionId}","href":"/api-reference/sessions-\u0026-call-records/get-a-sessions-status"},{"title":"Get a call's transcript and outcomes","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /realtime-assistants/sessions/{sessionId}/detail","href":"/api-reference/sessions-\u0026-call-records/get-a-calls-transcript-and-outcomes"},{"title":"Listen in on a live call","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /realtime-assistants/sessions/{sessionId}/listen","href":"/api-reference/sessions-\u0026-call-records/listen-in-on-a-live-call"}]},{"group":"Campaigns","pages":[{"title":"Create a campaign","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns","href":"/api-reference/campaigns/create-a-campaign"},{"title":"List campaigns","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /campaigns","href":"/api-reference/campaigns/list-campaigns"},{"title":"Get a campaign","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /campaigns/{campaignId}","href":"/api-reference/campaigns/get-a-campaign"},{"title":"Update a campaign","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml patch /campaigns/{campaignId}","href":"/api-reference/campaigns/update-a-campaign"},{"title":"Schedule a campaign launch","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/schedule","href":"/api-reference/campaigns/schedule-a-campaign-launch"},{"title":"Launch a campaign now","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/launch","href":"/api-reference/campaigns/launch-a-campaign-now"},{"title":"Append contacts to a campaign","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/contacts","href":"/api-reference/campaigns/append-contacts-to-a-campaign"},{"title":"Pause campaign dialing","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/pause","href":"/api-reference/campaigns/pause-campaign-dialing"},{"title":"Resume a paused campaign","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/resume","href":"/api-reference/campaigns/resume-a-paused-campaign"},{"title":"Close a continuous campaign","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/close","href":"/api-reference/campaigns/close-a-continuous-campaign"}]},{"group":"Campaign outcomes","pages":[{"title":"Aggregate stats for a campaign","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /campaigns/{campaignId}/stats","href":"/api-reference/campaign-outcomes/aggregate-stats-for-a-campaign"},{"title":"List a campaign's outcomes","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /campaigns/{campaignId}/results","href":"/api-reference/campaign-outcomes/list-a-campaigns-outcomes"},{"title":"List a campaign's calls","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /campaigns/{campaignId}/calls","href":"/api-reference/campaign-outcomes/list-a-campaigns-calls"},{"title":"List a campaign's callback requests","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /campaigns/{campaignId}/callbacks","href":"/api-reference/campaign-outcomes/list-a-campaigns-callback-requests"},{"title":"Update a callback's status","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml patch /campaigns/callbacks/{callbackId}","href":"/api-reference/campaign-outcomes/update-a-callbacks-status"},{"title":"Add a note to a callback","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/callbacks/{callbackId}/notes","href":"/api-reference/campaign-outcomes/add-a-note-to-a-callback"},{"title":"List a campaign's conversion records","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /campaigns/{campaignId}/conversions","href":"/api-reference/campaign-outcomes/list-a-campaigns-conversion-records"}]},{"group":"Contacts","pages":[{"title":"Upload a contact file","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /contact-lists/uploads","href":"/api-reference/contacts/upload-a-contact-file"},{"title":"Re-preview an upload with a mapping","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /contact-lists/uploads/{uploadId}/preview","href":"/api-reference/contacts/re-preview-an-upload-with-a-mapping"},{"title":"Dry-run a contact import","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /contact-sources/preview","href":"/api-reference/contacts/dry-run-a-contact-import"},{"title":"Create a contact list","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /contact-lists","href":"/api-reference/contacts/create-a-contact-list"},{"title":"List contact lists","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /contact-lists","href":"/api-reference/contacts/list-contact-lists"},{"title":"Get a contact list's metadata","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /contact-lists/{listId}","href":"/api-reference/contacts/get-a-contact-lists-metadata"},{"title":"Page through a list's contacts","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /contact-lists/{listId}/contacts","href":"/api-reference/contacts/page-through-a-lists-contacts"},{"group":"Google Sheet sources","pages":[{"title":"Register a Google Sheet as a source","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /contact-sources","href":"/api-reference/google-sheet-sources/register-a-google-sheet-as-a-source"},{"title":"List registered contact sources","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /contact-sources","href":"/api-reference/google-sheet-sources/list-registered-contact-sources"},{"title":"Get a contact source's metadata","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml get /contact-sources/{sourceId}","href":"/api-reference/google-sheet-sources/get-a-contact-sources-metadata"},{"title":"Re-check a registered sheet","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /contact-sources/{sourceId}/preview","href":"/api-reference/google-sheet-sources/re-check-a-registered-sheet"}]}]},{"group":"Integrations \u0026 delivery health","pages":[{"title":"Webhooks on the portal","href":"/voice-agents/api-reference/webhooks-on-the-portal"}]}]}]},{"tab":"Integration API","hidden":true,"pages":[{"title":"Integration API","href":"/voice-agents/api-reference/integration-api"}]},{"tab":"Realtime Assistants","hidden":true,"pages":[{"title":"Realtime Assistants","href":"/assistants/introduction"}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/tutorials/livekit-voice-agent"}]},{"tab":"Syngenta Assistant","hidden":true,"pages":[{"title":"Syngenta Assistant","href":"/syngenta/authentication"}]}]},"basePath":"","title":"Get an assistant - Uplift AI API Docs","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}