{ "organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "assistantId": "b424880f-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "status": "building", "promptVersion": 1, "brief": { "organizationId": "a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "projectId": "c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "goal": "payment_reminder", "voiceId": "v_meklc281", "gender": "female", "context": "Bright Future School, Rawalpindi. Call parents about the pending monthly fee, tell them the amount and the due date, and ask when they can pay.", "sampleRows": [ { "name": "فرحان ملک", "phone": "+923215558842", "amount": "12,500", "dueDate": "25 اگست" } ] }, "updatedAt": "2026-08-18T05:16:58.583Z"}
Authoring an assistant
Get an assistant's build record
The durable record behind an assistant’s builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: status is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.
building while the first run is in flight, then ready on success or failed on a crash — the reason lands in error. A refine keeps the previous value until its run ends.
Whether the final round ended with nothing flagged. false means the rounds ran out with the grader still objecting: the assistant is callable either way, so read the sample transcripts first.
When the record was last written — build start or finish.
{"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/authoring-an-assistant/get-an-assistants-build-record","slug":"/api-reference/authoring-an-assistant/get-an-assistants-build-record","pageMetadata":{"title":"Get an assistant's build record","description":"The durable record behind an assistant's builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: `status` is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.","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","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: [\"The durable record behind an assistant’s builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: \", _jsx(_components.code, {\n children: \"status\"\n }), \" is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.\"]\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's build record","description":"The durable record behind an assistant's builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: `status` is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/upliftai/ed1a602c792dd94e/data/voices.js"],"openApiReferenceData":{"operation":{"operationId":"getAssistantBuild","tags":["Authoring an assistant"],"summary":"Get an assistant's build record","description":"The durable record behind an assistant's builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: `status` is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.","parameters":["831a5b35-75d0-436d-b008-e5cd4bf4d9ca"],"responses":{"200":"4a1a9c6b-a7f2-4caf-88b3-ca8a9291d669","401":"6c38fc58-4ed9-4658-be05-02b2b8dcf49e","403":"1336ac9f-ee34-47fc-94bb-0b02c6d5b630","404":"6b616271-cf16-45a1-b241-61ddf5047818"},"method":"get","type":"path","servers":["f8e1e33f-9cf0-4bbb-b41e-9136c129f7ef"],"security":["73bac4ee-98c5-4fa2-834c-9f180d41c637"],"path":"/realtime-assistants/builds/{assistantId}","baseUrlOptions":["https://api.upliftai.org/v1"],"title":"Get an assistant's build record","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"831a5b35-75d0-436d-b008-e5cd4bf4d9ca":{"name":"assistantId","in":"path","required":true,"description":"The `assistantId` the build returned.","schema":{"type":"string","format":"uuid","isRequired":true,"description":"The `assistantId` the build returned.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"ee42ac3b-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}},"responses":{"4a1a9c6b-a7f2-4caf-88b3-ca8a9291d669":{"description":"The build record.","content":{"application/json":{"schema":{"type":"object","description":"`passed`, `agentName`, `businessName` and `sampleTranscripts` land only when a build finishes; the rest is written the moment it starts.","properties":{"organizationId":{"type":"string","format":"uuid","uniqueKey":"organizationId","typeLabel":"string\u003cuuid>"},"projectId":{"type":"string","format":"uuid","uniqueKey":"projectId","typeLabel":"string\u003cuuid>"},"assistantId":{"type":"string","format":"uuid","uniqueKey":"assistantId","typeLabel":"string\u003cuuid>"},"status":{"type":"string","enum":["building","ready","failed"],"description":"`building` while the first run is in flight, then `ready` on success or `failed` on a crash — the reason lands in `error`. A refine keeps the previous value until its run ends.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"promptVersion":{"type":"integer","description":"Counts up once per rewrite, so anything above `1` means the grader sent the prompt back.","uniqueKey":"promptVersion","typeLabel":"integer"},"passed":{"type":"boolean","description":"Whether the final round ended with nothing flagged. `false` means the rounds ran out with the grader still objecting: the assistant is callable either way, so read the sample transcripts first.","uniqueKey":"passed","typeLabel":"boolean"},"agentName":{"type":"string","description":"The name the assistant introduces itself by, chosen during authoring.","uniqueKey":"agentName","typeLabel":"string"},"businessName":{"type":"string","description":"The business it says it is calling for, taken from the brief.","uniqueKey":"businessName","typeLabel":"string"},"brief":{"type":"object","description":"The brief this build ran from, echoed with the ids it was stored under. A refine that sends a new brief replaces it.","required":["goal","voiceId","gender","context"],"properties":{"goal":{"type":"string","description":"What the call is for. Also picks the tool the assistant gets for recording the outcome.","enum":["appointment","event","lead","order_confirmation","payment_reminder","outreach","reservation_confirmation"],"isRequired":true,"uniqueKey":"brief.goal","typeLabel":"enum\u003cstring>"},"voiceId":{"type":"string","description":"Voice for the built assistant's `tts.default` — ids are in the voices gallery.","isRequired":true,"uniqueKey":"brief.voiceId","typeLabel":"string"},"gender":{"type":"string","enum":["male","female"],"description":"The agent's own gender. Urdu verb forms are gendered, so the prompt is written and graded against it — match it to `voiceId`.","isRequired":true,"uniqueKey":"brief.gender","typeLabel":"enum\u003cstring>"},"context":{"type":"string","maxLength":8000,"description":"The brief in your own words: the business, what the call must achieve, the key message, who is being called. Passed to the authoring model verbatim, so its detail sets the prompt's quality.","isRequired":true,"uniqueKey":"brief.context","typeLabel":"string"},"sampleRows":{"type":"array","maxItems":20,"description":"Real contact rows, using the column names your campaign will send. Each test persona is grounded in one row, injected the way a live call receives a contact — no call is placed, the rehearsals are text-only.","items":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"brief.sampleRows.items.[INDEX].additionalProperties","typeLabel":"string"},"uniqueKey":"brief.sampleRows.items.[INDEX]","typeLabel":"object"},"uniqueKey":"brief.sampleRows","typeLabel":"object[]"}},"uniqueKey":"brief","typeLabel":"object"},"sampleTranscripts":{"type":"object","description":"The cleanest rehearsal on each path — fewest findings, longest conversation breaking ties. Either path may be missing.","properties":{"happy":{"type":"object","properties":{"label":{"type":"string","description":"The persona this rehearsal was run against.","uniqueKey":"sampleTranscripts.happy.label","typeLabel":"string"},"archetype":{"type":"string","description":"The behavior the persona was built to test.","enum":["happy","chatty","busy","suspicious","jailbreak","opt_out","wrong_party","mishearing","price_pusher","polite_no","maybe_later","angry"],"uniqueKey":"sampleTranscripts.happy.archetype","typeLabel":"enum\u003cstring>"},"path":{"type":"string","enum":["happy","negative"],"uniqueKey":"sampleTranscripts.happy.path","typeLabel":"enum\u003cstring>"},"turns":{"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","enum":["agent","caller"],"uniqueKey":"sampleTranscripts.happy.turns.items.[INDEX].speaker","typeLabel":"enum\u003cstring>"},"text":{"type":"string","uniqueKey":"sampleTranscripts.happy.turns.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"sampleTranscripts.happy.turns.items.[INDEX]","typeLabel":"object"},"uniqueKey":"sampleTranscripts.happy.turns","typeLabel":"object[]"}},"uniqueKey":"sampleTranscripts.happy","typeLabel":"object"},"negative":{"type":"object","properties":{"label":{"type":"string","description":"The persona this rehearsal was run against.","uniqueKey":"sampleTranscripts.negative.label","typeLabel":"string"},"archetype":{"type":"string","description":"The behavior the persona was built to test.","enum":["happy","chatty","busy","suspicious","jailbreak","opt_out","wrong_party","mishearing","price_pusher","polite_no","maybe_later","angry"],"uniqueKey":"sampleTranscripts.negative.archetype","typeLabel":"enum\u003cstring>"},"path":{"type":"string","enum":["happy","negative"],"uniqueKey":"sampleTranscripts.negative.path","typeLabel":"enum\u003cstring>"},"turns":{"type":"array","items":{"type":"object","properties":{"speaker":{"type":"string","enum":["agent","caller"],"uniqueKey":"sampleTranscripts.negative.turns.items.[INDEX].speaker","typeLabel":"enum\u003cstring>"},"text":{"type":"string","uniqueKey":"sampleTranscripts.negative.turns.items.[INDEX].text","typeLabel":"string"}},"uniqueKey":"sampleTranscripts.negative.turns.items.[INDEX]","typeLabel":"object"},"uniqueKey":"sampleTranscripts.negative.turns","typeLabel":"object[]"}},"uniqueKey":"sampleTranscripts.negative","typeLabel":"object"}},"uniqueKey":"sampleTranscripts","typeLabel":"object"},"buildId":{"type":"string","format":"uuid","description":"The run that last wrote this record — what the status poll's durable fallback matches on.","uniqueKey":"buildId","typeLabel":"string\u003cuuid>"},"error":{"type":"string","description":"Why the last run failed. Only present when `status` is `failed`.","uniqueKey":"error","typeLabel":"string"},"updatedAt":{"type":"string","format":"date-time","description":"When the record was last written — build start or finish.","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"building":{"title":"building","value":{"organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","assistantId":"b424880f-xxxx-xxxx-xxxx-xxxxxxxxxxxx","status":"building","promptVersion":1,"brief":{"organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","goal":"payment_reminder","voiceId":"v_meklc281","gender":"female","context":"Bright Future School, Rawalpindi. Call parents about the pending monthly fee, tell them the amount and the due date, and ask when they can pay.","sampleRows":[{"name":"فرحان ملک","phone":"+923215558842","amount":"12,500","dueDate":"25 اگست"}]},"updatedAt":"2026-08-18T05:16:58.583Z"}},"ready":{"title":"ready","value":{"organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","assistantId":"ee42ac3b-xxxx-xxxx-xxxx-xxxxxxxxxxxx","status":"ready","promptVersion":3,"passed":false,"agentName":"ثناء","businessName":"Shifa Clinic","brief":{"organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","goal":"appointment","voiceId":"v_meklc281","gender":"female","context":"Shifa Clinic, Lahore. Call patients to confirm tomorrow's doctor appointment, remind them of the time, and offer to reschedule if they cannot come.","sampleRows":[{"name":"عائشہ صدیقی","phone":"+923001234567","doctor":"ڈاکٹر عمران شیخ","appointmentTime":"کل صبح 11 بجے"}]},"sampleTranscripts":{"happy":{"label":"عائشہ صدیقی — cheerful appointment confirmation for Dr. عمران شیخ, Lahore","archetype":"happy","path":"happy","turns":[{"speaker":"agent","text":"السلام علیکم، کیا میں عائشہ صدیقی سے بات کر رہی ہوں؟\n\nمیں Shifa Clinic سے ثناء بات کر رہی ہوں۔ کل کی appointment confirm کرنی تھی، ایک منٹ بات کر سکتی ہوں؟"},{"speaker":"caller","text":"وعلیکم السلام بھئی جی، جی میں عائشہ صدیقی ہی بول رہی ہوں۔ ہاں جی بالکل، آپ ایک منٹ بات کر لیں۔"},{"speaker":"agent","text":"شکریہ عائشہ۔\n\nآپ کی کل صبح گیارہ بجے ڈاکٹر عمران شیخ کے ساتھ appointment ہے۔\n\nآپ اُس وقت آ سکیں گی؟"},{"speaker":"caller","text":"جی ہاں بھئی! میں کل صبح 11 بجے بالکل آ جاؤں گی، اپائنٹمنٹ کنفرم کر دیں۔ خدا حافظ"}]}},"updatedAt":"2026-08-18T05:13:44.008Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"6c38fc58-4ed9-4658-be05-02b2b8dcf49e":{"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"},"1336ac9f-ee34-47fc-94bb-0b02c6d5b630":{"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"},"6b616271-cf16-45a1-b241-61ddf5047818":{"description":"No build record under that id in the API key's project — an assistant created by hand rather than by a build has none.","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":"No build found for assistant c723a299-xxxx-xxxx-xxxx-xxxxxxxxxxxx","error":"Not Found","statusCode":404},"examples":{"Example":{"title":"Example","value":{"message":"No build found for assistant c723a299-xxxx-xxxx-xxxx-xxxxxxxxxxxx","error":"Not Found","statusCode":404}}},"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's build record - Uplift AI API Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T06:54:41.137Z","originalFileLocation":"api-reference/authoring-an-assistant/get-an-assistants-build-record.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=\"The durable record behind an assistant\u0026#x27;s builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: status is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.\">\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\u0026#x27;s build record - Uplift AI API Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"The durable record behind an assistant\u0026#x27;s builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: status is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.\">\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/authoring-an-assistant/get-an-assistants-build-record\">\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=Authoring+an+assistant\u0026amp;title=Get+an+assistant%27s+build+record\u0026amp;description=The+durable+record+behind+an+assistant%27s+builds%3A+the+brief%2C+prompt+version%2C+gate+result%2C+and+chosen+sample+transcripts+%E2%80%94+it+never+expires.+It+is+not+live+progre\u0026amp;theme=bb6dd6d40a49e0d34c2227da\u0026amp;signature=d793c89d2d9b8978a06a716c5fc1a908b48b13633e8e96c138f9bc1871df1595\">\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\u0026#x27;s build record - Uplift AI API Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The durable record behind an assistant\u0026#x27;s builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: status is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://upliftai.mintlify.site/_mintlify/api/og/v2?division=Authoring+an+assistant\u0026amp;title=Get+an+assistant%27s+build+record\u0026amp;description=The+durable+record+behind+an+assistant%27s+builds%3A+the+brief%2C+prompt+version%2C+gate+result%2C+and+chosen+sample+transcripts+%E2%80%94+it+never+expires.+It+is+not+live+progre\u0026amp;theme=bb6dd6d40a49e0d34c2227da\u0026amp;signature=d793c89d2d9b8978a06a716c5fc1a908b48b13633e8e96c138f9bc1871df1595\">\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/authoring-an-assistant/get-an-assistants-build-record\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/authoring-an-assistant/get-an-assistants-build-record.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/authoring-an-assistant/get-an-assistants-build-record#webpage\",\"url\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/get-an-assistants-build-record\",\"name\":\"Get an assistant's build record\",\"description\":\"The durable record behind an assistant's builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: status is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.\",\"dateModified\":\"2026-10-28T06:54:41.137Z\",\"isPartOf\":{\"@id\":\"https://docs.upliftai.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/get-an-assistants-build-record#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/get-an-assistants-build-record#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.upliftai.org/voice-agents/api-reference/limits\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authoring an assistant\",\"item\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/build-an-assistant-from-a-brief\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get an assistant's build record\",\"item\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/get-an-assistants-build-record\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/get-an-assistants-build-record#apireference\",\"headline\":\"Get an assistant's build record\",\"name\":\"Get an assistant's build record\",\"description\":\"The durable record behind an assistant's builds: the brief, prompt version, gate result, and chosen sample transcripts — it never expires. It is not live progress: status is whatever the last run wrote when it ended, so an in-flight refine still reads the previous outcome. Poll the build status for anything currently running.\",\"url\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/get-an-assistants-build-record\",\"mainEntityOfPage\":{\"@id\":\"https://docs.upliftai.org/api-reference/authoring-an-assistant/get-an-assistants-build-record#webpage\"},\"dateModified\":\"2026-10-28T06:54:41.137Z\",\"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/authoring-an-assistant/get-an-assistants-build-record.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","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","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","description":"A finished refine regenerates the assistant's `name` and its whole `config` from the brief, overwriting any edits you made by hand — only the prompt carries forward. It reruns the same rehearse-and-grade rounds as a build, so it takes minutes: [poll the build status](/api-reference/authoring-an-assistant/poll-a-builds-progress). Starting one while another build is in flight still returns 200, then surfaces as `failed` in that poll.","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","description":"Mint a LiveKit token for a browser or mobile client to talk to a stored assistant. It is a standard LiveKit token — connect to `wsUrl` with any LiveKit client SDK or UI component library and the assistant joins the room on its own. The token is good for the assistant's `config.session.ttl`, 600 seconds by default — that caps how long the client has to connect, not how long the conversation can run, so mint one token per conversation. The session record is written when the token is minted, so an unused token still leaves a session behind.","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's build record - 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"]}