{
"error": "Missing variables for placeholders: Consumer Name"
}
{
"error": "Free-form texts are not enabled for this organization"
}
{
"error": "Template not found"
}
{
"error": "Too many requests"
}
{
"error": "Internal server error"
}
{
"error": "Failed to send message"
}
Texting
Send a Text
Sends one SMS to one phone number, either from a pre-approved template (templateId + variables) or as free-form text (message). Send exactly one of templateId or message; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned messageId with the status endpoint. Sandbox API keys are rejected.
Active, unexpired API key belonging to an active organization. Optional organization/key signing and organization IP restrictions also apply; see API Access.
Required together with x-cw-signature when signing is enabled for this key or organization. POST /security/verify also requires signing whenever a usable secret exists. Canonical Unix seconds, within ±300 seconds. See API Access for CW1 signing.
Values substituted into the template's {placeholder} tokens. Required with templateId; use {} if the template has none. If any placeholder is left unresolved, the request fails with 400 rather than texting a literal {token}. Rejected if sent alongside message.
Free-form message body, sent verbatim with no template and no placeholder substitution. Mutually exclusive with templateId. Requires free-form texting to be enabled for your organization, otherwise 403.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"CollectWise API Docs","colors":{"primary":"#14377F","light":"#5d86d9","dark":"#14377F"},"favicon":"https://mintcdn.com/collectwise/cwkpSw7AFdt0Uy3s/favicon.png?fit=max\u0026auto=format\u0026n=cwkpSw7AFdt0Uy3s\u0026q=85\u0026s=ca98564cdbf0f8994ce628b74c68980b","logo":{"light":"https://mintcdn.com/collectwise/cwkpSw7AFdt0Uy3s/logo/logo.png?fit=max\u0026auto=format\u0026n=cwkpSw7AFdt0Uy3s\u0026q=85\u0026s=e606647d6d8b1c365797d0cc4916db57","dark":"https://mintcdn.com/collectwise/cwkpSw7AFdt0Uy3s/logo/logo.png?fit=max\u0026auto=format\u0026n=cwkpSw7AFdt0Uy3s\u0026q=85\u0026s=e606647d6d8b1c365797d0cc4916db57"},"navbar":{"links":[{"label":"Support","href":"mailto:mohammed@collectwise.com"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.collectwise.com"}},"footer":{"socials":{"github":"https://github.com/CollectWise-Dev/collectwise-api-docs","linkedin":"https://www.linkedin.com/company/trycollectwise/"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"collectwise","hasAudioNarration":false,"actualSubdomain":"collectwise","customDomains":["docs.collectwise.com"],"gitSource":{"type":"github","owner":"collectwise-dev","repo":"collectwise-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad2ecb978f8d5905b4e1b20","collectionId":"8b240874-a020-4084-9e5b-a92013b01563","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad2ecb978f8d5905b4e1b20"},"entitlements":{},"buildId":"6ad2ecb978f8d5905b4e1b20","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Texting","count":7},{"language":"default","tag":"Debtors","count":6},{"language":"default","tag":"Communications","count":5},{"language":"default","tag":"Debtor Status","count":4},{"language":"default","tag":"Workflow","count":4},{"language":"default","tag":"Webhooks","count":3},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"Billing","count":1},{"language":"default","tag":"Payments","count":1}]},"assistantConfig":{},"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":"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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/Text-Send","slug":"/api-reference/endpoint/Text-Send","pageMetadata":{"title":"Send a Text","openapi":"POST /text/send","description":"Sends one SMS to one phone number, either from a pre-approved template (`templateId` + `variables`) or as free-form text (`message`). Send exactly one of `templateId` or `message`; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned `messageId` with the status endpoint. Sandbox API keys are rejected.","href":"/api-reference/endpoint/Text-Send"},"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: [\"Sends one SMS to one phone number, either from a pre-approved template (\", _jsx(_components.code, {\n children: \"templateId\"\n }), \" + \", _jsx(_components.code, {\n children: \"variables\"\n }), \") or as free-form text (\", _jsx(_components.code, {\n children: \"message\"\n }), \"). Send exactly one of \", _jsx(_components.code, {\n children: \"templateId\"\n }), \" or \", _jsx(_components.code, {\n children: \"message\"\n }), \"; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned \", _jsx(_components.code, {\n children: \"messageId\"\n }), \" with the status endpoint. Sandbox API keys are rejected.\"]\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":"Send a Text","openapi":"POST /text/send","description":"Sends one SMS to one phone number, either from a pre-approved template (`templateId` + `variables`) or as free-form text (`message`). Send exactly one of `templateId` or `message`; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned `messageId` with the status endpoint. Sandbox API keys are rejected.","href":"/api-reference/endpoint/Text-Send"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Send a one-time text","description":"Sends one SMS to one phone number, either from a pre-approved template (`templateId` + `variables`) or as free-form text (`message`). Send exactly one of `templateId` or `message`; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned `messageId` with the status endpoint. Sandbox API keys are rejected.","requestBody":"0e940b43-fffb-4354-8b35-7f80c29a5cb6","responses":{"200":"5e653e81-bb6a-4ad9-8e43-670e0f82d9bd","400":"dfefdd20-cccb-43f3-abb3-e1d462be231b","403":"a6b8ff3d-7004-445b-8f0a-463c9370732c","404":"5e3def3d-aaf9-4696-a134-c481a1551e85","429":"923571ed-562b-4a12-8979-e20da1329413","500":"c9333bf1-51f1-4007-9f36-303c39fb1ded","502":"5e049881-ed02-4c56-aa4b-f4290add59dd"},"parameters":["07b64d8b-1bc7-463d-8564-6c16980355f0","8644f9b6-747d-4a0a-a7d5-c272f6a0f542"],"method":"post","type":"path","servers":["33b16d7b-0e16-4982-8c6f-90ff7d6a6b34"],"security":["6c1094c2-786d-4ca7-b96c-d58d6aa9f3da"],"path":"/text/send","baseUrlOptions":["https://collectwiseapi.com"],"title":"Send a one-time text","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"07b64d8b-1bc7-463d-8564-6c16980355f0":{"name":"x-cw-timestamp","in":"header","required":false,"description":"Required together with x-cw-signature when signing is enabled for this key or organization. POST /security/verify also requires signing whenever a usable secret exists. Canonical Unix seconds, within ±300 seconds. See API Access for CW1 signing.","schema":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","isRequired":false,"description":"Required together with x-cw-signature when signing is enabled for this key or organization. POST /security/verify also requires signing whenever a usable secret exists. Canonical Unix seconds, within ±300 seconds. See API Access for CW1 signing.","uniqueKey":"","typeLabel":"string"}},"8644f9b6-747d-4a0a-a7d5-c272f6a0f542":{"name":"x-cw-signature","in":"header","required":false,"description":"CW1 HMAC-SHA256 signature: v1= followed by 64 lowercase hex digits. Use the decoded 32-byte signing secret and exact request bytes. See API Access.","schema":{"type":"string","pattern":"^v1=[0-9a-f]{64}$","isRequired":false,"description":"CW1 HMAC-SHA256 signature: v1= followed by 64 lowercase hex digits. Use the decoded 32-byte signing secret and exact request bytes. See API Access.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["destination","debtorId"],"properties":{"destination":{"type":"string","description":"US phone number. `3313048434`, `13313048434`, and `+1 (331) 304-8434` are all accepted.","isRequired":true,"uniqueKey":"destination","typeLabel":"string"},"debtorId":{"type":"string","description":"Your reference for this recipient (e.g. your account or reference number). Forwarded as-is; replies and the message record are tracked against it.","isRequired":true,"uniqueKey":"debtorId","typeLabel":"string"},"templateId":{"type":"integer","description":"The template to send. Must belong to your organization's account. Mutually exclusive with `message`; send exactly one of the two.","uniqueKey":"templateId","typeLabel":"integer"},"variables":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"variables.additionalProperties","typeLabel":"string"},"description":"Values substituted into the template's `{placeholder}` tokens. Required with `templateId`; use `{}` if the template has none. If any placeholder is left unresolved, the request fails with 400 rather than texting a literal `{token}`. Rejected if sent alongside `message`.","uniqueKey":"variables","typeLabel":"object"},"message":{"type":"string","minLength":1,"maxLength":1600,"description":"Free-form message body, sent verbatim with no template and no placeholder substitution. Mutually exclusive with `templateId`. Requires free-form texting to be enabled for your organization, otherwise 403.","uniqueKey":"message","typeLabel":"string"},"campaignId":{"type":"string","description":"Optional. Overrides your organization's default campaign for this send.","uniqueKey":"campaignId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"template":{"title":"template","value":{"destination":"3313048434","templateId":100,"variables":{"Consumer Name":"Jane Doe","Company Name":"Acme Recovery Group","Website Payment":"https://pay.collectwise.com/acme","Account Number":"ACME-0001","Phone#":"800-555-0100"},"debtorId":"your-reference-number"}},"freeForm":{"title":"freeForm","value":{"destination":"3313048434","message":"Jane, this is Acme Recovery Group, a debt collector. Your balance is $430.10. Pay at https://pay.collectwise.com/acme. Reply STOP to opt out.","debtorId":"your-reference-number"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"5e653e81-bb6a-4ad9-8e43-670e0f82d9bd":{"description":"Message accepted and queued.","content":{"application/json":{"schema":{"type":"object","required":["success","messageId"],"properties":{"success":{"type":"boolean","isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"messageId":{"type":"string","description":"Delivery-tracking ID. Use it with the status endpoint.","isRequired":true,"uniqueKey":"messageId","typeLabel":"string"},"segments":{"type":"object","required":["encoding","characterCount","segmentCount","maxCharsPerSegment"],"properties":{"encoding":{"type":"string","enum":["GSM-7","UCS-2"],"description":"Encoding the message is sent with. Any non-GSM-7 character (emoji, smart quotes, most CJK) forces the whole message to UCS-2.","isRequired":true,"uniqueKey":"segments.encoding","typeLabel":"enum\u003cstring>"},"characterCount":{"type":"integer","description":"Number of characters in the message.","isRequired":true,"uniqueKey":"segments.characterCount","typeLabel":"integer"},"segmentCount":{"type":"integer","description":"Number of SMS segments the message will use.","isRequired":true,"uniqueKey":"segments.segmentCount","typeLabel":"integer"},"maxCharsPerSegment":{"type":"integer","description":"Max characters per segment for the chosen encoding (160 GSM-7, 70 UCS-2).","isRequired":true,"uniqueKey":"segments.maxCharsPerSegment","typeLabel":"integer"},"gsm7Length":{"type":"integer","description":"Length in GSM-7 units (extended characters such as { } [ ] ~ \\ | ^ € cost 2).","uniqueKey":"segments.gsm7Length","typeLabel":"integer"},"messageSizeBits":{"type":"integer","description":"Total message size in bits.","uniqueKey":"segments.messageSizeBits","typeLabel":"integer"}},"uniqueKey":"segments","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"messageId":"1b1f0a9e-6f4e-4f4b-9a2e-1f2d3c4b5a69","segments":{"encoding":"GSM-7","segmentCount":1,"characterCount":142,"maxCharsPerSegment":160}},"examples":{"Example":{"title":"Example","value":{"success":true,"messageId":"1b1f0a9e-6f4e-4f4b-9a2e-1f2d3c4b5a69","segments":{"encoding":"GSM-7","segmentCount":1,"characterCount":142,"maxCharsPerSegment":160}}}},"exampleType":"examples"}},"exampleType":"examples"},"dfefdd20-cccb-43f3-abb3-e1d462be231b":{"description":"Invalid body: bad phone number, missing or non-integer `templateId`, missing `debtorId`, bad `variables`, unresolved template placeholders, both or neither of `templateId` and `message`, an empty or over-length `message`, `variables` sent alongside `message`, or no campaign configured for your organization.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"example":{"error":"Texting is not enabled for this organization"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Missing variables for placeholders: Consumer Name"},"examples":{"Example":{"title":"Example","value":{"error":"Missing variables for placeholders: Consumer Name"}}},"exampleType":"examples"}},"exampleType":"examples"},"a6b8ff3d-7004-445b-8f0a-463c9370732c":{"description":"Texting not enabled for your organization, free-form texting not enabled for your organization, the template is not in your account, or a sandbox key was used.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"example":{"error":"Texting is not enabled for this organization"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Free-form texts are not enabled for this organization"},"examples":{"Example":{"title":"Example","value":{"error":"Free-form texts are not enabled for this organization"}}},"exampleType":"examples"}},"exampleType":"examples"},"5e3def3d-aaf9-4696-a134-c481a1551e85":{"description":"Template not found.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"example":{"error":"Texting is not enabled for this organization"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Template not found"},"examples":{"Example":{"title":"Example","value":{"error":"Template not found"}}},"exampleType":"examples"}},"exampleType":"examples"},"923571ed-562b-4a12-8979-e20da1329413":{"description":"Your organization's shared rate limit has been exceeded. Wait at least the number of seconds specified in Retry-After before retrying.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":1}},"X-RateLimit-Burst":{"description":"Maximum available request allowance.","schema":{"type":"integer","example":3000}},"X-RateLimit-Refill-Per-Second":{"description":"Requests replenished per second.","schema":{"type":"number","example":50}},"X-RateLimit-Remaining":{"description":"Requests remaining when this request was checked.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Too many requests","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Too many requests"}}},"exampleType":"generated"}},"exampleType":"generated"},"c9333bf1-51f1-4007-9f36-303c39fb1ded":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"example":{"error":"Texting is not enabled for this organization"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Internal server error"},"examples":{"Example":{"title":"Example","value":{"error":"Internal server error"}}},"exampleType":"examples"}},"exampleType":"examples"},"5e049881-ed02-4c56-aa4b-f4290add59dd":{"description":"The SMS service rejected or failed the send.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"example":{"error":"Texting is not enabled for this organization"},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Failed to send message"},"examples":{"Example":{"title":"Example","value":{"error":"Failed to send message"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"6c1094c2-786d-4ca7-b96c-d58d6aa9f3da":{"apiKey":{"type":"apiKey","in":"header","name":"collectwise_key","description":"Active, unexpired API key belonging to an active organization. Optional organization/key signing and organization IP restrictions also apply; see API Access.","scopes":[],"schemeName":"apiKey"}}},"servers":{"33b16d7b-0e16-4982-8c6f-90ff7d6a6b34":{"url":"https://collectwiseapi.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"collectwise_key","description":"Active, unexpired API key belonging to an active organization. Optional organization/key signing and organization IP restrictions also apply; see API Access.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"collectwise_key","type":"string","description":"Active, unexpired API key belonging to an active organization. Optional organization/key signing and organization IP restrictions also apply; see API Access.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"collectwise_key"}],"title":"apiKey"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"collectwise","siteName":"CollectWise API Docs","title":"Send a Text - CollectWise API Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-17T23:50:39.070Z","originalFileLocation":"api-reference/endpoint/Text-Send.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=\"Sends one SMS to one phone number, either from a pre-approved template (templateId + variables) or as free-form text (message). Send exactly one of templateId or message; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned messageId with the status endpoint. Sandbox API keys are rejected.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CollectWise API Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/collectwise/loUWgSXPvtElN9xU/_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/collectwise/loUWgSXPvtElN9xU/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/collectwise/loUWgSXPvtElN9xU/_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/collectwise/loUWgSXPvtElN9xU/_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/collectwise/loUWgSXPvtElN9xU/_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/collectwise/loUWgSXPvtElN9xU/_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/collectwise/loUWgSXPvtElN9xU/_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/collectwise/loUWgSXPvtElN9xU/_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/collectwise/loUWgSXPvtElN9xU/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send a Text - CollectWise API Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sends one SMS to one phone number, either from a pre-approved template (templateId + variables) or as free-form text (message). Send exactly one of templateId or message; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned messageId with the status endpoint. Sandbox API keys are rejected.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CollectWise API Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.collectwise.com/api-reference/endpoint/Text-Send\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://collectwise.mintlify.site/_mintlify/api/og/v2?division=Texting\u0026amp;title=Send+a+Text\u0026amp;description=Sends+one+SMS+to+one+phone+number%2C+either+from+a+pre-approved+template+%28%60templateId%60+%2B+%60variables%60%29+or+as+free-form+text+%28%60message%60%29.+Send+exactly+one+of+%60templ\u0026amp;theme=9ed00f58ebd6ad3872b19539\u0026amp;signature=0f587030b3019a14d9244d73b9fd7974c61d5190568e6b2fba30cfd03ef1849b\">\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=\"Send a Text - CollectWise API Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sends one SMS to one phone number, either from a pre-approved template (templateId + variables) or as free-form text (message). Send exactly one of templateId or message; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned messageId with the status endpoint. Sandbox API keys are rejected.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://collectwise.mintlify.site/_mintlify/api/og/v2?division=Texting\u0026amp;title=Send+a+Text\u0026amp;description=Sends+one+SMS+to+one+phone+number%2C+either+from+a+pre-approved+template+%28%60templateId%60+%2B+%60variables%60%29+or+as+free-form+text+%28%60message%60%29.+Send+exactly+one+of+%60templ\u0026amp;theme=9ed00f58ebd6ad3872b19539\u0026amp;signature=0f587030b3019a14d9244d73b9fd7974c61d5190568e6b2fba30cfd03ef1849b\">\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/collectwise/loUWgSXPvtElN9xU/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CollectWise API Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#14377F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.collectwise.com/api-reference/endpoint/Text-Send\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/Text-Send.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.collectwise.com/#organization\",\"name\":\"CollectWise API Docs\",\"url\":\"https://docs.collectwise.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/collectwise/cwkpSw7AFdt0Uy3s/logo/logo.png?fit=max\u0026auto=format\u0026n=cwkpSw7AFdt0Uy3s\u0026q=85\u0026s=e606647d6d8b1c365797d0cc4916db57\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.collectwise.com#website\",\"name\":\"CollectWise API Docs\",\"url\":\"https://docs.collectwise.com\",\"publisher\":{\"@id\":\"https://docs.collectwise.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send#webpage\",\"url\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send\",\"name\":\"Send a Text\",\"description\":\"Sends one SMS to one phone number, either from a pre-approved template (templateId + variables) or as free-form text (message). Send exactly one of templateId or message; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned messageId with the status endpoint. Sandbox API keys are rejected.\",\"dateModified\":\"2026-08-17T23:50:39.070Z\",\"isPartOf\":{\"@id\":\"https://docs.collectwise.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Texting\",\"item\":\"https://docs.collectwise.com/api-reference/Texting-Overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Send a Text\",\"item\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send#apireference\",\"headline\":\"Send a Text\",\"name\":\"Send a Text\",\"description\":\"Sends one SMS to one phone number, either from a pre-approved template (templateId + variables) or as free-form text (message). Send exactly one of templateId or message; a body with both, or with neither, is a 400. A 200 means the message was accepted and queued, not yet delivered, so use the returned messageId with the status endpoint. Sandbox API keys are rejected.\",\"url\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send\",\"mainEntityOfPage\":{\"@id\":\"https://docs.collectwise.com/api-reference/endpoint/Text-Send#webpage\"},\"dateModified\":\"2026-08-17T23:50:39.070Z\",\"publisher\":{\"@id\":\"https://docs.collectwise.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.collectwise.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CollectWise API Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CollectWise API Docs","nav":{"global":null,"groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"API Access","href":"/authorization"},{"title":"Verify API Security","openapi":"POST /security/verify","href":"/api-reference/endpoint/Verify-API-Security"}]},{"group":"Debtors","pages":[{"title":"Debtor Object","href":"/api-reference/Debtor-Object"},{"title":"Create Debtor","openapi":"POST /debtor","href":"/api-reference/endpoint/Create-Debtor"},{"title":"Bulk Create Debtors","openapi":"POST /debtors","href":"/api-reference/endpoint/Bulk-Create-Debtors"},{"title":"Update Debtor","openapi":"PATCH /debtor/{debtorId}","href":"/api-reference/endpoint/Update-Debtor"},{"title":"Get Debtor","openapi":"GET /debtor/{debtorId}","href":"/api-reference/endpoint/Get-Debtor"},{"title":"Delete Debtor","openapi":"DELETE /debtor/{debtorId}","href":"/api-reference/endpoint/Delete-Debtor"}]},{"group":"Debtor Status","pages":[{"title":"Debtor Statuses","href":"/api-reference/Debtor-Statuses"},{"title":"Get Debtor Status","openapi":"GET /debtorStatus/{debtorId}","href":"/api-reference/endpoint/Get-Debtor-Status"},{"title":"Get Multiple Debtor Statuses","openapi":"GET /debtorStatuses","href":"/api-reference/endpoint/Get-Multiple-Debtor-Statuses"},{"title":"Paid Creditor Directly","openapi":"PATCH /debtorStatus/paidCreditor/{debtorId}","href":"/api-reference/endpoint/Update-Debtor-Status"}]},{"group":"Webhooks","pages":[{"title":"Webhooks Overview","href":"/api-reference/Webhooks-Overview"},{"title":"Payment Received Webhook","href":"/api-reference/Payment-Received"},{"title":"Communications Webhook","href":"/api-reference/Communications-Webhook"}]},{"group":"Payments","pages":[{"title":"List Payments","openapi":"GET /payments","href":"/api-reference/endpoint/List-Payments"}]},{"group":"Communications","pages":[{"title":"Drop Voicemail","openapi":"POST /dropVoicemail","href":"/api-reference/endpoint/Drop-Voicemail"},{"title":"Get Clean Numbers","openapi":"GET /clean-numbers","href":"/api-reference/endpoint/Get-Clean-Numbers"},{"title":"RPC Call","openapi":"POST /rpcCall","href":"/api-reference/endpoint/RPC-Call"},{"title":"Get Call Recording","openapi":"GET /call/{callId}/recording","href":"/api-reference/endpoint/Get-Call-Recordings"},{"title":"Get TCN Call Outcome","openapi":"GET /tcn/call-outcome/{tcn-cid}","href":"/api-reference/endpoint/Get-TCN-Call-Outcome"}]},{"group":"Texting","pages":[{"title":"Texting Overview","href":"/api-reference/Texting-Overview"},{"title":"List SMS Templates","openapi":"GET /text/templates","href":"/api-reference/endpoint/Text-List-Templates"},{"title":"Get SMS Template","openapi":"GET /text/templates/{templateId}","href":"/api-reference/endpoint/Text-Get-Template"},{"title":"Calculate SMS Segments","openapi":"POST /text/segments","description":"Returns how many SMS segments a message will use, matching the Twilio segment calculator. Provide either a raw `message`, or a `templateId` with `variables` (the template is rendered first, then counted). This endpoint does not send anything.","href":"/api-reference/endpoint/Text-Segments"},{"title":"Send a Text","openapi":"POST /text/send","href":"/api-reference/endpoint/Text-Send"},{"title":"Get Text Status","openapi":"GET /text/status/{messageId}","description":"Returns delivery status for a previously sent message. `messageId` is the value returned by the send endpoint. Delivery reports arrive asynchronously from the carrier, so poll after a short delay.","href":"/api-reference/endpoint/Text-Status"},{"title":"List Text Messages","openapi":"GET /text/messages","href":"/api-reference/endpoint/Text-Messages"}]},{"group":"Billing","pages":[{"title":"Billing Usage Summary","openapi":"GET /billing/usage-summary","href":"/api-reference/endpoint/Billing-Usage-Summary"}]},{"group":"Workflow","pages":[{"title":"Pause Workflow","openapi":"PATCH /workflow/{debtorId}/pause","href":"/api-reference/endpoint/Pause-Workflow"},{"title":"Resume Workflow","openapi":"PATCH /workflow/{debtorId}/resume","href":"/api-reference/endpoint/Resume-Workflow"},{"title":"Workflow Status Overview","openapi":"GET /status/workflow/{workflowId}","href":"/api-reference/endpoint/Workflow-Status"},{"title":"Debtors Status in Workflow","openapi":"POST /status/debtors","href":"/api-reference/endpoint/Debtors-Status"}]}]},"basePath":"","title":"Send a Text - CollectWise API Docs","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}