Re-validated against the carrier, then written as a new Secret Manager
version under the same reference — so nothing downstream needs a row
change. The gateway trunk’s auth is updated in lockstep, as is the SMS
credential mirror for messaging carriers. A rejection marks the
integration status: "error" with lastError set.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vodex API","description":"The public Vodex /v1 REST API — assistants, telephony, calls, batches, SMS and webhooks.","colors":{"primary":"#FF4D00","light":"#FF4D00","dark":"#FF4D00"},"logo":{"light":"https://mintcdn.com/vodex/78No6_lqTF_DicwD/logo/vodex-full.svg?fit=max\u0026auto=format\u0026n=78No6_lqTF_DicwD\u0026q=85\u0026s=abc36083e47f9332141ac1141d1cbe4a","dark":"https://mintcdn.com/vodex/78No6_lqTF_DicwD/logo/vodex-full.svg?fit=max\u0026auto=format\u0026n=78No6_lqTF_DicwD\u0026q=85\u0026s=abc36083e47f9332141ac1141d1cbe4a"},"favicon":"https://mintcdn.com/vodex/78No6_lqTF_DicwD/favicon.png?fit=max\u0026auto=format\u0026n=78No6_lqTF_DicwD\u0026q=85\u0026s=a3598c2265371fff3cd08244e8e6cf66","appearance":{"default":"system"},"navbar":{"links":[{"href":"mailto:support@vodex.ai","label":"Support"},{"href":"https://vodex.ai","label":"vodex.ai"}],"primary":{"type":"button","label":"Console","href":"https://console.vodex.ai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vodex","hasAudioNarration":false,"actualSubdomain":"vodex","customDomains":["apidocs.vodex.ai"],"gitSource":{"type":"github","owner":"lilchirpio","repo":"vodex","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae4c8c238fcbf2314c7045c","collectionId":"d3294b7d-8c93-44c2-95a0-17739dc4bfb2","liveDeploymentHistoryId":"6ae4c8c238fcbf2314c7045c","schemaVersion":"v3"},"entitlements":{},"buildId":"6ae4c8c238fcbf2314c7045c","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":155},{"language":"default","tag":"Contacts","count":27},{"language":"default","tag":"Batches","count":16},{"language":"default","tag":"Campaigns","count":14},{"language":"default","tag":"Assistants","count":12},{"language":"default","tag":"SMS","count":12},{"language":"default","tag":"Audiences","count":8},{"language":"default","tag":"Do Not Contact","count":8},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Payments","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/integrations/replace-integration-credentials","slug":"/api-reference/integrations/replace-integration-credentials","pageMetadata":{"title":"Replace integration credentials","description":"Re-validated against the carrier, then written as a **new Secret Manager\nversion under the same reference** — so nothing downstream needs a row\nchange. The gateway trunk's auth is updated in lockstep, as is the SMS\ncredential mirror for messaging carriers. A rejection marks the\nintegration `status: \"error\"` with `lastError` set.\n","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /integrations/{id}/credentials","href":"/api-reference/integrations/replace-integration-credentials","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 strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Re-validated against the carrier, then written as a \", _jsx(_components.strong, {\n children: \"new Secret Manager\\nversion under the same reference\"\n }), \" — so nothing downstream needs a row\\nchange. The gateway trunk’s auth is updated in lockstep, as is the SMS\\ncredential mirror for messaging carriers. A rejection marks the\\nintegration \", _jsx(_components.code, {\n children: \"status: \\\"error\\\"\"\n }), \" with \", _jsx(_components.code, {\n children: \"lastError\"\n }), \" set.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Replace integration credentials","description":"Re-validated against the carrier, then written as a **new Secret Manager\nversion under the same reference** — so nothing downstream needs a row\nchange. The gateway trunk's auth is updated in lockstep, as is the SMS\ncredential mirror for messaging carriers. A rejection marks the\nintegration `status: \"error\"` with `lastError` set.\n","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /integrations/{id}/credentials","href":"/api-reference/integrations/replace-integration-credentials","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"replaceIntegrationCredentials","tags":["Integrations"],"summary":"Replace integration credentials","description":"Re-validated against the carrier, then written as a **new Secret Manager\nversion under the same reference** — so nothing downstream needs a row\nchange. The gateway trunk's auth is updated in lockstep, as is the SMS\ncredential mirror for messaging carriers. A rejection marks the\nintegration `status: \"error\"` with `lastError` set.\n","parameters":["6552d1f8-bf2e-43ac-b546-8ff5ac6c57fd"],"requestBody":"a845adf3-f586-4e81-8b4c-e9bd5068b8db","responses":{"200":"c93cd09a-f7bd-46b8-ad02-0bddc14c56aa","400":"a7686af2-8c32-4bc8-989f-c9698b5166b6","404":"c2daa925-2a57-42ee-967e-0c416b729c2b"},"method":"post","type":"path","servers":["454f84ff-3690-4156-8c58-c64805db6548"],"security":["986b34dc-9d64-43d6-addf-8d27adc5ae4e"],"path":"/integrations/{id}/credentials","baseUrlOptions":["https://apiv2.vodex.ai/v1"],"title":"Replace integration credentials","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6552d1f8-bf2e-43ac-b546-8ff5ac6c57fd":{"name":"id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"apiKeySid":{"type":"string","uniqueKey":"apiKeySid","typeLabel":"string"},"apiKeySecret":{"type":"string","format":"password","uniqueKey":"apiKeySecret","typeLabel":"string\u003cpassword>"},"authToken":{"type":"string","format":"password","uniqueKey":"authToken","typeLabel":"string\u003cpassword>"},"apiKey":{"type":"string","uniqueKey":"apiKey","typeLabel":"string"},"apiSecret":{"type":"string","format":"password","uniqueKey":"apiSecret","typeLabel":"string\u003cpassword>"},"authUsername":{"type":"string","uniqueKey":"authUsername","typeLabel":"string"},"authPassword":{"type":"string","format":"password","uniqueKey":"authPassword","typeLabel":"string\u003cpassword>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"apiKeySid":"\u003cstring>","apiKeySecret":"\u003cstring>","authToken":"\u003cstring>","apiKey":"\u003cstring>","apiSecret":"\u003cstring>","authUsername":"\u003cstring>","authPassword":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c93cd09a-f7bd-46b8-ad02-0bddc14c56aa":{"description":"Rotated.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","uniqueKey":"id","typeLabel":"string"},"carrier":{"type":"string","uniqueKey":"carrier","typeLabel":"string"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"accountRef":{"type":"string","description":"Twilio Account SID or carrier SIP host — safe to show.","uniqueKey":"accountRef","typeLabel":"string"},"accountName":{"type":"string","uniqueKey":"accountName","typeLabel":"string"},"status":{"type":"string","enum":["connected","error"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"lastError":{"type":"string","uniqueKey":"lastError","typeLabel":"string"},"trunkId":{"type":"string","uniqueKey":"trunkId","typeLabel":"string"},"carrierTrunkSid":{"type":"string","description":"The trunk id inside the carrier's account (API-provisioned carriers).","uniqueKey":"carrierTrunkSid","typeLabel":"string"},"terminationUri":{"type":"string","uniqueKey":"terminationUri","typeLabel":"string"},"credentialFingerprint":{"type":"string","description":"Non-reversible; for display and audit only.","uniqueKey":"credentialFingerprint","typeLabel":"string"},"hasCredentials":{"type":"boolean","uniqueKey":"hasCredentials","typeLabel":"boolean"},"secretsBackend":{"type":"string","example":"secret-manager","uniqueKey":"secretsBackend","typeLabel":"string"},"provisioning":{"type":"string","enum":["api","manual"],"uniqueKey":"provisioning","typeLabel":"enum\u003cstring>"},"displayName":{"type":"string","uniqueKey":"displayName","typeLabel":"string"},"transferSupport":{"type":"string","enum":["supported","verify","unsupported"],"uniqueKey":"transferSupport","typeLabel":"enum\u003cstring>"},"channel":{"type":"string","enum":["voice","sms"],"description":"An `sms` integration has no trunk and no numbers.","uniqueKey":"channel","typeLabel":"enum\u003cstring>"},"sipUri":{"type":"string","uniqueKey":"sipUri","typeLabel":"string"},"gateway":{"type":"object","description":"How a manually connected gateway is dialed; port and transport are null where unset. The register fields are empty on a direct gateway.","properties":{"port":{"oneOf":[{"type":"integer","uniqueKey":"gateway.port.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"gateway.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.port","typeLabel":"integer | null"},"transport":{"oneOf":[{"type":"string","enum":["udp","tcp","tls",null],"uniqueKey":"gateway.transport.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["udp","tcp","tls",null],"uniqueKey":"gateway.transport.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.transport","typeLabel":"enum\u003cstring> | null"},"dialRules":{"type":"array","items":{"type":"object","description":"How a gateway wants a destination written. A leading `match` on the E.164\nnumber becomes `replace`; the longest match wins; an unmatched number is\ndialed as is. `+971 → 0` dials a UAE number nationally, `+ → 00` everything\nelse internationally. `replace` is digits, optionally ending in `+`: a PBX\nthat seizes a line with a digit and then takes E.164 is `+ → 6+`. Records\nstay E.164. A gateway's `callerIdRules` apply the same rewrite to our caller ID.\n","required":["match","replace"],"properties":{"match":{"type":"string","pattern":"^\\+[0-9]{0,15}$","example":"+971","isRequired":true,"uniqueKey":"gateway.dialRules.items.[INDEX].match","typeLabel":"string"},"replace":{"type":"string","pattern":"^[0-9]{0,10}\\+?$","example":"0","isRequired":true,"uniqueKey":"gateway.dialRules.items.[INDEX].replace","typeLabel":"string"}},"uniqueKey":"gateway.dialRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"gateway.dialRules","typeLabel":"object[]"},"callerIdRules":{"type":"array","items":{"type":"object","description":"How a gateway wants a destination written. A leading `match` on the E.164\nnumber becomes `replace`; the longest match wins; an unmatched number is\ndialed as is. `+971 → 0` dials a UAE number nationally, `+ → 00` everything\nelse internationally. `replace` is digits, optionally ending in `+`: a PBX\nthat seizes a line with a digit and then takes E.164 is `+ → 6+`. Records\nstay E.164. A gateway's `callerIdRules` apply the same rewrite to our caller ID.\n","required":["match","replace"],"properties":{"match":{"type":"string","pattern":"^\\+[0-9]{0,15}$","example":"+971","isRequired":true,"uniqueKey":"gateway.callerIdRules.items.[INDEX].match","typeLabel":"string"},"replace":{"type":"string","pattern":"^[0-9]{0,10}\\+?$","example":"0","isRequired":true,"uniqueKey":"gateway.callerIdRules.items.[INDEX].replace","typeLabel":"string"}},"uniqueKey":"gateway.callerIdRules.items.[INDEX]","typeLabel":"object"},"description":"The same rules applied to our caller ID; empty means it is sent as E.164.","uniqueKey":"gateway.callerIdRules","typeLabel":"object[]"},"connection":{"type":"string","enum":["direct","register","registrar"],"uniqueKey":"gateway.connection","typeLabel":"enum\u003cstring>"},"preset":{"oneOf":[{"type":"string","uniqueKey":"gateway.preset.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"gateway.preset.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.preset","typeLabel":"string | null"},"register":{"type":"object","description":"Null on a direct gateway.","properties":{"server":{"type":"string","description":"The registrar host; the gateway address.","uniqueKey":"gateway.register.server","typeLabel":"string"},"port":{"type":"integer","minimum":1,"maximum":65535,"uniqueKey":"gateway.register.port","typeLabel":"integer"},"transport":{"type":"string","enum":["udp","tcp","tls"],"uniqueKey":"gateway.register.transport","typeLabel":"enum\u003cstring>"},"outboundProxy":{"type":"string","description":"The vendor's regional proxy, where it routes through one.","uniqueKey":"gateway.register.outboundProxy","typeLabel":"string"},"srtp":{"type":"string","enum":["none","optional","required"],"uniqueKey":"gateway.register.srtp","typeLabel":"enum\u003cstring>"},"expiry":{"type":"integer","minimum":60,"maximum":300,"description":"Registration expiry in seconds — the shortest the vendor allows, since a dead relay keeps receiving inbound until it lapses.","uniqueKey":"gateway.register.expiry","typeLabel":"integer"},"qualify":{"type":"integer","enum":[0,60],"description":"OPTIONS keepalive interval; 0 for a vendor relay that refuses OPTIONS.","uniqueKey":"gateway.register.qualify","typeLabel":"enum\u003cinteger>"},"line":{"type":"boolean","description":"Add `;line=` to the Contact so inbound INVITEs match the registration.","uniqueKey":"gateway.register.line","typeLabel":"boolean"},"pinHost":{"type":"boolean","description":"Resolve the registrar once and pin it, so every INVITE rides the connection the REGISTER opened. Defeats SRV failover; off unless the vendor needs it.","uniqueKey":"gateway.register.pinHost","typeLabel":"boolean"},"tlsVerify":{"type":"object","properties":{"verify":{"type":"boolean","uniqueKey":"gateway.register.tlsVerify.verify","typeLabel":"boolean"},"wildcard":{"type":"boolean","uniqueKey":"gateway.register.tlsVerify.wildcard","typeLabel":"boolean"},"fingerprint":{"type":"string","description":"SHA-256 fingerprint of a self-signed certificate to accept instead of the CA bundle.","uniqueKey":"gateway.register.tlsVerify.fingerprint","typeLabel":"string"}},"uniqueKey":"gateway.register.tlsVerify","typeLabel":"object"}},"uniqueKey":"gateway.register","typeLabel":"object"},"identities":{"type":"array","items":{"type":"object","description":"An identity as the console reads it, with what the cell's relay last reported about its registration.","properties":{"username":{"type":"string","uniqueKey":"gateway.identities.items.[INDEX].username","typeLabel":"string"},"authUsername":{"oneOf":[{"type":"string","uniqueKey":"gateway.identities.items.[INDEX].authUsername.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"gateway.identities.items.[INDEX].authUsername.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.identities.items.[INDEX].authUsername","typeLabel":"string | null"},"fromUser":{"oneOf":[{"type":"string","uniqueKey":"gateway.identities.items.[INDEX].fromUser.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"gateway.identities.items.[INDEX].fromUser.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.identities.items.[INDEX].fromUser","typeLabel":"string | null"},"maxConcurrent":{"type":"integer","uniqueKey":"gateway.identities.items.[INDEX].maxConcurrent","typeLabel":"integer"},"registration":{"type":"object","properties":{"status":{"oneOf":[{"type":"string","description":"Asterisk's word: Registered, Rejected, Unregistered; null before the relay has reported.","uniqueKey":"gateway.identities.items.[INDEX].registration.status.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asterisk's word: Registered, Rejected, Unregistered; null before the relay has reported.","uniqueKey":"gateway.identities.items.[INDEX].registration.status.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.identities.items.[INDEX].registration.status","typeLabel":"string | null"},"nextRefreshS":{"oneOf":[{"type":"integer","uniqueKey":"gateway.identities.items.[INDEX].registration.nextRefreshS.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"gateway.identities.items.[INDEX].registration.nextRefreshS.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.identities.items.[INDEX].registration.nextRefreshS","typeLabel":"integer | null"},"summary":{"type":"string","example":"Registered, next refresh in 4 min","uniqueKey":"gateway.identities.items.[INDEX].registration.summary","typeLabel":"string"}},"uniqueKey":"gateway.identities.items.[INDEX].registration","typeLabel":"object"}},"uniqueKey":"gateway.identities.items.[INDEX]","typeLabel":"object"},"uniqueKey":"gateway.identities","typeLabel":"object[]"},"inboundNumber":{"oneOf":[{"type":"string","description":"The Vodex number an inbound call through the identity is presented as.","uniqueKey":"gateway.inboundNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Vodex number an inbound call through the identity is presented as.","uniqueKey":"gateway.inboundNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.inboundNumber","typeLabel":"string | null"},"inboundRules":{"type":"array","items":{"type":"object","description":"How the caller a registered system delivers is normalized, applied with\nthe same longest-match rule as `DialRule` in the other direction: a\nleading `match` (digits) becomes `replace` (`+` and digits). `0 → +971`\nand `00 → +` turn 0586582538 into +971586582538. A caller already in\nE.164, and a caller no rule matches (a desk-phone extension dialling the\nassistant), pass through unchanged — so a call record's caller is not\nalways E.164 on a registered gateway.\n","required":["match","replace"],"properties":{"match":{"type":"string","pattern":"^[0-9]{1,15}$","example":"0","isRequired":true,"uniqueKey":"gateway.inboundRules.items.[INDEX].match","typeLabel":"string"},"replace":{"type":"string","pattern":"^\\+?[0-9]{0,15}$","example":"+971","isRequired":true,"uniqueKey":"gateway.inboundRules.items.[INDEX].replace","typeLabel":"string"}},"uniqueKey":"gateway.inboundRules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"gateway.inboundRules","typeLabel":"object[]"},"maxConcurrent":{"oneOf":[{"type":"integer","description":"The identities' caps summed — the batch runner's hard limit on in-flight calls through this gateway.","uniqueKey":"gateway.maxConcurrent.oneOf.0","typeLabel":"integer"},{"type":"null","description":"The identities' caps summed — the batch runner's hard limit on in-flight calls through this gateway.","uniqueKey":"gateway.maxConcurrent.oneOf.1","typeLabel":"null"}],"uniqueKey":"gateway.maxConcurrent","typeLabel":"integer | null"}},"uniqueKey":"gateway","typeLabel":"object"},"configPublished":{"type":"boolean","description":"Present after a change to a registered gateway; whether the cell's relay snapshot reached the config bucket.","uniqueKey":"configPublished","typeLabel":"boolean"},"connectedAt":{"type":"integer","format":"int64","uniqueKey":"connectedAt","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","carrier":"\u003cstring>","name":"\u003cstring>","accountRef":"\u003cstring>","accountName":"\u003cstring>","status":"connected","lastError":"\u003cstring>","trunkId":"\u003cstring>","carrierTrunkSid":"\u003cstring>","terminationUri":"\u003cstring>","credentialFingerprint":"\u003cstring>","hasCredentials":true,"secretsBackend":"secret-manager","provisioning":"api","displayName":"\u003cstring>","transferSupport":"supported","channel":"voice","sipUri":"\u003cstring>","gateway":{"port":123,"transport":"udp","dialRules":[{"match":"+971","replace":"0"}],"callerIdRules":[{"match":"+971","replace":"0"}],"connection":"direct","preset":"\u003cstring>","register":{"server":"\u003cstring>","port":32768,"transport":"udp","outboundProxy":"\u003cstring>","srtp":"none","expiry":180,"qualify":0,"line":true,"pinHost":true,"tlsVerify":{"verify":true,"wildcard":true,"fingerprint":"\u003cstring>"}},"identities":[{"username":"\u003cstring>","authUsername":"\u003cstring>","fromUser":"\u003cstring>","maxConcurrent":123,"registration":{"status":"\u003cstring>","nextRefreshS":123,"summary":"Registered, next refresh in 4 min"}}],"inboundNumber":"\u003cstring>","inboundRules":[{"match":"0","replace":"+971"}],"maxConcurrent":123},"configPublished":true,"connectedAt":123}}},"exampleType":"generated"}},"exampleType":"generated"},"a7686af2-8c32-4bc8-989f-c9698b5166b6":{"description":"Missing fields, or the carrier rejected the credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"not found","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"not found"}}},"exampleType":"generated"}},"exampleType":"generated"},"c2daa925-2a57-42ee-967e-0c416b729c2b":{"description":"No such resource — or it belongs to another tenant, which looks the same.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"not found","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"not found"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"986b34dc-9d64-43d6-addf-8d27adc5ae4e":{"ApiKeyBearer":{"type":"http","scheme":"bearer","description":"Tenant API key (`vdx_live_…`) as `Authorization: Bearer`.","scopes":[],"schemeName":"ApiKeyBearer"}}},"servers":{"454f84ff-3690-4156-8c58-c64805db6548":{"url":"https://apiv2.vodex.ai/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Tenant API key (`vdx_live_…`) as `Authorization: Bearer`.","scopes":[],"schemeName":"ApiKeyBearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Tenant API key (`vdx_live_…`) as `Authorization: Bearer`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKeyBearer","name":"Authorization"}],"title":"ApiKeyBearer"}]},"originalFileLocation":"openapi/api-public-v1.yaml"},"subdomain":"vodex","siteName":"Vodex API","title":"Replace integration credentials - Vodex API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T16:41:44.412Z","originalFileLocation":"api-reference/integrations/replace-integration-credentials.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Re-validated against the carrier, then written as a new Secret Manager version under the same reference — so nothing downstream needs a row change. The gateway trunk\u0026#x27;s auth is updated in lockstep, as is the SMS credential mirror for messaging carriers. A rejection marks the integration status: \u0026quot;error\u0026quot; with lastError set.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vodex API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vodex/lIjSc2yqSN3yLkge/_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/vodex/lIjSc2yqSN3yLkge/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vodex/lIjSc2yqSN3yLkge/_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/vodex/lIjSc2yqSN3yLkge/_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/vodex/lIjSc2yqSN3yLkge/_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/vodex/lIjSc2yqSN3yLkge/_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/vodex/lIjSc2yqSN3yLkge/_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/vodex/lIjSc2yqSN3yLkge/_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/vodex/lIjSc2yqSN3yLkge/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Replace integration credentials - Vodex API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Re-validated against the carrier, then written as a new Secret Manager version under the same reference — so nothing downstream needs a row change. The gateway trunk\u0026#x27;s auth is updated in lockstep, as is the SMS credential mirror for messaging carriers. A rejection marks the integration status: \u0026quot;error\u0026quot; with lastError set.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vodex API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vodex.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Replace+integration+credentials\u0026amp;description=Re-validated+against+the+carrier%2C+then+written+as+a+**new+Secret+Manager%0Aversion+under+the+same+reference**+%E2%80%94+so+nothing+downstream+needs+a+row%0Achange.+The+gate\u0026amp;theme=6d89815cfe9107c7cb0143e4\u0026amp;signature=c6c49168ea933a14ec8bc32172d9b196d031258e909ca501a5ba72dc664757fd\">\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=\"Replace integration credentials - Vodex API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Re-validated against the carrier, then written as a new Secret Manager version under the same reference — so nothing downstream needs a row change. The gateway trunk\u0026#x27;s auth is updated in lockstep, as is the SMS credential mirror for messaging carriers. A rejection marks the integration status: \u0026quot;error\u0026quot; with lastError set.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vodex.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Replace+integration+credentials\u0026amp;description=Re-validated+against+the+carrier%2C+then+written+as+a+**new+Secret+Manager%0Aversion+under+the+same+reference**+%E2%80%94+so+nothing+downstream+needs+a+row%0Achange.+The+gate\u0026amp;theme=6d89815cfe9107c7cb0143e4\u0026amp;signature=c6c49168ea933a14ec8bc32172d9b196d031258e909ca501a5ba72dc664757fd\">\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/vodex/lIjSc2yqSN3yLkge/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vodex API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF4D00\">\u003clink data-mint-head rel=\"canonical\" href=\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/integrations/replace-integration-credentials.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://apidocs.vodex.ai/#organization\",\"name\":\"Vodex API\",\"url\":\"https://apidocs.vodex.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vodex/78No6_lqTF_DicwD/logo/vodex-full.svg?fit=max\u0026auto=format\u0026n=78No6_lqTF_DicwD\u0026q=85\u0026s=abc36083e47f9332141ac1141d1cbe4a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://apidocs.vodex.ai#website\",\"name\":\"Vodex API\",\"url\":\"https://apidocs.vodex.ai\",\"publisher\":{\"@id\":\"https://apidocs.vodex.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials#webpage\",\"url\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials\",\"name\":\"Replace integration credentials\",\"description\":\"Re-validated against the carrier, then written as a new Secret Manager version under the same reference — so nothing downstream needs a row change. The gateway trunk's auth is updated in lockstep, as is the SMS credential mirror for messaging carriers. A rejection marks the integration status: \\\"error\\\" with lastError set.\",\"dateModified\":\"2026-10-30T16:41:44.412Z\",\"isPartOf\":{\"@id\":\"https://apidocs.vodex.ai#website\"},\"breadcrumb\":{\"@id\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://apidocs.vodex.ai/api-reference/integrations/list-connected-carrier-accounts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Replace integration credentials\",\"item\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials#apireference\",\"headline\":\"Replace integration credentials\",\"name\":\"Replace integration credentials\",\"description\":\"Re-validated against the carrier, then written as a new Secret Manager version under the same reference — so nothing downstream needs a row change. The gateway trunk's auth is updated in lockstep, as is the SMS credential mirror for messaging carriers. A rejection marks the integration status: \\\"error\\\" with lastError set.\",\"url\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials\",\"mainEntityOfPage\":{\"@id\":\"https://apidocs.vodex.ai/api-reference/integrations/replace-integration-credentials#webpage\"},\"dateModified\":\"2026-10-30T16:41:44.412Z\",\"publisher\":{\"@id\":\"https://apidocs.vodex.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://apidocs.vodex.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vodex API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vodex API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Assistants","pages":[{"title":"List assistants","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /console/assistants","href":"/api-reference/assistants/list-assistants"},{"title":"Create or replace an assistant","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /console/assistants","href":"/api-reference/assistants/create-or-replace-an-assistant"},{"title":"Fetch one assistant's full config","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /console/assistants/{id}","href":"/api-reference/assistants/fetch-one-assistants-full-config"},{"title":"Delete an assistant","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /console/assistants/{id}","href":"/api-reference/assistants/delete-an-assistant"},{"title":"List this assistant's outcomes","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /console/assistants/{id}/outcomes","href":"/api-reference/assistants/list-this-assistants-outcomes"},{"title":"Add an outcome","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /console/assistants/{id}/outcomes","href":"/api-reference/assistants/add-an-outcome"},{"title":"Remove an outcome","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /console/assistants/{id}/outcomes/{key}","href":"/api-reference/assistants/remove-an-outcome"},{"title":"Rename an outcome, or reword when it applies","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /console/assistants/{id}/outcomes/{key}","href":"/api-reference/assistants/rename-an-outcome-or-reword-when-it-applies"},{"title":"A CSV template for the survey importer","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /surveys/template.csv","href":"/api-reference/assistants/a-csv-template-for-the-survey-importer"},{"title":"Parse a survey CSV without saving it","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /console/assistants/{id}/survey.csv/preview","href":"/api-reference/assistants/parse-a-survey-csv-without-saving-it"},{"title":"Replace the assistant's questionnaire from a CSV","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /console/assistants/{id}/survey.csv","href":"/api-reference/assistants/replace-the-assistants-questionnaire-from-a-csv"},{"title":"Test a custom tool","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /console/tools/test","href":"/api-reference/assistants/test-a-custom-tool"}]},{"group":"Console","pages":[{"title":"The model catalog","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /console/catalog","href":"/api-reference/console/the-model-catalog"},{"title":"List voices","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /console/voices","href":"/api-reference/console/list-voices"},{"title":"Mint a LiveKit token for a web call","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /console/token","href":"/api-reference/console/mint-a-livekit-token-for-a-web-call"}]},{"group":"Usage","pages":[{"title":"Minute usage this period","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /usage","href":"/api-reference/usage/minute-usage-this-period"}]},{"group":"Calls","pages":[{"title":"List calls","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /calls","href":"/api-reference/calls/list-calls"},{"title":"Place an outbound call","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /calls","href":"/api-reference/calls/place-an-outbound-call"},{"title":"Fetch a call with its trace","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /calls/{id}","href":"/api-reference/calls/fetch-a-call-with-its-trace"},{"title":"Stream a call recording","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /recordings/{id}","href":"/api-reference/calls/stream-a-call-recording"}]},{"group":"Phone Numbers","pages":[{"title":"List numbers","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /phone-numbers","href":"/api-reference/phone-numbers/list-numbers"},{"title":"Add a number","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /phone-numbers","href":"/api-reference/phone-numbers/add-a-number"},{"title":"Remove a number","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /phone-numbers/{id}","href":"/api-reference/phone-numbers/remove-a-number"},{"title":"Reassign or relabel a number","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /phone-numbers/{id}","href":"/api-reference/phone-numbers/reassign-or-relabel-a-number"}]},{"group":"SIP Trunks","pages":[{"title":"List BYO SIP trunks","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /sip-trunks","href":"/api-reference/sip-trunks/list-byo-sip-trunks"},{"title":"Create a BYO SIP trunk","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /sip-trunks","href":"/api-reference/sip-trunks/create-a-byo-sip-trunk"},{"title":"Delete a trunk","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /sip-trunks/{id}","href":"/api-reference/sip-trunks/delete-a-trunk"},{"title":"Update a SIP trunk","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /sip-trunks/{id}","href":"/api-reference/sip-trunks/update-a-sip-trunk"},{"title":"Rotate trunk credentials","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /sip-trunks/{id}/rotate","href":"/api-reference/sip-trunks/rotate-trunk-credentials"}]},{"group":"Carriers","pages":[{"title":"The carrier registry","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /carriers","href":"/api-reference/carriers/the-carrier-registry"}]},{"group":"Integrations","pages":[{"title":"List connected carrier accounts","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /integrations","href":"/api-reference/integrations/list-connected-carrier-accounts"},{"title":"Connect a carrier account","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /integrations","href":"/api-reference/integrations/connect-a-carrier-account"},{"title":"One integration, with its numbers","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /integrations/{id}","href":"/api-reference/integrations/one-integration-with-its-numbers"},{"title":"Disconnect","description":"Removes the gateway trunk and the stored credentials. This integration's numbers must go first.","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /integrations/{id}","href":"/api-reference/integrations/disconnect"},{"title":"Replace integration credentials","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /integrations/{id}/credentials","href":"/api-reference/integrations/replace-integration-credentials"},{"title":"Change how a gateway is dialed","description":"For manually connected gateways: the port and transport it is dialed on,\nthe dial rules that rewrite a destination for it, and — for a SIP gateway —\nthe connection mode and everything behind a registration. Port, transport,\nand inbound rules replace what is stored, and an omitted or blank one reverts\nto the default; `dialRules` replace the stored rules only when sent, and `[]`\nclears them; `connection` keeps its value when omitted. If the\nport or transport changes on a direct gateway that already has numbers, or\nthe connection mode changes, the outbound trunk is replaced on the cell — new\none first, so a failure leaves the working trunk in place — and a mode change\nalso resets the inbound allow-list (the relay alone for `register`). A change\nto a registered gateway republishes the cell's relay snapshot\n(`configPublished`). Live calls are unaffected.\n\nVodex dials every destination in E.164. A PBX matches its outbound routes\non the digits its own phones dial (`00` for abroad, `0` for national) and\nrefuses anything else, so `dialRules` rewrite a leading prefix: the\nlongest `match` wins, an unmatched number is dialed as is, and records\nand identities stay E.164. The caller ID is rewritten only by `callerIdRules`.\n","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /integrations/{id}/gateway","href":"/api-reference/integrations/change-how-a-gateway-is-dialed"},{"title":"List available numbers","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /integrations/{id}/available-numbers","href":"/api-reference/integrations/list-available-numbers"},{"title":"Add numbers to an integration","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /integrations/{id}/numbers","href":"/api-reference/integrations/add-numbers-to-an-integration"}]},{"group":"Batches","pages":[{"title":"List batches","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /batches","href":"/api-reference/batches/list-batches"},{"title":"Create a batch","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches","href":"/api-reference/batches/create-a-batch"},{"title":"Fetch a batch","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /batches/{id}","href":"/api-reference/batches/fetch-a-batch"},{"title":"List rows","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /batches/{id}/rows","href":"/api-reference/batches/list-rows"},{"title":"Append rows","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/{id}/rows","href":"/api-reference/batches/append-rows"},{"title":"Check a CSV before creating anything","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/rows.csv/preview","href":"/api-reference/batches/check-a-csv-before-creating-anything"},{"title":"Append rows from a CSV","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/{id}/rows.csv","href":"/api-reference/batches/append-rows-from-a-csv"},{"title":"Cancel one row","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /batches/{id}/rows/{rowId}","href":"/api-reference/batches/cancel-one-row"},{"title":"Pause a running batch","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/{id}/pause","href":"/api-reference/batches/pause-a-running-batch"},{"title":"Resume a paused batch","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/{id}/resume","href":"/api-reference/batches/resume-a-paused-batch"},{"title":"Cancel a batch","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/{id}/cancel","href":"/api-reference/batches/cancel-a-batch"},{"title":"Requeue rows as a new run","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/{id}/restart","href":"/api-reference/batches/requeue-rows-as-a-new-run"},{"title":"The block plan","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /batches/{id}/blocks","href":"/api-reference/batches/the-block-plan"},{"title":"Resize a block","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /batches/{id}/blocks/{blockNo}","href":"/api-reference/batches/resize-a-block"},{"title":"Dial the next block","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /batches/{id}/blocks/next","href":"/api-reference/batches/dial-the-next-block"},{"title":"List dial attempts","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /batches/{id}/attempts","href":"/api-reference/batches/list-dial-attempts"}]},{"group":"Callbacks","pages":[{"title":"List callbacks","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /callbacks","href":"/api-reference/callbacks/list-callbacks"},{"title":"One callback","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /callbacks/{id}","href":"/api-reference/callbacks/one-callback"},{"title":"Update a callback","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /callbacks/{id}","href":"/api-reference/callbacks/update-a-callback"},{"title":"Let campaigns call a number again","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /callbacks/{id}/release","href":"/api-reference/callbacks/let-campaigns-call-a-number-again"}]},{"group":"Reports","pages":[{"title":"List reports","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /reports","href":"/api-reference/reports/list-reports"},{"title":"Create a report","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /reports","href":"/api-reference/reports/create-a-report"},{"title":"One report","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /reports/{id}","href":"/api-reference/reports/one-report"},{"title":"Delete a report","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /reports/{id}","href":"/api-reference/reports/delete-a-report"},{"title":"Update a report","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /reports/{id}","href":"/api-reference/reports/update-a-report"}]},{"group":"Number Rotation","pages":[{"title":"Per-number spacing, caps, and cooldown","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /number-rotation","href":"/api-reference/number-rotation/per-number-spacing-caps-and-cooldown"},{"title":"Set rotation for one number","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /number-rotation/{e164}","href":"/api-reference/number-rotation/set-rotation-for-one-number"}]},{"group":"Payments","pages":[{"title":"List payment attempts","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /payments","href":"/api-reference/payments/list-payment-attempts"},{"title":"Get a payment attempt","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /payments/{id}","href":"/api-reference/payments/get-a-payment-attempt"},{"title":"The workspace's payment carrier","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /payment-carriers/twilio-stripe","href":"/api-reference/payments/the-workspaces-payment-carrier"},{"title":"Set up or change the payment carrier","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /payment-carriers/twilio-stripe","href":"/api-reference/payments/set-up-or-change-the-payment-carrier"},{"title":"Remove the payment carrier","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /payment-carriers/twilio-stripe","href":"/api-reference/payments/remove-the-payment-carrier"},{"title":"Numbers in the Twilio account that could be Pay numbers","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /payment-carriers/twilio-stripe/available-numbers","href":"/api-reference/payments/numbers-in-the-twilio-account-that-could-be-pay-numbers"},{"title":"Choose the workspace's Pay numbers","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /payment-carriers/twilio-stripe/numbers","href":"/api-reference/payments/choose-the-workspaces-pay-numbers"},{"title":"Point a Pay number at the payment webhook","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /payment-carriers/twilio-stripe/numbers/{e164}/webhook","href":"/api-reference/payments/point-a-pay-number-at-the-payment-webhook"}]},{"group":"SMS","pages":[{"title":"SMS provider capabilities","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /sms/capabilities","href":"/api-reference/sms/sms-provider-capabilities"},{"title":"Store provider credentials","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /sms/providers/{provider}","href":"/api-reference/sms/store-provider-credentials"},{"title":"Remove provider credentials","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /sms/providers/{provider}","href":"/api-reference/sms/remove-provider-credentials"},{"title":"List SMS configurations","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /sms/configurations","href":"/api-reference/sms/list-sms-configurations"},{"title":"Create an SMS configuration","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /sms/configurations","href":"/api-reference/sms/create-an-sms-configuration"},{"title":"Delete an SMS configuration","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /sms/configurations/{id}","href":"/api-reference/sms/delete-an-sms-configuration"},{"title":"Update an SMS configuration","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /sms/configurations/{id}","href":"/api-reference/sms/update-an-sms-configuration"},{"title":"List SMS senders","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /sms/senders","href":"/api-reference/sms/list-sms-senders"},{"title":"Provider content templates","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /sms/templates","href":"/api-reference/sms/provider-content-templates"},{"title":"Render exactly what a send would produce","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /sms/preview","href":"/api-reference/sms/render-exactly-what-a-send-would-produce"},{"title":"Send an SMS","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /sms","href":"/api-reference/sms/send-an-sms"},{"title":"Message log","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /sms/messages","href":"/api-reference/sms/message-log"}]},{"group":"Webhooks","pages":[{"title":"Read the tenant's webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /webhook-config","href":"/api-reference/webhooks/read-the-tenants-webhook-endpoint"},{"title":"Set the webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /webhook-config","href":"/api-reference/webhooks/set-the-webhook-endpoint"},{"title":"Stop deliveries","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /webhook-config","href":"/api-reference/webhooks/stop-deliveries"},{"title":"Rotate the signing secret","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /signing-secret/rotate","href":"/api-reference/webhooks/rotate-the-signing-secret"},{"title":"Rotate the signing secret (alias)","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /webhook-config/rotate-secret","href":"/api-reference/webhooks/rotate-the-signing-secret-alias"},{"title":"Delivery records","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /webhook-deliveries","href":"/api-reference/webhooks/delivery-records"},{"title":"Fetch a delivery","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /webhook-deliveries/{id}","href":"/api-reference/webhooks/fetch-a-delivery"},{"title":"Resend a delivery","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /webhook-deliveries/{id}/resend","href":"/api-reference/webhooks/resend-a-delivery"}]},{"group":"Tenants","pages":[{"title":"Read this customer's retention period","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /retention","href":"/api-reference/tenants/read-this-customers-retention-period"},{"title":"Set this customer's retention period","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /retention","href":"/api-reference/tenants/set-this-customers-retention-period"},{"title":"Read recording retention","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /tenants/retention","href":"/api-reference/tenants/read-recording-retention"},{"title":"Set this tenant's recording retention","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /tenants/{id}/retention","href":"/api-reference/tenants/set-this-tenants-recording-retention"},{"title":"Fall back to the bucket default","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /tenants/{id}/retention","href":"/api-reference/tenants/fall-back-to-the-bucket-default"}]},{"group":"Contacts","pages":[{"title":"List contacts","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/accounts","href":"/api-reference/contacts/list-contacts"},{"title":"Create a contact","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/accounts","href":"/api-reference/contacts/create-a-contact"},{"title":"Fetch one contact","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/accounts/{id}","href":"/api-reference/contacts/fetch-one-contact"},{"title":"Delete a contact","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /contacts/accounts/{id}","href":"/api-reference/contacts/delete-a-contact"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /contacts/accounts/{id}","href":"/api-reference/contacts/update-a-contact"},{"title":"Delete many contacts at once","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/accounts/bulk-delete","href":"/api-reference/contacts/delete-many-contacts-at-once"},{"title":"Add a phone number or email to a contact","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/accounts/{id}/channels","href":"/api-reference/contacts/add-a-phone-number-or-email-to-a-contact"},{"title":"Remove a channel","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /contacts/accounts/{id}/channels/{channelId}","href":"/api-reference/contacts/remove-a-channel"},{"title":"Update a channel","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /contacts/accounts/{id}/channels/{channelId}","href":"/api-reference/contacts/update-a-channel"},{"title":"Everything that has happened to this contact","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/accounts/{id}/timeline","href":"/api-reference/contacts/everything-that-has-happened-to-this-contact"},{"title":"Consent, local time, and attempt counts","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/accounts/{id}/compliance","href":"/api-reference/contacts/consent-local-time-and-attempt-counts"},{"title":"Record the consent basis","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /contacts/accounts/{id}/compliance","href":"/api-reference/contacts/record-the-consent-basis"},{"title":"List custom attribute definitions","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/attributes","href":"/api-reference/contacts/list-custom-attribute-definitions"},{"title":"Define a custom attribute","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/attributes","href":"/api-reference/contacts/define-a-custom-attribute"},{"title":"Delete an attribute definition","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /contacts/attributes/{id}","href":"/api-reference/contacts/delete-an-attribute-definition"},{"title":"Rename, re-option, or archive an attribute","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /contacts/attributes/{id}","href":"/api-reference/contacts/rename-re-option-or-archive-an-attribute"},{"title":"List a contact's files","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/accounts/{id}/files","href":"/api-reference/contacts/list-a-contacts-files"},{"title":"Attach a file to a contact","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/accounts/{id}/files","href":"/api-reference/contacts/attach-a-file-to-a-contact"},{"title":"Download a file","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/files/{fileId}","href":"/api-reference/contacts/download-a-file"},{"title":"Delete a file","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /contacts/files/{fileId}","href":"/api-reference/contacts/delete-a-file"},{"title":"Past imports","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/imports","href":"/api-reference/contacts/past-imports"},{"title":"Import contacts from a CSV","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/imports","href":"/api-reference/contacts/import-contacts-from-a-csv"},{"title":"A CSV template with the recognised headers","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/imports/template","href":"/api-reference/contacts/a-csv-template-with-the-recognised-headers"},{"title":"One import's receipt","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/imports/{id}","href":"/api-reference/contacts/one-imports-receipt"},{"title":"Tenant contact settings","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/settings","href":"/api-reference/contacts/tenant-contact-settings"},{"title":"Choose which detail tabs to show, and in what order","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /contacts/settings","href":"/api-reference/contacts/choose-which-detail-tabs-to-show-and-in-what-order"},{"title":"The tab registry, and which are enabled","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/tabs","href":"/api-reference/contacts/the-tab-registry-and-which-are-enabled"}]},{"group":"Do Not Contact","pages":[{"title":"The suppression list","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/dnc","href":"/api-reference/do-not-contact/the-suppression-list"},{"title":"Suppress one address","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/dnc","href":"/api-reference/do-not-contact/suppress-one-address"},{"title":"Ask whether addresses are suppressed","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/dnc/check","href":"/api-reference/do-not-contact/ask-whether-addresses-are-suppressed"},{"title":"Upload a suppression list","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/dnc/import","href":"/api-reference/do-not-contact/upload-a-suppression-list"},{"title":"Lift a suppression","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /contacts/dnc/{id}","href":"/api-reference/do-not-contact/lift-a-suppression"},{"title":"Correct an entry's value or reason","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /contacts/dnc/{id}","href":"/api-reference/do-not-contact/correct-an-entrys-value-or-reason"},{"title":"The person-level decision, and which of their addresses are suppressed","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/accounts/{id}/dnc","href":"/api-reference/do-not-contact/the-person-level-decision-and-which-of-their-addresses-are-suppressed"},{"title":"Mark a person do-not-contact, or clear it","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml put /contacts/accounts/{id}/dnc","href":"/api-reference/do-not-contact/mark-a-person-do-not-contact-or-clear-it"}]},{"group":"Audiences","pages":[{"title":"List audiences","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/audiences","href":"/api-reference/audiences/list-audiences"},{"title":"Save a filter as an audience","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/audiences","href":"/api-reference/audiences/save-a-filter-as-an-audience"},{"title":"The fields a filter may reach, and their comparators","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/audiences/fields","href":"/api-reference/audiences/the-fields-a-filter-may-reach-and-their-comparators"},{"title":"Count and sample who a filter matches","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/audiences/preview","href":"/api-reference/audiences/count-and-sample-who-a-filter-matches"},{"title":"Fetch one audience","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/audiences/{id}","href":"/api-reference/audiences/fetch-one-audience"},{"title":"Delete an audience","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /contacts/audiences/{id}","href":"/api-reference/audiences/delete-an-audience"},{"title":"Rename an audience or change its filter","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /contacts/audiences/{id}","href":"/api-reference/audiences/rename-an-audience-or-change-its-filter"},{"title":"Who is in an audience right now","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/audiences/{id}/members","href":"/api-reference/audiences/who-is-in-an-audience-right-now"}]},{"group":"Campaigns","pages":[{"title":"List campaigns","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/campaigns","href":"/api-reference/campaigns/list-campaigns"},{"title":"Create a campaign","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns","href":"/api-reference/campaigns/create-a-campaign"},{"title":"What a prompt variable can be filled from","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/campaigns/variable-sources","href":"/api-reference/campaigns/what-a-prompt-variable-can-be-filled-from"},{"title":"The source each prompt variable name-matches to","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns/resolve-variables","href":"/api-reference/campaigns/the-source-each-prompt-variable-name-matches-to"},{"title":"Delete many campaigns at once","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns/bulk-delete","href":"/api-reference/campaigns/delete-many-campaigns-at-once"},{"title":"Fetch one campaign","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml get /contacts/campaigns/{id}","href":"/api-reference/campaigns/fetch-one-campaign"},{"title":"Delete a campaign","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml delete /contacts/campaigns/{id}","href":"/api-reference/campaigns/delete-a-campaign"},{"title":"Edit a campaign that has not launched","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /contacts/campaigns/{id}","href":"/api-reference/campaigns/edit-a-campaign-that-has-not-launched"},{"title":"Change a running campaign, safely","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml patch /contacts/campaigns/{id}/live","href":"/api-reference/campaigns/change-a-running-campaign-safely"},{"title":"Turn the audience into calls","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns/{id}/launch","href":"/api-reference/campaigns/turn-the-audience-into-calls"},{"title":"Dial the next block","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns/{id}/runs/next","href":"/api-reference/campaigns/dial-the-next-block"},{"title":"Pause a running campaign","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns/{id}/pause","href":"/api-reference/campaigns/pause-a-running-campaign"},{"title":"Resume a paused campaign","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns/{id}/resume","href":"/api-reference/campaigns/resume-a-paused-campaign"},{"title":"Stop a campaign for good","deprecated":null,"version":null,"openapi":"/openapi/api-public-v1.yaml post /contacts/campaigns/{id}/stop","href":"/api-reference/campaigns/stop-a-campaign-for-good"}]}]}]},"basePath":"","title":"Replace integration credentials - Vodex API","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}