{
"statusCode": 429,
"message": "Too Many Requests",
"error": "Too Many Requests",
"correlationId": "YevPQs"
}
{
"statusCode": 500,
"message": "Internal Server Error",
"error": "Internal Server Error",
"correlationId": "YevPQs"
}
Dialer
Create a dialer campaign
Creates a campaign in the initializing state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to active. Only name and mode are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.
{
"statusCode": 429,
"message": "Too Many Requests",
"error": "Too Many Requests",
"correlationId": "YevPQs"
}
{
"statusCode": 500,
"message": "Internal Server Error",
"error": "Internal Server Error",
"correlationId": "YevPQs"
}
The Dialer is a newly released product surface: depending on your account’s rollout stage, campaigns managed through this API may not yet be visible in your CloudTalk Dashboard.
HTTP Basic Authentication. Use your API Access Key ID as the username and your API Access Key Secret as the password. Generate keys in the CloudTalk Dashboard under Account -> Settings -> API Keys (https://dashboard.cloudtalk.io/menu/account/settings/API-keys).
Body
application/json
Body of the campaign create call. Only name and mode are required; every policy bundle falls back to the service default when omitted.
Human-readable campaign name. Leading and trailing whitespace is trimmed before validation, so a blank or whitespace-only name is rejected with 400 (name should not be empty in subErrors).
Per-call behaviour bundle. Every knob is optional — an omitted knob keeps the service default. Only the knobs documented here are stored — any other key in the bundle is silently dropped.
Call script to link to the campaign; omit it or send null to create the campaign without a linked call script. Sent as an integer in requests; responses return the id as a string.
Survey to link to the campaign; omit it or send null to create the campaign without a linked survey. Sent as an integer in requests; responses return the id as a string.
Required range: x >= 1
Example:
44
Response
The created campaign.
A dialer campaign. Identifiers are returned as strings because they are 64-bit integers server-side.
Lifecycle status. initializing: created, membership backfill pending. active: the only dialable state. inactive: paused, fully reversible. archived: review/analytics state, not dialable, exits only back to inactive. deleted: soft-deleted, terminal.
Per-call behaviour bundle. Every knob is optional — an omitted knob keeps the service default. Only the knobs documented here are stored — any other key in the bundle is silently dropped.
Soft-delete timestamp; null unless the campaign has been deleted.
Example:
null
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CloudTalk Help Center","description":"CloudTalk developer documentation — REST API reference and integration guides.","colors":{"primary":"#0527FF","light":"#8495FF","dark":"#0420D5"},"logo":{"light":"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/logo/light.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=9efde0e0ef215d0b41a2f8f92056e144","dark":"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/logo/dark.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=4f13ec15ddcb5aaaac1005fe27b20494"},"favicon":"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/favicon.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=b8634fcc454e4f7d772d4c384046ec0b","api":{"examples":{"prefill":true,"autogenerate":true}},"background":{"color":{"light":"#F9FAFB","dark":"#1A1B1E"}},"navbar":{"links":[{"href":"https://support.cloudtalk.io/","label":"Support"}],"primary":{"type":"button","label":"Log in","href":"https://dashboard.cloudtalk.io/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/cloudtalk.io","youtube":"https://www.youtube.com/channel/UCIVoouQBQ9u6ahSJJ7f5orQ","facebook":"https://www.facebook.com/CloudTalkCallCenter","instagram":"https://www.instagram.com/cloudtalk_io"},"links":[{"header":"Product","items":[{"label":"Pricing","href":"https://www.cloudtalk.io/pricing"},{"label":"AI Voice Agents","href":"https://www.cloudtalk.io/ai-voice-agents"},{"label":"AI Sales Dialer","href":"https://www.cloudtalk.io/dialer"},{"label":"AI Receptionist","href":"https://www.cloudtalk.io/ai-receptionist"},{"label":"Inbound Call Center","href":"https://www.cloudtalk.io/inbound-support-center"},{"label":"Outbound Call Center","href":"https://www.cloudtalk.io/outbound-sales"}]},{"header":"Support","items":[{"label":"Help Center","href":"https://help.cloudtalk.io/en"},{"label":"Status Page","href":"https://status.cloudtalk.io/"},{"label":"Contact Us","href":"https://www.cloudtalk.io/contact"},{"label":"Request a Free Trial","href":"https://www.cloudtalk.io/signup"}]},{"header":"Company","items":[{"label":"Our Story","href":"https://www.cloudtalk.io/our-story"},{"label":"Careers","href":"https://www.cloudtalk.io/careers"},{"label":"Security","href":"https://www.cloudtalk.io/security"},{"label":"Trust Center","href":"https://trust.cloudtalk.io/"},{"label":"Brand Assets","href":"https://www.cloudtalk.io/brand-assets"}]},{"header":"Legal","items":[{"label":"Terms \u0026 Conditions","href":"https://www.cloudtalk.io/terms-and-conditions"},{"label":"Privacy Notice","href":"https://www.cloudtalk.io/privacy-notice"}]}]},"fonts":{"family":"Public Sans"},"styling":{"codeblocks":"system","latex":true},"integrations":{"ga4":{"measurementId":"G-FMQKD83J1Q"}},"contextual":{"options":["copy","view","mcp","cursor","vscode","chatgpt","claude","perplexity"],"display":"header"},"markdown":{"schema":false},"navigation":{"languages":[{"language":"en","href":"en"},{"language":"de","href":"de"},{"language":"es","href":"es"},{"language":"fr","href":"fr"},{"language":"nl","href":"nl"},{"language":"pt","href":"pt"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cloudtalk","hasAudioNarration":false,"actualSubdomain":"cloudtalk","customDomains":["help.cloudtalk.io"],"gitSource":{"type":"github","owner":"cloudtalk-io","repo":"developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aeb6572edeafab81dc5bb56","collectionId":"ff5268bf-c894-49c0-8aa9-3204af5b5aca","liveDeploymentHistoryId":"6aeb6572edeafab81dc5bb56","schemaVersion":"v3"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aeb67560e1827ae617b1005","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"Help Center","count":450},{"language":"de","tag":"Hilfecenter","count":449},{"language":"es","tag":"Centro de ayuda","count":449},{"language":"fr","tag":"Centre d'aide","count":449},{"language":"nl","tag":"Helpcentrum","count":449},{"language":"pt","tag":"Centro de ajuda","count":449},{"language":"en","tag":"API","count":116},{"language":"en","tag":"API Reference","count":108},{"language":"en","tag":"Integrations","count":97},{"language":"de","tag":"Integrationen","count":97},{"language":"es","tag":"Integraciones","count":97},{"language":"fr","tag":"Intégrations","count":97},{"language":"nl","tag":"Integraties","count":97},{"language":"pt","tag":"Integrações","count":97},{"language":"en","tag":"Dashboard","count":89},{"language":"de","tag":"Dashboard","count":89},{"language":"es","tag":"Dashboard","count":89},{"language":"fr","tag":"Dashboard","count":89},{"language":"nl","tag":"Dashboard","count":89},{"language":"pt","tag":"Dashboard","count":89},{"language":"en","tag":"Numbers \u0026 porting","count":66},{"language":"de","tag":"Nummern \u0026 Portierung","count":66},{"language":"es","tag":"Números y portabilidad","count":66},{"language":"fr","tag":"Numéros et portabilité","count":66},{"language":"nl","tag":"Nummers \u0026 portering","count":66},{"language":"pt","tag":"Números e portabilidade","count":66},{"language":"en","tag":"CRM","count":51},{"language":"de","tag":"CRM","count":51},{"language":"es","tag":"CRM","count":51},{"language":"fr","tag":"CRM","count":51},{"language":"nl","tag":"CRM","count":51},{"language":"pt","tag":"CRM","count":51},{"language":"en","tag":"AI","count":43},{"language":"de","tag":"KI","count":42},{"language":"es","tag":"IA","count":42},{"language":"fr","tag":"IA","count":42},{"language":"nl","tag":"AI","count":42},{"language":"pt","tag":"IA","count":42},{"language":"en","tag":"Porting by country","count":40},{"language":"de","tag":"Portierung nach Land","count":40},{"language":"es","tag":"Portabilidad por país","count":40},{"language":"fr","tag":"Portabilité par pays","count":40},{"language":"nl","tag":"Portering per land","count":40},{"language":"pt","tag":"Portabilidade por país","count":40},{"language":"en","tag":"CloudTalk Phone \u0026 Go","count":38},{"language":"de","tag":"CloudTalk Phone \u0026 Go","count":38},{"language":"es","tag":"CloudTalk Phone y Go","count":38},{"language":"fr","tag":"CloudTalk Phone et Go","count":38},{"language":"nl","tag":"CloudTalk Phone \u0026 Go","count":38},{"language":"pt","tag":"CloudTalk Phone e Go","count":38},{"language":"de","tag":"Erste Schritte","count":33},{"language":"es","tag":"Primeros pasos","count":33},{"language":"fr","tag":"Premiers pas","count":33},{"language":"nl","tag":"Aan de slag","count":33},{"language":"pt","tag":"Primeiros passos","count":33},{"language":"de","tag":"Abrechnung \u0026 Abonnement","count":29},{"language":"es","tag":"Facturación y suscripción","count":29},{"language":"fr","tag":"Facturation et abonnement","count":29},{"language":"nl","tag":"Facturering \u0026 abonnement","count":29},{"language":"pt","tag":"Faturação e subscrição","count":29}],"searchSettings":{"maxResults":8,"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"html:not(.dark) #navbar>div:first-child{background:#f5f5f5}#navbar img.nav-logo{height:1.3125rem}#navbar a[href^=\"https://dashboard.cloudtalk.io\"],#navbar a[href^=\"https://dashboard.cloudtalk.io\"] *{color:#fff!important}#navbar a[href^=\"https://dashboard.cloudtalk.io\"]{background:#0420d5;height:2.25rem;padding:0 .875rem;border-radius:.625rem;font-weight:600}#navbar a[href^=\"https://dashboard.cloudtalk.io\"]:hover{background:#031aaa;color:#fff!important}.dark #navbar a[href^=\"https://dashboard.cloudtalk.io\"]{background:#0527ff}.dark #navbar a[href^=\"https://dashboard.cloudtalk.io\"]:hover{background:#304cff}#navbar a[href^=\"https://support.cloudtalk.io\"]{background:0 0;color:#181d27!important;box-shadow:inset 0 0 0 1px #d5d7da;height:2.25rem;padding:0 .875rem;border-radius:.625rem;font-weight:600}#navbar a[href^=\"https://support.cloudtalk.io\"]:hover{background:#e9eaeb;color:#181d27!important}.dark #navbar a[href^=\"https://support.cloudtalk.io\"]{background:0 0;color:#ececed!important;box-shadow:inset 0 0 0 1px #373a41}.dark #navbar a[href^=\"https://support.cloudtalk.io\"]:hover{background:#2b303b;color:#ececed!important}html:not(.dark) #assistant-entry{background:#fff}#navbar nav[aria-label=Main]>ul>li:not(:last-child){margin-inline-end:.75rem}#sidebar-content>button,#sidebar-content>div.border-t{display:none}nav#sidebar-content{border-right:0}@media (min-width:1024px){main#content-container{padding-left:3rem!important}}"}],"page":{"pagePath":"api-reference/dialer/create-a-dialer-campaign","slug":"/api-reference/dialer/create-a-dialer-campaign","pageMetadata":{"title":"Create a dialer campaign","description":"Creates a campaign in the `initializing` state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to `active`. Only `name` and `mode` are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /dialer/campaigns","href":"/api-reference/dialer/create-a-dialer-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: [\"Creates a campaign in the \", _jsx(_components.code, {\n children: \"initializing\"\n }), \" state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to \", _jsx(_components.code, {\n children: \"active\"\n }), \". Only \", _jsx(_components.code, {\n children: \"name\"\n }), \" and \", _jsx(_components.code, {\n children: \"mode\"\n }), \" are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.\"]\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{jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const{Warning}={..._provideComponents(),...props.components};if(!Warning)_missingMdxReference(`Warning`,true);return _jsx(Warning,{children:`The Dialer is a newly released product surface: depending on your account’s rollout stage, campaigns managed through this API may not yet be visible in your CloudTalk Dashboard.`})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Create a dialer campaign","description":"Creates a campaign in the `initializing` state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to `active`. Only `name` and `mode` are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /dialer/campaigns","href":"/api-reference/dialer/create-a-dialer-campaign","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cloudtalk/3405988015c78c5c/theme-toggle.js"],"openApiReferenceData":{"operation":{"servers":["aaf43841-2d2d-4b9d-92d9-2e4b4b35359a"],"tags":["Dialer"],"summary":"Create a dialer campaign","description":"Creates a campaign in the `initializing` state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to `active`. Only `name` and `mode` are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.","operationId":"publicCreateCampaign","x-mint":{"content":"\u003cWarning>The Dialer is a newly released product surface: depending on your account's rollout stage, campaigns managed through this API may not yet be visible in your CloudTalk Dashboard.\u003c/Warning>"},"requestBody":"8c68cdde-18ad-455d-aefd-523e4d7d0282","responses":{"201":"91bf0ed8-d08a-40a4-83ea-52e6187f2f25","400":"675c2538-b395-4d88-9ab7-8b9968b95692","401":"7438037f-3a61-44e7-9298-9a9f5e0a6221","422":"879e868b-acd5-41a3-82ae-81d765e3cb2f","429":"e9bcf3b7-124e-4cad-8995-83864c1a9349","500":"e82159f6-b77b-4de4-92df-116c55294370"},"method":"post","type":"path","security":["6d96e362-8e79-44bd-a2f9-bb735965af53"],"path":"/dialer/campaigns","baseUrlOptions":["https://api.cloudtalk.io/v1"],"title":"Create a dialer campaign","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.name":"Q3 renewals","body.mode":"sequential","body.calling_policy.answer_wait":25,"body.calling_policy.after_call":10,"body.calling_policy.recording":true,"body.queue_policy.lock_size":5,"body.queue_policy.refill_amount":3,"body.retry_policy.max_attempts":3,"body.retry_policy.interval_hours":24,"body.waterfall_order.items.0":"favorite","body.waterfall_order.items.1":"rescheduled","body.waterfall_order.items.2":"retry","body.waterfall_order.items.3":"fresh","body.agent_permissions.skip":true,"body.call_script_id.oneOf.0":310}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Body of the campaign create call. Only `name` and `mode` are required; every policy bundle falls back to the service default when omitted.","required":["name","mode"],"properties":{"name":{"type":"string","description":"Human-readable campaign name. Leading and trailing whitespace is trimmed before validation, so a blank or whitespace-only name is rejected with 400 (`name should not be empty` in `subErrors`).","minLength":1,"pattern":"\\S","maxLength":255,"example":"Q3 renewals","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"mode":{"type":"string","description":"Dialing mode. `sequential` dials one number at a time per agent; `parallel` dials several.","enum":["sequential","parallel"],"example":"sequential","isRequired":true,"uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"calling_policy":{"type":"object","description":"Per-call behaviour bundle. Every knob is optional — an omitted knob keeps the service default. Only the knobs documented here are stored — any other key in the bundle is silently dropped.","properties":{"answer_wait":{"type":"integer","description":"Seconds to wait for an answer before giving up on the number.","minimum":0,"example":25,"uniqueKey":"calling_policy.answer_wait","typeLabel":"integer"},"after_call":{"type":"integer","description":"Wrap-up (after-call work) seconds granted to the agent; 0 means no wrap-up.","minimum":0,"example":10,"uniqueKey":"calling_policy.after_call","typeLabel":"integer"},"recording":{"type":"boolean","description":"Whether calls placed by this campaign are recorded.","example":true,"uniqueKey":"calling_policy.recording","typeLabel":"boolean"},"number_selection":{"type":"string","description":"Strategy used to pick which of a contact's numbers is dialed.","example":"first","uniqueKey":"calling_policy.number_selection","typeLabel":"string"},"outbound_number_id":{"oneOf":[{"type":"integer","description":"Pins the campaign's outbound caller number; null lets the service pick.","minimum":1,"example":12,"uniqueKey":"calling_policy.outbound_number_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Pins the campaign's outbound caller number; null lets the service pick.","minimum":1,"example":12,"uniqueKey":"calling_policy.outbound_number_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"calling_policy.outbound_number_id","typeLabel":"integer | null"},"number_rotation_enabled":{"type":"boolean","description":"Enables sequential rotation over a contact's numbers: a number that is not reached (no answer, busy, failed) advances a per-contact cursor to the next number; an answered call stops the cycle. Absent or `false` pins every attempt to the primary number. Must be a boolean when sent — an explicit null is rejected.","example":false,"uniqueKey":"calling_policy.number_rotation_enabled","typeLabel":"boolean"},"parallel_calls":{"type":"integer","description":"Number of simultaneous calls per agent in `parallel` mode.","minimum":0,"example":2,"uniqueKey":"calling_policy.parallel_calls","typeLabel":"integer"},"voicemail_drop_id":{"type":"integer","description":"Voicemail-drop template used by the agent's voicemail action.","minimum":0,"example":7,"uniqueKey":"calling_policy.voicemail_drop_id","typeLabel":"integer"}},"uniqueKey":"calling_policy","typeLabel":"object"},"queue_policy":{"type":"object","description":"Allocation-batch and dynamic queue-sizing bundle. Every knob is optional.","properties":{"lock_size":{"type":"integer","description":"How many contacts an agent may hold allocated at once.","minimum":0,"example":5,"uniqueKey":"queue_policy.lock_size","typeLabel":"integer"},"pinned_callback_hold_ms":{"type":"integer","description":"Hold window (ms) past an agent-pinned callback's due time after which any agent may serve it; 0 releases the pin as soon as the callback is overdue.","minimum":0,"example":300000,"uniqueKey":"queue_policy.pinned_callback_hold_ms","typeLabel":"integer"},"refill_amount":{"type":"integer","description":"How many contacts are pulled per queue refill.","minimum":0,"example":3,"uniqueKey":"queue_policy.refill_amount","typeLabel":"integer"},"sizing_mode":{"type":"string","description":"Queue-sizing strategy (static or agent-count driven).","example":"dynamic","uniqueKey":"queue_policy.sizing_mode","typeLabel":"string"},"min":{"type":"integer","description":"Lower bound on the dynamically sized queue.","minimum":0,"example":10,"uniqueKey":"queue_policy.min","typeLabel":"integer"},"max":{"type":"integer","description":"Upper bound on the dynamically sized queue.","minimum":0,"example":200,"uniqueKey":"queue_policy.max","typeLabel":"integer"},"multiplier":{"type":"number","description":"Queue size per available agent when sizing dynamically.","minimum":0,"example":2.5,"uniqueKey":"queue_policy.multiplier","typeLabel":"number"},"threshold":{"type":"integer","description":"Remaining-contact count that triggers a refill.","minimum":0,"example":5,"uniqueKey":"queue_policy.threshold","typeLabel":"integer"},"manual_refill":{"type":"boolean","description":"When true the queue is only refilled on an explicit agent action.","example":false,"uniqueKey":"queue_policy.manual_refill","typeLabel":"boolean"}},"uniqueKey":"queue_policy","typeLabel":"object"},"retry_policy":{"type":"object","description":"Re-dial rules bundle. Every knob is optional.","properties":{"max_attempts":{"type":"integer","description":"Maximum dial attempts per contact before it is exhausted.","minimum":0,"example":3,"uniqueKey":"retry_policy.max_attempts","typeLabel":"integer"},"interval_hours":{"type":"number","description":"Hours to wait between attempts; 0 retries immediately.","minimum":0,"example":24,"uniqueKey":"retry_policy.interval_hours","typeLabel":"number"},"excluded_dispositions":{"type":"array","description":"Disposition outcomes that stop further retries.","items":{"type":"string","uniqueKey":"retry_policy.excluded_dispositions.items.[INDEX]","typeLabel":"string"},"example":["unsuccessful_do_not_call"],"uniqueKey":"retry_policy.excluded_dispositions","typeLabel":"string[]"},"dnc_tag_ids":{"type":"array","description":"Contact-tag ids that mark a contact as do-not-call.","items":{"type":"integer","minimum":0,"uniqueKey":"retry_policy.dnc_tag_ids.items.[INDEX]","typeLabel":"integer"},"example":[55],"uniqueKey":"retry_policy.dnc_tag_ids","typeLabel":"integer[]"}},"uniqueKey":"retry_policy","typeLabel":"object"},"schedule_policy":{"type":"object","description":"Campaign start-window bundle. Every knob is optional.","properties":{"start_date":{"type":"string","description":"Company-local calendar date the campaign may start dialing. Must be a real calendar date in `YYYY-MM-DD` — any other form, or a date that does not exist such as `2026-02-30`, is rejected with 400 (`schedule_policy.start_date must be a real calendar date in YYYY-MM-DD` in `subErrors`).","format":"date","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$","example":"2026-08-10","uniqueKey":"schedule_policy.start_date","typeLabel":"string\u003cdate>"},"start_time":{"type":"string","description":"Company-local wall-clock time on `start_date`. Must be a valid `HH:MM` or `HH:MM:SS` time, components zero-padded and in range — any other form, or an impossible time such as `25:00`, is rejected with 400 (`schedule_policy.start_time must be a valid HH:MM or HH:MM:SS time` in `subErrors`). Omit it for midnight.","pattern":"^([01]\\d|2[0-3]):[0-5]\\d(:[0-5]\\d)?$","example":"09:00","uniqueKey":"schedule_policy.start_time","typeLabel":"string"},"timezone_rule_enabled":{"type":"boolean","description":"When true the start window is applied in the contact's own timezone.","example":true,"uniqueKey":"schedule_policy.timezone_rule_enabled","typeLabel":"boolean"}},"uniqueKey":"schedule_policy","typeLabel":"object"},"ttl_policy":{"type":"object","description":"Contact-eligibility expiry bundle — drives how long an allocated contact stays held. Every knob is optional.","properties":{"mode":{"type":"string","description":"How the expiry window is derived.","example":"campaign","uniqueKey":"ttl_policy.mode","typeLabel":"string"},"hours":{"type":"integer","description":"Expiry window in hours while the campaign is running.","minimum":0,"example":72,"uniqueKey":"ttl_policy.hours","typeLabel":"integer"},"paused_hours":{"type":"integer","description":"Expiry window in hours while the campaign is paused.","minimum":0,"example":168,"uniqueKey":"ttl_policy.paused_hours","typeLabel":"integer"}},"uniqueKey":"ttl_policy","typeLabel":"object"},"waterfall_order":{"type":"array","description":"Ordered, duplicate-free subset of the waterfall categories. Contacts are served tier by tier in this order.","items":{"type":"string","enum":["favorite","rescheduled","retry","fresh"],"uniqueKey":"waterfall_order.items.[INDEX]","typeLabel":"enum\u003cstring>"},"example":["favorite","rescheduled","retry","fresh"],"uniqueKey":"waterfall_order","typeLabel":"enum\u003cstring>[]"},"agent_permissions":{"type":"object","description":"Booleans gating what an agent may do to their queue. Deny by default — an omitted key is false.","properties":{"skip":{"type":"boolean","description":"Agent may skip the contact currently served to them.","example":true,"uniqueKey":"agent_permissions.skip","typeLabel":"boolean"},"remove":{"type":"boolean","description":"Agent may remove a contact from the campaign queue.","example":false,"uniqueKey":"agent_permissions.remove","typeLabel":"boolean"},"reorder":{"type":"boolean","description":"Agent may reorder their own queue.","example":false,"uniqueKey":"agent_permissions.reorder","typeLabel":"boolean"}},"uniqueKey":"agent_permissions","typeLabel":"object"},"call_script_id":{"oneOf":[{"type":"integer","description":"Call script to link to the campaign; omit it or send `null` to create the campaign without a linked call script. Sent as an integer in requests; responses return the id as a string.","minimum":1,"example":310,"uniqueKey":"call_script_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Call script to link to the campaign; omit it or send `null` to create the campaign without a linked call script. Sent as an integer in requests; responses return the id as a string.","minimum":1,"example":310,"uniqueKey":"call_script_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"call_script_id","typeLabel":"integer | null"},"survey_id":{"oneOf":[{"type":"integer","description":"Survey to link to the campaign; omit it or send `null` to create the campaign without a linked survey. Sent as an integer in requests; responses return the id as a string.","minimum":1,"example":44,"uniqueKey":"survey_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Survey to link to the campaign; omit it or send `null` to create the campaign without a linked survey. Sent as an integer in requests; responses return the id as a string.","minimum":1,"example":44,"uniqueKey":"survey_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"survey_id","typeLabel":"integer | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"name":"Q3 renewals","mode":"sequential","calling_policy":{"answer_wait":25,"after_call":10,"recording":true},"queue_policy":{"lock_size":5,"refill_amount":3},"retry_policy":{"max_attempts":3,"interval_hours":24},"waterfall_order":["favorite","rescheduled","retry","fresh"],"agent_permissions":{"skip":true},"call_script_id":310},"examples":{"Example":{"title":"Example","value":{"name":"Q3 renewals","mode":"sequential","calling_policy":{"answer_wait":25,"after_call":10,"recording":true},"queue_policy":{"lock_size":5,"refill_amount":3},"retry_policy":{"max_attempts":3,"interval_hours":24},"waterfall_order":["favorite","rescheduled","retry","fresh"],"agent_permissions":{"skip":true},"call_script_id":310}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"91bf0ed8-d08a-40a4-83ea-52e6187f2f25":{"description":"The created campaign.","content":{"application/json":{"schema":{"type":"object","description":"A dialer campaign. Identifiers are returned as strings because they are 64-bit integers server-side.","properties":{"id":{"type":"string","description":"Campaign ID.","example":"42","uniqueKey":"id","typeLabel":"string"},"name":{"type":"string","description":"Human-readable campaign name.","example":"Q3 renewals","uniqueKey":"name","typeLabel":"string"},"mode":{"type":"string","description":"Dialing mode.","enum":["sequential","parallel"],"example":"sequential","uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"status":{"type":"string","description":"Lifecycle status. `initializing`: created, membership backfill pending. `active`: the only dialable state. `inactive`: paused, fully reversible. `archived`: review/analytics state, not dialable, exits only back to `inactive`. `deleted`: soft-deleted, terminal.","enum":["initializing","active","inactive","archived","deleted"],"example":"active","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"calling_policy":{"type":"object","description":"Per-call behaviour bundle. Every knob is optional — an omitted knob keeps the service default. Only the knobs documented here are stored — any other key in the bundle is silently dropped.","properties":{"answer_wait":{"type":"integer","description":"Seconds to wait for an answer before giving up on the number.","minimum":0,"example":25,"uniqueKey":"calling_policy.answer_wait","typeLabel":"integer"},"after_call":{"type":"integer","description":"Wrap-up (after-call work) seconds granted to the agent; 0 means no wrap-up.","minimum":0,"example":10,"uniqueKey":"calling_policy.after_call","typeLabel":"integer"},"recording":{"type":"boolean","description":"Whether calls placed by this campaign are recorded.","example":true,"uniqueKey":"calling_policy.recording","typeLabel":"boolean"},"number_selection":{"type":"string","description":"Strategy used to pick which of a contact's numbers is dialed.","example":"first","uniqueKey":"calling_policy.number_selection","typeLabel":"string"},"outbound_number_id":{"oneOf":[{"type":"integer","description":"Pins the campaign's outbound caller number; null lets the service pick.","minimum":1,"example":12,"uniqueKey":"calling_policy.outbound_number_id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Pins the campaign's outbound caller number; null lets the service pick.","minimum":1,"example":12,"uniqueKey":"calling_policy.outbound_number_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"calling_policy.outbound_number_id","typeLabel":"integer | null"},"number_rotation_enabled":{"type":"boolean","description":"Enables sequential rotation over a contact's numbers: a number that is not reached (no answer, busy, failed) advances a per-contact cursor to the next number; an answered call stops the cycle. Absent or `false` pins every attempt to the primary number. Must be a boolean when sent — an explicit null is rejected.","example":false,"uniqueKey":"calling_policy.number_rotation_enabled","typeLabel":"boolean"},"parallel_calls":{"type":"integer","description":"Number of simultaneous calls per agent in `parallel` mode.","minimum":0,"example":2,"uniqueKey":"calling_policy.parallel_calls","typeLabel":"integer"},"voicemail_drop_id":{"type":"integer","description":"Voicemail-drop template used by the agent's voicemail action.","minimum":0,"example":7,"uniqueKey":"calling_policy.voicemail_drop_id","typeLabel":"integer"}},"uniqueKey":"calling_policy","typeLabel":"object"},"queue_policy":{"type":"object","description":"Allocation-batch and dynamic queue-sizing bundle. Every knob is optional.","properties":{"lock_size":{"type":"integer","description":"How many contacts an agent may hold allocated at once.","minimum":0,"example":5,"uniqueKey":"queue_policy.lock_size","typeLabel":"integer"},"pinned_callback_hold_ms":{"type":"integer","description":"Hold window (ms) past an agent-pinned callback's due time after which any agent may serve it; 0 releases the pin as soon as the callback is overdue.","minimum":0,"example":300000,"uniqueKey":"queue_policy.pinned_callback_hold_ms","typeLabel":"integer"},"refill_amount":{"type":"integer","description":"How many contacts are pulled per queue refill.","minimum":0,"example":3,"uniqueKey":"queue_policy.refill_amount","typeLabel":"integer"},"sizing_mode":{"type":"string","description":"Queue-sizing strategy (static or agent-count driven).","example":"dynamic","uniqueKey":"queue_policy.sizing_mode","typeLabel":"string"},"min":{"type":"integer","description":"Lower bound on the dynamically sized queue.","minimum":0,"example":10,"uniqueKey":"queue_policy.min","typeLabel":"integer"},"max":{"type":"integer","description":"Upper bound on the dynamically sized queue.","minimum":0,"example":200,"uniqueKey":"queue_policy.max","typeLabel":"integer"},"multiplier":{"type":"number","description":"Queue size per available agent when sizing dynamically.","minimum":0,"example":2.5,"uniqueKey":"queue_policy.multiplier","typeLabel":"number"},"threshold":{"type":"integer","description":"Remaining-contact count that triggers a refill.","minimum":0,"example":5,"uniqueKey":"queue_policy.threshold","typeLabel":"integer"},"manual_refill":{"type":"boolean","description":"When true the queue is only refilled on an explicit agent action.","example":false,"uniqueKey":"queue_policy.manual_refill","typeLabel":"boolean"}},"uniqueKey":"queue_policy","typeLabel":"object"},"retry_policy":{"type":"object","description":"Re-dial rules bundle. Every knob is optional.","properties":{"max_attempts":{"type":"integer","description":"Maximum dial attempts per contact before it is exhausted.","minimum":0,"example":3,"uniqueKey":"retry_policy.max_attempts","typeLabel":"integer"},"interval_hours":{"type":"number","description":"Hours to wait between attempts; 0 retries immediately.","minimum":0,"example":24,"uniqueKey":"retry_policy.interval_hours","typeLabel":"number"},"excluded_dispositions":{"type":"array","description":"Disposition outcomes that stop further retries.","items":{"type":"string","uniqueKey":"retry_policy.excluded_dispositions.items.[INDEX]","typeLabel":"string"},"example":["unsuccessful_do_not_call"],"uniqueKey":"retry_policy.excluded_dispositions","typeLabel":"string[]"},"dnc_tag_ids":{"type":"array","description":"Contact-tag ids that mark a contact as do-not-call.","items":{"type":"integer","minimum":0,"uniqueKey":"retry_policy.dnc_tag_ids.items.[INDEX]","typeLabel":"integer"},"example":[55],"uniqueKey":"retry_policy.dnc_tag_ids","typeLabel":"integer[]"}},"uniqueKey":"retry_policy","typeLabel":"object"},"schedule_policy":{"type":"object","description":"Campaign start-window bundle. Every knob is optional.","properties":{"start_date":{"type":"string","description":"Company-local calendar date the campaign may start dialing. Must be a real calendar date in `YYYY-MM-DD` — any other form, or a date that does not exist such as `2026-02-30`, is rejected with 400 (`schedule_policy.start_date must be a real calendar date in YYYY-MM-DD` in `subErrors`).","format":"date","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$","example":"2026-08-10","uniqueKey":"schedule_policy.start_date","typeLabel":"string\u003cdate>"},"start_time":{"type":"string","description":"Company-local wall-clock time on `start_date`. Must be a valid `HH:MM` or `HH:MM:SS` time, components zero-padded and in range — any other form, or an impossible time such as `25:00`, is rejected with 400 (`schedule_policy.start_time must be a valid HH:MM or HH:MM:SS time` in `subErrors`). Omit it for midnight.","pattern":"^([01]\\d|2[0-3]):[0-5]\\d(:[0-5]\\d)?$","example":"09:00","uniqueKey":"schedule_policy.start_time","typeLabel":"string"},"timezone_rule_enabled":{"type":"boolean","description":"When true the start window is applied in the contact's own timezone.","example":true,"uniqueKey":"schedule_policy.timezone_rule_enabled","typeLabel":"boolean"}},"uniqueKey":"schedule_policy","typeLabel":"object"},"ttl_policy":{"type":"object","description":"Contact-eligibility expiry bundle — drives how long an allocated contact stays held. Every knob is optional.","properties":{"mode":{"type":"string","description":"How the expiry window is derived.","example":"campaign","uniqueKey":"ttl_policy.mode","typeLabel":"string"},"hours":{"type":"integer","description":"Expiry window in hours while the campaign is running.","minimum":0,"example":72,"uniqueKey":"ttl_policy.hours","typeLabel":"integer"},"paused_hours":{"type":"integer","description":"Expiry window in hours while the campaign is paused.","minimum":0,"example":168,"uniqueKey":"ttl_policy.paused_hours","typeLabel":"integer"}},"uniqueKey":"ttl_policy","typeLabel":"object"},"waterfall_order":{"type":"array","description":"Ordered, duplicate-free subset of the waterfall categories.","items":{"type":"string","enum":["favorite","rescheduled","retry","fresh"],"uniqueKey":"waterfall_order.items.[INDEX]","typeLabel":"enum\u003cstring>"},"example":["favorite","rescheduled","retry","fresh"],"uniqueKey":"waterfall_order","typeLabel":"enum\u003cstring>[]"},"agent_permissions":{"type":"object","description":"Booleans gating what an agent may do to their queue. Deny by default — an omitted key is false.","properties":{"skip":{"type":"boolean","description":"Agent may skip the contact currently served to them.","example":true,"uniqueKey":"agent_permissions.skip","typeLabel":"boolean"},"remove":{"type":"boolean","description":"Agent may remove a contact from the campaign queue.","example":false,"uniqueKey":"agent_permissions.remove","typeLabel":"boolean"},"reorder":{"type":"boolean","description":"Agent may reorder their own queue.","example":false,"uniqueKey":"agent_permissions.reorder","typeLabel":"boolean"}},"uniqueKey":"agent_permissions","typeLabel":"object"},"call_script_id":{"oneOf":[{"type":"string","description":"Linked call-script ID; null when none.","example":"310","uniqueKey":"call_script_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Linked call-script ID; null when none.","example":"310","uniqueKey":"call_script_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"call_script_id","typeLabel":"string | null"},"survey_id":{"oneOf":[{"type":"string","description":"Linked survey ID; null when none.","example":"44","uniqueKey":"survey_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Linked survey ID; null when none.","example":"44","uniqueKey":"survey_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"survey_id","typeLabel":"string | null"},"created_at":{"type":"string","description":"Creation timestamp (ISO 8601, UTC).","format":"date-time","example":"2026-08-01T09:15:00.000Z","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","description":"Last-update timestamp (ISO 8601, UTC).","format":"date-time","example":"2026-08-04T11:42:07.000Z","uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"archived_at":{"oneOf":[{"type":"string","description":"When the campaign entered `archived`; cleared on exit, so non-null only while the status is `archived`.","format":"date-time","example":null,"uniqueKey":"archived_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the campaign entered `archived`; cleared on exit, so non-null only while the status is `archived`.","format":"date-time","example":null,"uniqueKey":"archived_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"archived_at","typeLabel":"string\u003cdate-time> | null"},"deleted_at":{"oneOf":[{"type":"string","description":"Soft-delete timestamp; null unless the campaign has been deleted.","format":"date-time","example":null,"uniqueKey":"deleted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Soft-delete timestamp; null unless the campaign has been deleted.","format":"date-time","example":null,"uniqueKey":"deleted_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"deleted_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"42","name":"Q3 renewals","mode":"sequential","status":"initializing","calling_policy":{"answer_wait":25,"after_call":10,"recording":true},"queue_policy":{"lock_size":5,"refill_amount":3},"retry_policy":{"max_attempts":3,"interval_hours":24},"schedule_policy":{"start_date":"2026-08-10","start_time":"09:00"},"ttl_policy":{"mode":"campaign","hours":72},"waterfall_order":["favorite","rescheduled","retry","fresh"],"agent_permissions":{"skip":true,"remove":false,"reorder":false},"call_script_id":"310","survey_id":null,"created_at":"2026-08-01T09:15:00.000Z","updated_at":"2026-08-01T09:15:00.000Z","archived_at":null,"deleted_at":null},"examples":{"Example":{"title":"Example","value":{"id":"42","name":"Q3 renewals","mode":"sequential","status":"initializing","calling_policy":{"answer_wait":25,"after_call":10,"recording":true},"queue_policy":{"lock_size":5,"refill_amount":3},"retry_policy":{"max_attempts":3,"interval_hours":24},"schedule_policy":{"start_date":"2026-08-10","start_time":"09:00"},"ttl_policy":{"mode":"campaign","hours":72},"waterfall_order":["favorite","rescheduled","retry","fresh"],"agent_permissions":{"skip":true,"remove":false,"reorder":false},"call_script_id":"310","survey_id":null,"created_at":"2026-08-01T09:15:00.000Z","updated_at":"2026-08-01T09:15:00.000Z","archived_at":null,"deleted_at":null}}},"exampleType":"examples"}},"exampleType":"examples"},"675c2538-b395-4d88-9ab7-8b9968b95692":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","description":"Error envelope returned by every Dialer API endpoint. Note it differs from the legacy API's error format.","properties":{"statusCode":{"type":"integer","description":"HTTP status code","isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"HTTP error name","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID — include it when contacting support","example":"YevPQs","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string"},"subErrors":{"type":"array","items":{"type":"string","uniqueKey":"subErrors.items.[INDEX]","typeLabel":"string"},"description":"Field-level validation messages, present on validation failures","example":["incorrect email"],"uniqueKey":"subErrors","typeLabel":"string[]"}},"required":["statusCode","message","error","correlationId"],"uniqueKey":"","typeLabel":"object"},"example":{"statusCode":400,"message":"Validation error","error":"Bad Request","correlationId":"YevPQs","subErrors":["incorrect email"]},"examples":{"Example":{"title":"Example","value":{"statusCode":400,"message":"Validation error","error":"Bad Request","correlationId":"YevPQs","subErrors":["incorrect email"]}}},"exampleType":"examples"}},"exampleType":"examples"},"7438037f-3a61-44e7-9298-9a9f5e0a6221":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","description":"Error envelope returned by the authentication layer in front of the `api.cloudtalk.io/v1` surface. It differs from the per-service error shapes used for other statuses.","properties":{"code":{"type":"string","description":"Error code","example":"UNAUTHORIZED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Error message","example":"You are not authorized to access this resource.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message"],"uniqueKey":"","typeLabel":"object"},"example":{"code":"UNAUTHORIZED","message":"You are not authorized to access this resource."},"examples":{"Example":{"title":"Example","value":{"code":"UNAUTHORIZED","message":"You are not authorized to access this resource."}}},"exampleType":"examples"}},"exampleType":"examples"},"879e868b-acd5-41a3-82ae-81d765e3cb2f":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"type":"object","description":"Error envelope returned by every Dialer API endpoint. Note it differs from the legacy API's error format.","properties":{"statusCode":{"type":"integer","description":"HTTP status code","isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"HTTP error name","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID — include it when contacting support","example":"YevPQs","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string"},"subErrors":{"type":"array","items":{"type":"string","uniqueKey":"subErrors.items.[INDEX]","typeLabel":"string"},"description":"Field-level validation messages, present on validation failures","example":["incorrect email"],"uniqueKey":"subErrors","typeLabel":"string[]"}},"required":["statusCode","message","error","correlationId"],"uniqueKey":"","typeLabel":"object"},"example":{"statusCode":422,"message":"Unprocessable Entity","error":"Unprocessable Entity","correlationId":"YevPQs"},"examples":{"Example":{"title":"Example","value":{"statusCode":422,"message":"Unprocessable Entity","error":"Unprocessable Entity","correlationId":"YevPQs"}}},"exampleType":"examples"}},"exampleType":"examples"},"e9bcf3b7-124e-4cad-8995-83864c1a9349":{"description":"Too many requests","headers":{"X-CloudTalkAPI-Limit":{"description":"Maximum number of API requests allowed in the current time window.","schema":{"type":"integer"}},"X-CloudTalkAPI-Remaining":{"description":"Number of API requests left in the current window.","schema":{"type":"integer"}},"X-CloudTalkAPI-ResetTime":{"description":"Time when the rate-limit window resets, as a Unix timestamp.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","description":"Error envelope returned by every Dialer API endpoint. Note it differs from the legacy API's error format.","properties":{"statusCode":{"type":"integer","description":"HTTP status code","isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"HTTP error name","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID — include it when contacting support","example":"YevPQs","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string"},"subErrors":{"type":"array","items":{"type":"string","uniqueKey":"subErrors.items.[INDEX]","typeLabel":"string"},"description":"Field-level validation messages, present on validation failures","example":["incorrect email"],"uniqueKey":"subErrors","typeLabel":"string[]"}},"required":["statusCode","message","error","correlationId"],"uniqueKey":"","typeLabel":"object"},"example":{"statusCode":429,"message":"Too Many Requests","error":"Too Many Requests","correlationId":"YevPQs"},"examples":{"Example":{"title":"Example","value":{"statusCode":429,"message":"Too Many Requests","error":"Too Many Requests","correlationId":"YevPQs"}}},"exampleType":"examples"}},"exampleType":"examples"},"e82159f6-b77b-4de4-92df-116c55294370":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","description":"Error envelope returned by every Dialer API endpoint. Note it differs from the legacy API's error format.","properties":{"statusCode":{"type":"integer","description":"HTTP status code","isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer"},"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"error":{"type":"string","description":"HTTP error name","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID — include it when contacting support","example":"YevPQs","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string"},"subErrors":{"type":"array","items":{"type":"string","uniqueKey":"subErrors.items.[INDEX]","typeLabel":"string"},"description":"Field-level validation messages, present on validation failures","example":["incorrect email"],"uniqueKey":"subErrors","typeLabel":"string[]"}},"required":["statusCode","message","error","correlationId"],"uniqueKey":"","typeLabel":"object"},"example":{"statusCode":500,"message":"Internal Server Error","error":"Internal Server Error","correlationId":"YevPQs"},"examples":{"Example":{"title":"Example","value":{"statusCode":500,"message":"Internal Server Error","error":"Internal Server Error","correlationId":"YevPQs"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"6d96e362-8e79-44bd-a2f9-bb735965af53":{"basicAuth":{"type":"http","scheme":"basic","description":"HTTP Basic Authentication. Use your API Access Key ID as the username and your API Access Key Secret as the password. Generate keys in the CloudTalk Dashboard under Account -> Settings -> API Keys (https://dashboard.cloudtalk.io/menu/account/settings/API-keys).","scopes":[],"schemeName":"basicAuth"}}},"servers":{"aaf43841-2d2d-4b9d-92d9-2e4b4b35359a":{"url":"https://api.cloudtalk.io/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"basic","description":"HTTP Basic Authentication. Use your API Access Key ID as the username and your API Access Key Secret as the password. Generate keys in the CloudTalk Dashboard under Account -> Settings -> API Keys (https://dashboard.cloudtalk.io/menu/account/settings/API-keys).","scopes":[],"schemeName":"basicAuth"},"schema":{"title":"Basic Auth","type":"object","description":"HTTP Basic Authentication. Use your API Access Key ID as the username and your API Access Key Secret as the password. Generate keys in the CloudTalk Dashboard under Account -> Settings -> API Keys (https://dashboard.cloudtalk.io/menu/account/settings/API-keys).","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"basicAuth","name":"Authorization"}],"title":"basicAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"cloudtalk","siteName":"CloudTalk Help Center","title":"Create a dialer campaign - CloudTalk Help Center","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/dialer/create-a-dialer-campaign","matchLevel":0},"de":{"href":"/de","matchLevel":4},"es":{"href":"/es","matchLevel":4},"fr":{"href":"/fr","matchLevel":4},"nl":{"href":"/nl","matchLevel":4},"pt":{"href":"/pt","matchLevel":4}}},"lastModified":"2026-11-04T13:03:46.106Z","originalFileLocation":"api-reference/dialer/create-a-dialer-campaign.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a campaign in the initializing state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to active. Only name and mode are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CloudTalk Help Center\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_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/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cloudtalk/VvADT62SW6ZfhiGL/_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/cloudtalk/VvADT62SW6ZfhiGL/_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/cloudtalk/VvADT62SW6ZfhiGL/_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/cloudtalk/VvADT62SW6ZfhiGL/_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/cloudtalk/VvADT62SW6ZfhiGL/_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/cloudtalk/VvADT62SW6ZfhiGL/_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/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a dialer campaign - CloudTalk Help Center\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a campaign in the initializing state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to active. Only name and mode are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CloudTalk Help Center\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cloudtalk.mintlify.app/_mintlify/api/og/v2?division=Dialer\u0026amp;title=Create+a+dialer+campaign\u0026amp;description=Creates+a+campaign+in+the+%60initializing%60+state%3A+the+contact+membership+defined+by+its+target+tags+is+built+asynchronously%2C+after+which+the+campaign+can+be+moved\u0026amp;theme=1e2a8314c967ca8053f46579\u0026amp;signature=d881b545dbd1621af78e0bb01095da804bedb42b4d1773e71d6a1f2192a1e97d\">\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=\"Create a dialer campaign - CloudTalk Help Center\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a campaign in the initializing state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to active. Only name and mode are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cloudtalk.mintlify.app/_mintlify/api/og/v2?division=Dialer\u0026amp;title=Create+a+dialer+campaign\u0026amp;description=Creates+a+campaign+in+the+%60initializing%60+state%3A+the+contact+membership+defined+by+its+target+tags+is+built+asynchronously%2C+after+which+the+campaign+can+be+moved\u0026amp;theme=1e2a8314c967ca8053f46579\u0026amp;signature=d881b545dbd1621af78e0bb01095da804bedb42b4d1773e71d6a1f2192a1e97d\">\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/cloudtalk/VvADT62SW6ZfhiGL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CloudTalk Help Center\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0527FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-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/dialer/create-a-dialer-campaign.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.cloudtalk.io/#organization\",\"name\":\"CloudTalk Help Center\",\"url\":\"https://help.cloudtalk.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cloudtalk/M_FX1uE099dO0_78/logo/light.svg?fit=max\u0026auto=format\u0026n=M_FX1uE099dO0_78\u0026q=85\u0026s=9efde0e0ef215d0b41a2f8f92056e144\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.cloudtalk.io#website\",\"name\":\"CloudTalk Help Center\",\"url\":\"https://help.cloudtalk.io\",\"publisher\":{\"@id\":\"https://help.cloudtalk.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign#webpage\",\"url\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign\",\"name\":\"Create a dialer campaign\",\"description\":\"Creates a campaign in the initializing state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to active. Only name and mode are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.\",\"dateModified\":\"2026-11-04T13:03:46.106Z\",\"isPartOf\":{\"@id\":\"https://help.cloudtalk.io#website\"},\"breadcrumb\":{\"@id\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://help.cloudtalk.io/api-reference/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dialer\",\"item\":\"https://help.cloudtalk.io/api-reference/dialer/list-dialer-campaigns\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a dialer campaign\",\"item\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign#apireference\",\"headline\":\"Create a dialer campaign\",\"name\":\"Create a dialer campaign\",\"description\":\"Creates a campaign in the initializing state: the contact membership defined by its target tags is built asynchronously, after which the campaign can be moved to active. Only name and mode are required — every policy bundle falls back to the service default when omitted. Target tags, queue groups and agents are attached separately with the associations call.\",\"url\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign\",\"mainEntityOfPage\":{\"@id\":\"https://help.cloudtalk.io/api-reference/dialer/create-a-dialer-campaign#webpage\"},\"dateModified\":\"2026-11-04T13:03:46.106Z\",\"publisher\":{\"@id\":\"https://help.cloudtalk.io/#organization\"},\"isPartOf\":{\"@id\":\"https://help.cloudtalk.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CloudTalk Help Center\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CloudTalk Help Center","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Help Center","pages":[{"title":"Help Center","href":"/en"}]},{"tab":"API","groups":[{"group":"Getting Started","pages":[{"title":"CloudTalk Developer Documentation","sidebarTitle":"Home","href":"/developers"},{"title":"CloudTalk REST API: Call Center Automation Platform","sidebarTitle":"Introduction","href":"/guides/introduction"},{"title":"How to Authenticate Requests to the CloudTalk REST API","sidebarTitle":"Authentication","href":"/guides/authentication"},{"title":"Quickstart: Make Your First CloudTalk REST API Call","sidebarTitle":"Quickstart","href":"/guides/quickstart"}]},{"group":"API Concepts","pages":[{"title":"CloudTalk API Response Envelope Formats and Schema","sidebarTitle":"Response Envelopes","href":"/guides/response-envelopes"},{"title":"How to Paginate CloudTalk API Collection Responses","sidebarTitle":"Pagination","href":"/guides/pagination"},{"title":"CloudTalk API Rate Limits, Headers, and Throttling","sidebarTitle":"Rate Limiting","href":"/guides/rate-limiting"},{"title":"CloudTalk API HTTP Error Codes: Causes and Resolutions","sidebarTitle":"Error Codes","href":"/guides/error-codes"}]},{"group":"API Reference","pages":[{"title":"CloudTalk REST API v1.7 — Complete Developer Reference","sidebarTitle":"Overview","href":"/api-reference/overview"},{"group":"CueCard","pages":[{"title":"Create CueCard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /cuecards","href":"/api-reference/cuecard/create-cuecard"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /agents/index.json","href":"/api-reference/agents/list-agents"},{"title":"Add an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /agents/add.json","href":"/api-reference/agents/add-an-agent"},{"title":"Edit an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agents/edit/{agentId}.json","href":"/api-reference/agents/edit-an-agent"},{"title":"Delete an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /agents/delete/{agentId}.json","href":"/api-reference/agents/delete-an-agent"}]},{"group":"Groups","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /groups/index.json","href":"/api-reference/groups/list-groups"},{"title":"Add agent to group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /groups/add.json","href":"/api-reference/groups/add-agent-to-group"},{"title":"Remove agent from group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /groups/delete/{agent_id}.json","href":"/api-reference/groups/remove-agent-from-group"}]},{"group":"Bulks","pages":[{"title":"Contact actions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /bulk/contacts.json","href":"/api-reference/bulks/contact-actions"}]},{"group":"Campaigns","pages":[{"title":"List campaigns","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /campaigns/index.json","href":"/api-reference/campaigns/list-campaigns"},{"title":"Add campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /campaigns/add.json","href":"/api-reference/campaigns/add-campaign"},{"title":"Edit campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /campaigns/edit/{id}.json","href":"/api-reference/campaigns/edit-campaign"},{"title":"Delete campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /campaigns/delete/{id}.json","href":"/api-reference/campaigns/delete-campaign"}]},{"group":"Contacts","pages":[{"title":"List contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /contacts/index.json","href":"/api-reference/contacts/list-contacts"},{"title":"Add contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /contacts/add.json","href":"/api-reference/contacts/add-contact"},{"title":"Edit contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /contacts/edit/{contactId}.json","href":"/api-reference/contacts/edit-contact"},{"title":"Delete contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /contacts/delete/{contactId}.json","href":"/api-reference/contacts/delete-contact"},{"title":"Inspect a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /contacts/show/{contactId}.json","href":"/api-reference/contacts/inspect-a-contact"},{"title":"Attributes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /contacts/attributes.json","href":"/api-reference/contacts/attributes"},{"title":"Assign contact tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /contacts/addTags/{contactId}.json","href":"/api-reference/contacts/assign-contact-tags"},{"title":"Unassign contact tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /contacts/removeTags/{contactId}.json","href":"/api-reference/contacts/unassign-contact-tags"},{"title":"List notes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /notes/index.json","href":"/api-reference/contacts/list-notes"},{"title":"Add note","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /notes/add/{contactId}.json","href":"/api-reference/contacts/add-note"},{"title":"Edit note","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /notes/edit/{noteId}.json","href":"/api-reference/contacts/edit-note"},{"title":"Delete note","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /notes/delete/{noteId}.json","href":"/api-reference/contacts/delete-note"},{"title":"List activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /activity/index.json","href":"/api-reference/contacts/list-activities"},{"title":"Add activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /activity/add/{contactId}.json","href":"/api-reference/contacts/add-activity"},{"title":"Edit activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /activity/edit/{activityId}.json","href":"/api-reference/contacts/edit-activity"},{"title":"Delete activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /activity/delete/{activityId}.json","href":"/api-reference/contacts/delete-activity"}]},{"group":"Numbers","pages":[{"title":"List numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /numbers/index.json","href":"/api-reference/numbers/list-numbers"},{"title":"Edit a number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /numbers/edit/{id}.json","href":"/api-reference/numbers/edit-a-number"},{"title":"Unregister a number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /numbers/clear/{id}.json","href":"/api-reference/numbers/unregister-a-number"}]},{"group":"Utilities","pages":[{"title":"List countries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /countries/index.json","href":"/api-reference/utilities/list-countries"},{"title":"List blacklist","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /blacklist/index.json","href":"/api-reference/utilities/list-blacklist"},{"title":"Add number to blacklist","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /blacklist/add.json","href":"/api-reference/utilities/add-number-to-blacklist"},{"title":"Edit number on blacklist","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /blacklist/edit/{id}.json","href":"/api-reference/utilities/edit-number-on-blacklist"},{"title":"Delete number from blacklist","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /blacklist/delete/{id}.json","href":"/api-reference/utilities/delete-number-from-blacklist"}]},{"group":"Sms","pages":[{"title":"Send sms","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /sms/send.json","href":"/api-reference/sms/send-sms"}]},{"group":"Calls","pages":[{"title":"Call history","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /calls/index.json","href":"/api-reference/calls/call-history"},{"title":"Get call details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /calls/{callId}","href":"/api-reference/calls/get-call-details"},{"title":"Recording media","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /calls/recording/{callId}.json","href":"/api-reference/calls/recording-media"},{"title":"Delete call recording","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /recordings/delete/{callId}.json","href":"/api-reference/calls/delete-call-recording"},{"title":"Make a call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /calls/create.json","href":"/api-reference/calls/make-a-call"},{"title":"Group statistics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /statistics/realtime/groups.json","href":"/api-reference/calls/group-statistics"}]},{"group":"Contact tags","pages":[{"title":"List contact tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /tags/index.json","href":"/api-reference/contact-tags/list-contact-tags"},{"title":"Add a contact tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /tags/add.json","href":"/api-reference/contact-tags/add-a-contact-tag"},{"title":"Edit a contact tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /tags/edit/{id}.json","href":"/api-reference/contact-tags/edit-a-contact-tag"},{"title":"Delete a contact tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /tags/delete/{id}.json","href":"/api-reference/contact-tags/delete-a-contact-tag"}]},{"group":"Conversation Intelligence","pages":[{"title":"Summary","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ai/calls/{callId}/summary","href":"/api-reference/conversation-intelligence/summary"},{"title":"Overall sentiment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ai/calls/{callId}/overall-sentiment","href":"/api-reference/conversation-intelligence/overall-sentiment"},{"title":"Talk-listen ratio","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ai/calls/{callId}/talk-listen-ratio","href":"/api-reference/conversation-intelligence/talk-listen-ratio"},{"title":"Topics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ai/calls/{callId}/topics","href":"/api-reference/conversation-intelligence/topics"},{"title":"Transcription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ai/calls/{callId}/transcription","href":"/api-reference/conversation-intelligence/transcription"},{"title":"Smart notes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ai/calls/{callId}/smart-notes","href":"/api-reference/conversation-intelligence/smart-notes"},{"title":"Call details link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ai/calls/{callId}/details-link","href":"/api-reference/conversation-intelligence/call-details-link"}]},{"group":"VoiceAgent","pages":[{"title":"Initiate VoiceAgent call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /voice-agent/calls","href":"/api-reference/voiceagent/initiate-voiceagent-call"},{"title":"Stop outbound VoiceAgent calls","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /voice-agent/outbound/kill","href":"/api-reference/voiceagent/stop-outbound-voiceagent-calls"},{"title":"List voice agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /voice-agents","href":"/api-reference/voiceagent/list-voice-agents"},{"title":"Create a voice agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /voice-agents","href":"/api-reference/voiceagent/create-a-voice-agent"},{"title":"Get a voice agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /voice-agents/{voiceAgentId}","href":"/api-reference/voiceagent/get-a-voice-agent"},{"title":"Replace a voice agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /voice-agents/{voiceAgentId}","href":"/api-reference/voiceagent/replace-a-voice-agent"},{"title":"Delete a voice agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /voice-agents/{voiceAgentId}","href":"/api-reference/voiceagent/delete-a-voice-agent"},{"title":"Attach a knowledge base to a voice agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /voice-agents/{voiceAgentId}/knowledge-bases/{knowledgeBaseId}","href":"/api-reference/voiceagent/attach-a-knowledge-base-to-a-voice-agent"},{"title":"Detach a knowledge base from a voice agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /voice-agents/{voiceAgentId}/knowledge-bases/{knowledgeBaseId}","href":"/api-reference/voiceagent/detach-a-knowledge-base-from-a-voice-agent"},{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /knowledge-bases","href":"/api-reference/voiceagent/list-knowledge-bases"},{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /knowledge-bases","href":"/api-reference/voiceagent/create-a-knowledge-base"},{"title":"Upload a knowledge base file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /knowledge-bases/files","href":"/api-reference/voiceagent/upload-a-knowledge-base-file"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /knowledge-bases/{knowledgeBaseId}","href":"/api-reference/voiceagent/delete-a-knowledge-base"}]},{"group":"Dialer","pages":[{"title":"List dialer campaigns","description":"Returns the company's campaigns newest first, cursor-paginated. Pass `meta.nextCursor` from a page back as `cursor` to fetch the following page; a null `nextCursor` means there are no more pages. Deleted campaigns are hidden unless `include_deleted=true`; pass `status=deleted` to list only them. When `status` is set, `include_deleted` has no effect.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns","href":"/api-reference/dialer/list-dialer-campaigns"},{"title":"Create a dialer campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /dialer/campaigns","href":"/api-reference/dialer/create-a-dialer-campaign"},{"title":"Get a dialer campaign","description":"Returns a single campaign with its full configuration. A campaign belonging to another company reads as 404.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns/{campaignId}","href":"/api-reference/dialer/get-a-dialer-campaign"},{"title":"Delete a dialer campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /dialer/campaigns/{campaignId}","href":"/api-reference/dialer/delete-a-dialer-campaign"},{"title":"Update a dialer campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /dialer/campaigns/{campaignId}","href":"/api-reference/dialer/update-a-dialer-campaign"},{"title":"Get a campaign's associations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns/{campaignId}/associations","href":"/api-reference/dialer/get-a-campaigns-associations"},{"title":"Replace a campaign's associations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /dialer/campaigns/{campaignId}/associations","href":"/api-reference/dialer/replace-a-campaigns-associations"},{"title":"Get a campaign's disposition buttons","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns/{campaignId}/disposition-buttons","href":"/api-reference/dialer/get-a-campaigns-disposition-buttons"},{"title":"Replace a campaign's disposition buttons","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /dialer/campaigns/{campaignId}/disposition-buttons","href":"/api-reference/dialer/replace-a-campaigns-disposition-buttons"},{"title":"List disposition tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/disposition-tags","href":"/api-reference/dialer/list-disposition-tags"},{"title":"Get a campaign's statistics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns/{campaignId}/statistics","href":"/api-reference/dialer/get-a-campaigns-statistics"},{"title":"List a campaign's contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns/{campaignId}/contacts","href":"/api-reference/dialer/list-a-campaigns-contacts"},{"title":"Peek at the next contacts to be dialed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns/{campaignId}/contacts/next","href":"/api-reference/dialer/peek-at-the-next-contacts-to-be-dialed"},{"title":"Get one campaign contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/campaigns/{campaignId}/contacts/{campaignContactId}","href":"/api-reference/dialer/get-one-campaign-contact"},{"title":"Request a campaign data export","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /dialer/campaigns/{campaignId}/exports","href":"/api-reference/dialer/request-a-campaign-data-export"},{"title":"Get an export job's status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/exports/{jobId}","href":"/api-reference/dialer/get-an-export-jobs-status"},{"title":"Get a download link for a completed export","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/exports/{jobId}/download","href":"/api-reference/dialer/get-a-download-link-for-a-completed-export"},{"title":"List call scripts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/scripts","href":"/api-reference/dialer/list-call-scripts"},{"title":"Create a call script","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /dialer/scripts","href":"/api-reference/dialer/create-a-call-script"},{"title":"Get a call script","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/scripts/{scriptId}","href":"/api-reference/dialer/get-a-call-script"},{"title":"Archive a call script","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /dialer/scripts/{scriptId}","href":"/api-reference/dialer/archive-a-call-script"},{"title":"Update a call script","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /dialer/scripts/{scriptId}","href":"/api-reference/dialer/update-a-call-script"},{"title":"List surveys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/surveys","href":"/api-reference/dialer/list-surveys"},{"title":"Create a survey","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /dialer/surveys","href":"/api-reference/dialer/create-a-survey"},{"title":"Get a survey","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /dialer/surveys/{surveyId}","href":"/api-reference/dialer/get-a-survey"},{"title":"Rename or archive a survey","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /dialer/surveys/{surveyId}","href":"/api-reference/dialer/rename-or-archive-a-survey"},{"title":"Replace a survey's questions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /dialer/surveys/{surveyId}/questions","href":"/api-reference/dialer/replace-a-surveys-questions"}]},{"group":"Webhooks","pages":[{"title":"List webhook event types","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /webhooks/event-types","href":"/api-reference/webhooks/list-webhook-event-types"},{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /webhooks/endpoints","href":"/api-reference/webhooks/list-webhook-endpoints"},{"title":"Create a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /webhooks/endpoints","href":"/api-reference/webhooks/create-a-webhook-endpoint"},{"title":"Get a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /webhooks/endpoints/{endpointId}","href":"/api-reference/webhooks/get-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /webhooks/endpoints/{endpointId}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"Update a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /webhooks/endpoints/{endpointId}","href":"/api-reference/webhooks/update-a-webhook-endpoint"},{"title":"Get the signing secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /webhooks/endpoints/{endpointId}/secret","href":"/api-reference/webhooks/get-the-signing-secret"},{"title":"Rotate the signing secret","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /webhooks/endpoints/{endpointId}/secret/rotate","href":"/api-reference/webhooks/rotate-the-signing-secret"},{"title":"Send a test event","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /webhooks/endpoints/{endpointId}/test","href":"/api-reference/webhooks/send-a-test-event"},{"title":"List deliveries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /webhooks/endpoints/{endpointId}/deliveries","href":"/api-reference/webhooks/list-deliveries"},{"title":"Get a delivery","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /webhooks/endpoints/{endpointId}/deliveries/{deliveryId}","href":"/api-reference/webhooks/get-a-delivery"},{"title":"Retry a delivery","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /webhooks/endpoints/{endpointId}/deliveries/{deliveryId}/retry","href":"/api-reference/webhooks/retry-a-delivery"}]}]}]},{"tab":"Webhooks","pages":[{"title":"Webhooks","href":"/guides/webhooks/overview"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/guides/mcp/overview"}]},{"tab":"What's new","pages":[{"title":"What's new","href":"/changelog"}]}]},{"language":"de","pages":[{"title":"de","href":"/de"}]},{"language":"es","pages":[{"title":"es","href":"/es"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt"}]}]},"basePath":"","title":"Create a dialer campaign - CloudTalk Help Center","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}