The dialer starts claiming contacts again within a few seconds, and statusMessage is cleared. Only a paused campaign can resume — anything else, running included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.
Fixed at create. bounded snapshots the contact list at launch and completes itself once the queue empties; continuous keeps accepting appended contacts and completes only after a close. Absent on older campaigns; read that as bounded.
Set when the platform acts on its own, and says why. Expect Paused: out of credits, or Paused: assistant version not found when the campaign's assistant was deleted. The assistant can't be changed after launch, so a resume won't fix that one. Cleared on resume.
Increments on every accepted write — compare it across reads to tell a real change from an unchanged poll.
{"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":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"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/campaigns/resume-a-paused-campaign","slug":"/api-reference/campaigns/resume-a-paused-campaign","pageMetadata":{"title":"Resume a paused campaign","description":"The dialer starts claiming contacts again within a few seconds, and `statusMessage` is cleared. Only a `paused` campaign can resume — anything else, `running` included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/resume","href":"/api-reference/campaigns/resume-a-paused-campaign","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 dialer starts claiming contacts again within a few seconds, and \", _jsx(_components.code, {\n children: \"statusMessage\"\n }), \" is cleared. Only a \", _jsx(_components.code, {\n children: \"paused\"\n }), \" campaign can resume — anything else, \", _jsx(_components.code, {\n children: \"running\"\n }), \" included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.\"]\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":"Resume a paused campaign","description":"The dialer starts claiming contacts again within a few seconds, and `statusMessage` is cleared. Only a `paused` campaign can resume — anything else, `running` included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.","deprecated":null,"version":null,"openapi":"/voice-agents/api-reference/openapi.yaml post /campaigns/{campaignId}/resume","href":"/api-reference/campaigns/resume-a-paused-campaign","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/upliftai/ed1a602c792dd94e/data/voices.js"],"openApiReferenceData":{"operation":{"operationId":"resumeCampaign","tags":["Campaigns"],"summary":"Resume a paused campaign","description":"The dialer starts claiming contacts again within a few seconds, and `statusMessage` is cleared. Only a `paused` campaign can resume — anything else, `running` included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.","parameters":["698eca8c-0862-485d-b4c0-209ee94b9e55"],"responses":{"200":"58020205-399e-4527-b773-7a995cbb2399","401":"35949bb0-3522-4ce7-b6e9-cbc3168818ae","403":"19fa9899-6d54-43c5-affa-c41e3b2637ac","404":"f367bead-c63f-47d6-9579-870bd4fc24d2","409":"119a9550-442e-47e4-93a0-44f358f35e2d"},"method":"post","type":"path","servers":["f8e1e33f-9cf0-4bbb-b41e-9136c129f7ef"],"security":["73bac4ee-98c5-4fa2-834c-9f180d41c637"],"path":"/campaigns/{campaignId}/resume","baseUrlOptions":["https://api.upliftai.org/v1"],"title":"Resume a paused campaign","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"698eca8c-0862-485d-b4c0-209ee94b9e55":{"name":"campaignId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"7655e63e-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}},"responses":{"58020205-399e-4527-b773-7a995cbb2399":{"description":"The campaign, now `running`.","content":{"application/json":{"schema":{"type":"object","properties":{"campaignId":{"type":"string","format":"uuid","uniqueKey":"campaignId","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","maxLength":120,"uniqueKey":"name","typeLabel":"string"},"state":{"type":"string","enum":["draft","scheduled","launching","launch_failed","running","paused","draining","completed"],"description":"Where the campaign is in its lifecycle:\n\n- `draft` — created, nothing dials\n- `scheduled` — the platform launches it at `config.schedule.scheduledFor`\n- `launching` — the contact list is being materialized into a run; transient\n- `launch_failed` — materialization failed; `lastError` says which phase, and launching again retries it\n- `running` — the dialer is placing calls\n- `paused` — no new dials; calls already in flight run to their end\n- `draining` — closed to new work, waiting only on in-flight calls\n- `completed` — terminal","uniqueKey":"state","typeLabel":"enum\u003cstring>"},"mode":{"type":"string","enum":["bounded","continuous"],"description":"Fixed at create. `bounded` snapshots the contact list at launch and completes itself once the queue empties; `continuous` keeps accepting appended contacts and completes only after a close. Absent on older campaigns; read that as `bounded`.","uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"config":{"type":"object","additionalProperties":true,"description":"Returned exactly as stored — a section never set is absent rather than filled in with defaults.","properties":{"goal":{"type":"string","enum":["appointment","event","lead","order_confirmation","payment_reminder","outreach","reservation_confirmation"],"description":"What the calls are for. Picks the outcome-recording tool handed to the assistant.","uniqueKey":"config.goal","typeLabel":"enum\u003cstring>"},"assistant":{"type":"object","description":"The assistant that dials. Frozen once the campaign leaves `draft`.","properties":{"assistantId":{"type":"string","format":"uuid","uniqueKey":"config.assistant.assistantId","typeLabel":"string\u003cuuid>"}},"uniqueKey":"config.assistant","typeLabel":"object"},"assistantVersion":{"oneOf":[{"type":"string","description":"Which version of the assistant the calls run. Absent means `prod`, so a publish reaches the next dial. A number pins a published version, needs `assistant` set, and is a 400 if that version was never published. Editable while the campaign runs.","enum":["prod","draft"],"uniqueKey":"config.assistantVersion.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"integer","description":"Which version of the assistant the calls run. Absent means `prod`, so a publish reaches the next dial. A number pins a published version, needs `assistant` set, and is a 400 if that version was never published. Editable while the campaign runs.","minimum":1,"uniqueKey":"config.assistantVersion.oneOf.1","typeLabel":"integer"}],"uniqueKey":"config.assistantVersion","typeLabel":"enum\u003cstring> | integer"},"contacts":{"type":"object","description":"The contact list this campaign dials, created via [`/contact-lists`](/api-reference/contacts/create-a-contact-list). All the ways contacts get into a campaign: [Contacts](/voice-agents/campaigns/contacts).","properties":{"listId":{"type":"string","format":"uuid","uniqueKey":"config.contacts.listId","typeLabel":"string\u003cuuid>"}},"uniqueKey":"config.contacts","typeLabel":"object"},"schedule":{"type":"object","properties":{"scheduledFor":{"type":"string","format":"date-time","description":"When a scheduled launch fires. Set by the schedule endpoint.","uniqueKey":"config.schedule.scheduledFor","typeLabel":"string\u003cdate-time>"},"callingWindow":{"type":"object","description":"Local hours during which this campaign may dial; omit it and the campaign dials around the clock. Retries falling outside the window wait until it next opens. There is no per-weekday control. The shape is not validated — a malformed window misbehaves at dial time instead of erroring here.","properties":{"from":{"type":"string","description":"24-hour local time, `HH:MM`.","example":"10:00","isRequired":true,"uniqueKey":"config.schedule.callingWindow.from","typeLabel":"string"},"to":{"type":"string","description":"24-hour local time, `HH:MM`. A `to` earlier than `from` wraps past midnight.","example":"19:00","isRequired":true,"uniqueKey":"config.schedule.callingWindow.to","typeLabel":"string"},"tz":{"type":"string","description":"IANA timezone.","example":"Asia/Karachi","isRequired":true,"uniqueKey":"config.schedule.callingWindow.tz","typeLabel":"string"}},"required":["from","to","tz"],"uniqueKey":"config.schedule.callingWindow","typeLabel":"object"}},"uniqueKey":"config.schedule","typeLabel":"object"},"dialing":{"type":"object","properties":{"lines":{"type":"integer","description":"Requested concurrent calls. Unset defaults to 1, and an explicit value below 1 fails the launch. Your account's own limit caps it: 1 call at a time by default, shared with direct calls and inbound, so a larger number only dials faster once that limit is raised. See [Phone numbers \u0026 concurrency](/voice-agents/calling/concurrency).","uniqueKey":"config.dialing.lines","typeLabel":"integer"},"fromNumber":{"type":"string","description":"Caller id the calls are placed from.","example":"+924232567890","uniqueKey":"config.dialing.fromNumber","typeLabel":"string"},"redialCallbacks":{"type":"boolean","default":true,"description":"When a contact asks to be called later, requeue them for that time, up to 3 dial cycles per contact. `false` ends the contact as before, and the callback stays `open` for a person. It applies to new callbacks only: contacts already requeued are still called.","uniqueKey":"config.dialing.redialCallbacks","typeLabel":"boolean"},"retryPolicy":{"type":"object","description":"Applied all or nothing. Unless `maxAttempts`, `retryOn` and `backoffMinutes` are all present and usable, every field falls back to its default below — a partial policy is ignored, not merged.","properties":{"maxAttempts":{"type":"integer","minimum":1,"default":3,"description":"Dials per contact, the first attempt included.","isRequired":true,"uniqueKey":"config.dialing.retryPolicy.maxAttempts","typeLabel":"integer"},"retryOn":{"type":"array","default":["no_answer","busy","voicemail","failed","silent_pickup","unreachable"],"description":"Outcomes worth dialing again. `booked`, `callback`, `not_interested` and `wrong_number` never retry, even if listed here. A contact who asked to be called later is requeued for that time instead, unless `dialing.redialCallbacks` is `false`. `unreachable` (phone off or out of coverage) is usually brief here, so the default retries it.","items":{"type":"string","enum":["no_answer","busy","voicemail","failed","silent_pickup","unreachable","wrong_person","booked","callback","not_interested","wrong_number"],"uniqueKey":"config.dialing.retryPolicy.retryOn.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"config.dialing.retryPolicy.retryOn","typeLabel":"enum\u003cstring>[]"},"backoffMinutes":{"type":"array","default":[10,60],"description":"Minutes to wait before each following attempt; the last value repeats for any attempts beyond the list.","items":{"type":"integer","minimum":0,"uniqueKey":"config.dialing.retryPolicy.backoffMinutes.items.[INDEX]","typeLabel":"integer"},"isRequired":true,"uniqueKey":"config.dialing.retryPolicy.backoffMinutes","typeLabel":"integer[]"}},"required":["maxAttempts","retryOn","backoffMinutes"],"uniqueKey":"config.dialing.retryPolicy","typeLabel":"object"}},"uniqueKey":"config.dialing","typeLabel":"object"},"calendar":{"type":"object","description":"Booking calendar for `appointment` campaigns. Supplying `connectionId`, a Google Calendar connection from the [portal](https://upliftai.org/app/calling/webhooks), adds the booking tools to the call.","properties":{"connectionId":{"type":"string","uniqueKey":"config.calendar.connectionId","typeLabel":"string"},"calendarId":{"type":"string","uniqueKey":"config.calendar.calendarId","typeLabel":"string"}},"uniqueKey":"config.calendar","typeLabel":"object"},"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.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.scorecard.rules.items.[INDEX].ruleId","typeLabel":"string"},"title":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"config.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.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.scorecard.rules.items.[INDEX].scoringType","typeLabel":"enum\u003cstring>"},"points":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"config.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.scorecard.rules.items.[INDEX].evidenceRequired","typeLabel":"boolean"}},"required":["ruleId","title","instruction","scoringType","points"],"uniqueKey":"config.scorecard.rules.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"config.scorecard.rules","typeLabel":"object[]"}},"required":["rubricVersionId","rules"],"uniqueKey":"config.scorecard","typeLabel":"object"},"tools":{"type":"object","description":"Extra tools stamped onto the assistant for this campaign's calls.","uniqueKey":"config.tools","typeLabel":"object"},"delivery":{"type":"object","description":"Where call outcomes are delivered.","uniqueKey":"config.delivery","typeLabel":"object"},"economics":{"type":"object","description":"Per-conversion values that turn campaign stats counts into money.","additionalProperties":{"type":"number","uniqueKey":"config.economics.additionalProperties","typeLabel":"number"},"uniqueKey":"config.economics","typeLabel":"object"}},"uniqueKey":"config","typeLabel":"object"},"closedAt":{"type":"string","format":"date-time","description":"When the campaign was closed to new work. Continuous campaigns only; closing does not change `state`, so expect `running` until the drain begins.","uniqueKey":"closedAt","typeLabel":"string\u003cdate-time>"},"currentRunId":{"type":"string","format":"uuid","description":"The single run created at first launch; a retried launch reuses it.","uniqueKey":"currentRunId","typeLabel":"string\u003cuuid>"},"runStartedAt":{"type":"string","format":"date-time","description":"First launch. Unchanged by pauses, resumes and launch retries.","uniqueKey":"runStartedAt","typeLabel":"string\u003cdate-time>"},"lastError":{"type":"object","description":"Why the last launch failed. Cleared by a launch that gets further.","properties":{"phase":{"type":"string","description":"The launch step that threw, e.g. `materialize`.","uniqueKey":"lastError.phase","typeLabel":"string"},"message":{"type":"string","uniqueKey":"lastError.message","typeLabel":"string"},"at":{"type":"string","format":"date-time","uniqueKey":"lastError.at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"lastError","typeLabel":"object"},"statusMessage":{"type":"string","description":"Set when the platform acts on its own, and says why. Expect `Paused: out of credits`, or `Paused: assistant version not found` when the campaign's assistant was deleted. The assistant can't be changed after launch, so a resume won't fix that one. Cleared on resume.","example":"Paused: out of credits","uniqueKey":"statusMessage","typeLabel":"string"},"hasGradedCall":{"type":"boolean","description":"True once any call has been graded, after which `config.scorecard` is frozen. Absent until then.","uniqueKey":"hasGradedCall","typeLabel":"boolean"},"trigger":{"type":"object","description":"How the campaign takes work. Always `{\"kind\": \"list\"}` today.","properties":{"kind":{"type":"string","enum":["list"],"uniqueKey":"trigger.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"trigger","typeLabel":"object"},"steps":{"type":"array","description":"What each contact goes through. Always `[\"call\"]` today.","items":{"type":"string","uniqueKey":"steps.items.[INDEX]","typeLabel":"string"},"uniqueKey":"steps","typeLabel":"string[]"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"version":{"type":"integer","description":"Increments on every accepted write — compare it across reads to tell a real change from an unchanged poll.","uniqueKey":"version","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"campaignId":"7655e63e-xxxx-xxxx-xxxx-xxxxxxxxxxxx","organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","name":"الفلاح کارڈ ادائیگی یاد دہانی — اگست","state":"running","mode":"bounded","config":{"assistant":{"assistantId":"26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx"},"contacts":{"listId":"9f14b2ae-xxxx-xxxx-xxxx-xxxxxxxxxxxx"},"dialing":{"lines":3,"fromNumber":"+922135791468"}},"trigger":{"kind":"list"},"steps":["call"],"currentRunId":"7428b0cd-xxxx-xxxx-xxxx-xxxxxxxxxxxx","runStartedAt":"2026-08-18T05:17:03.584Z","createdAt":"2026-08-18T05:16:55.654Z","updatedAt":"2026-08-18T05:17:12.717Z","version":5},"examples":{"Example":{"title":"Example","value":{"campaignId":"7655e63e-xxxx-xxxx-xxxx-xxxxxxxxxxxx","organizationId":"a12b7e74-xxxx-xxxx-xxxx-xxxxxxxxxxxx","projectId":"c782a4ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx","name":"الفلاح کارڈ ادائیگی یاد دہانی — اگست","state":"running","mode":"bounded","config":{"assistant":{"assistantId":"26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx"},"contacts":{"listId":"9f14b2ae-xxxx-xxxx-xxxx-xxxxxxxxxxxx"},"dialing":{"lines":3,"fromNumber":"+922135791468"}},"trigger":{"kind":"list"},"steps":["call"],"currentRunId":"7428b0cd-xxxx-xxxx-xxxx-xxxxxxxxxxxx","runStartedAt":"2026-08-18T05:17:03.584Z","createdAt":"2026-08-18T05:16:55.654Z","updatedAt":"2026-08-18T05:17:12.717Z","version":5}}},"exampleType":"examples"}},"exampleType":"examples"},"35949bb0-3522-4ce7-b6e9-cbc3168818ae":{"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"},"19fa9899-6d54-43c5-affa-c41e3b2637ac":{"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"},"f367bead-c63f-47d6-9579-870bd4fc24d2":{"description":"No such campaign in the API key's project.","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":"Campaign not found: 00000000-0000-4000-8000-000000000000","error":"Not Found","statusCode":404},"examples":{"Example":{"title":"Example","value":{"message":"Campaign not found: 00000000-0000-4000-8000-000000000000","error":"Not Found","statusCode":404}}},"exampleType":"examples"}},"exampleType":"examples"},"119a9550-442e-47e4-93a0-44f358f35e2d":{"description":"The campaign is not `paused`.","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":"illegal campaign transition: running --resume-->","error":"Conflict","statusCode":409},"examples":{"Example":{"title":"Example","value":{"message":"illegal campaign transition: running --resume-->","error":"Conflict","statusCode":409}}},"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":"Resume a paused campaign - Uplift AI API Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T06:54:41.268Z","originalFileLocation":"api-reference/campaigns/resume-a-paused-campaign.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 dialer starts claiming contacts again within a few seconds, and statusMessage is cleared. Only a paused campaign can resume — anything else, running included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.\">\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=\"Resume a paused campaign - Uplift AI API Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"The dialer starts claiming contacts again within a few seconds, and statusMessage is cleared. Only a paused campaign can resume — anything else, running included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.\">\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/campaigns/resume-a-paused-campaign\">\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=Campaigns\u0026amp;title=Resume+a+paused+campaign\u0026amp;description=The+dialer+starts+claiming+contacts+again+within+a+few+seconds%2C+and+%60statusMessage%60+is+cleared.+Only+a+%60paused%60+campaign+can+resume+%E2%80%94+anything+else%2C+%60running%60+i\u0026amp;theme=bb6dd6d40a49e0d34c2227da\u0026amp;signature=1686e8435a09d4f636d478fb99790f1f39842588d3fe9c1e16c42ce674004481\">\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=\"Resume a paused campaign - Uplift AI API Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The dialer starts claiming contacts again within a few seconds, and statusMessage is cleared. Only a paused campaign can resume — anything else, running included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://upliftai.mintlify.site/_mintlify/api/og/v2?division=Campaigns\u0026amp;title=Resume+a+paused+campaign\u0026amp;description=The+dialer+starts+claiming+contacts+again+within+a+few+seconds%2C+and+%60statusMessage%60+is+cleared.+Only+a+%60paused%60+campaign+can+resume+%E2%80%94+anything+else%2C+%60running%60+i\u0026amp;theme=bb6dd6d40a49e0d34c2227da\u0026amp;signature=1686e8435a09d4f636d478fb99790f1f39842588d3fe9c1e16c42ce674004481\">\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/campaigns/resume-a-paused-campaign\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/campaigns/resume-a-paused-campaign.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/campaigns/resume-a-paused-campaign#webpage\",\"url\":\"https://docs.upliftai.org/api-reference/campaigns/resume-a-paused-campaign\",\"name\":\"Resume a paused campaign\",\"description\":\"The dialer starts claiming contacts again within a few seconds, and statusMessage is cleared. Only a paused campaign can resume — anything else, running included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.\",\"dateModified\":\"2026-10-28T06:54:41.268Z\",\"isPartOf\":{\"@id\":\"https://docs.upliftai.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.upliftai.org/api-reference/campaigns/resume-a-paused-campaign#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.upliftai.org/api-reference/campaigns/resume-a-paused-campaign#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.upliftai.org/voice-agents/api-reference/limits\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Campaigns\",\"item\":\"https://docs.upliftai.org/api-reference/campaigns/create-a-campaign\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Resume a paused campaign\",\"item\":\"https://docs.upliftai.org/api-reference/campaigns/resume-a-paused-campaign\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.upliftai.org/api-reference/campaigns/resume-a-paused-campaign#apireference\",\"headline\":\"Resume a paused campaign\",\"name\":\"Resume a paused campaign\",\"description\":\"The dialer starts claiming contacts again within a few seconds, and statusMessage is cleared. Only a paused campaign can resume — anything else, running included, is a 409. A campaign the platform paused for credits will pause again on the next credit failure.\",\"url\":\"https://docs.upliftai.org/api-reference/campaigns/resume-a-paused-campaign\",\"mainEntityOfPage\":{\"@id\":\"https://docs.upliftai.org/api-reference/campaigns/resume-a-paused-campaign#webpage\"},\"dateModified\":\"2026-10-28T06:54:41.268Z\",\"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/campaigns/resume-a-paused-campaign.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","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","description":"The dialer stops claiming new contacts, but calls already in flight run to the end — expect live calls for a few more minutes. Only a `running` campaign can pause; anything else, a second pause included, is a 409.","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","description":"How a continuous campaign ends: it accepts no more contacts and completes once queued work and in-flight calls finish. Idempotent, allowed from any state a continuous campaign can be in, leaves `state` untouched, and cannot be undone. Closing before launch still lets you launch — it just dials the contacts it already has. Bounded campaigns 409, since they complete on their own once the list snapshotted at launch runs out.","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":"Resume a paused campaign - 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"]}