Reseller partner admin keys only, with Blujay-Workspace naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until quiet_until the customer keeps its history and still receives on the number, but can’t send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer’s webhooks receive phone_number.released and phone_number.status_updated. Any other credential gets 404.
Your workspace API key, sent as Authorization: Bearer blu_.... Workspace admins can find it in the Blujay app under API.
An API key has full access to your workspace and works on every endpoint. There is no test mode: every key sends real messages and changes real data, so keep it secret and use it only from your server.
Each API key can make 600 read requests and 120 write requests per minute, plus 60 attachment requests per minute. Over a limit you get 429 RATE_LIMIT_EXCEEDED with Retry-After.
Reseller partner keys. A partner key acts for one of the partner's customers when the request names it in the Blujay-Workspace header (the customer's workspace_ ID). Without the header it reaches only /v1/partner/* and /v1/me. Each customer gets the limits above for each partner key, and all of a partner's requests together get ten times those limits; a 429 says which in error.details[0].scope (partner_customer or partner). A messaging key can read anything for a customer and change chats, messages, contacts, attachments and vCards; everything else needs an admin key (403 PARTNER_ROLE_FORBIDDEN). Paused or closing customers can be read but not changed (409 CUSTOMER_PAUSED or CUSTOMER_CLOSING). Any other workspace ID in the header returns 404 NOT_FOUND; using the header with any other credential returns 400 WORKSPACE_HEADER_NOT_ALLOWED.
Your X-Request-ID header value, echoed back when you send one. Not included on the send responses (POST /v1/chats and POST /v1/chats/{chat_id}/messages); keep your own mapping from your request ID to the returned message ID there.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Blujay API","description":"Send and receive iMessage, RCS and SMS from your Blujay phone numbers with the Blujay API.","colors":{"primary":"#007AFF","light":"#4DA3FF","dark":"#007AFF"},"logo":{"light":"https://mintcdn.com/blujay-api/Z06BDuKbaRqwvTNY/logo/light.svg?fit=max\u0026auto=format\u0026n=Z06BDuKbaRqwvTNY\u0026q=85\u0026s=7e2d044d91197ee37ad1e32cf7c89936","dark":"https://mintcdn.com/blujay-api/Z06BDuKbaRqwvTNY/logo/dark.svg?fit=max\u0026auto=format\u0026n=Z06BDuKbaRqwvTNY\u0026q=85\u0026s=d5a73c28432c5541ee1c48a16175a845","href":"https://docs.blujay.io"},"favicon":"https://mintcdn.com/blujay-api/Z06BDuKbaRqwvTNY/favicon.png?fit=max\u0026auto=format\u0026n=Z06BDuKbaRqwvTNY\u0026q=85\u0026s=52b83434892a2ee20969e9f587e906c2","api":{"openapi":"api-reference/openapi.yaml","playground":{"display":"interactive"},"examples":{"defaults":"all","languages":["curl","javascript","python","go","ruby","php"]}},"background":{"color":{"dark":"#141414"}},"navbar":{"links":[{"href":"mailto:support@blujay.io","label":"Support"}],"primary":{"type":"button","label":"Sign up free","href":"https://app.blujay.io/?auth=register"}},"footer":{"socials":{"x":"https://x.com/blujayio","website":"https://blujay.io"},"links":[{"header":"Blujay","items":[{"label":"Help center","href":"https://support.blujay.io"},{"label":"Open Blujay","href":"https://app.blujay.io"}]}]},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"blujay-api","hasAudioNarration":false,"actualSubdomain":"blujay-api","customDomains":["docs.blujay.io"],"gitSource":{"type":"github","owner":"blujayhq","repo":"api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ada546d4fd5aea585776e0c"},"entitlements":{},"buildId":"6af3f64c47adc41223f29755","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API reference","count":150},{"language":"default","tag":"Guides","count":92},{"language":"default","tag":"Errors","count":84},{"language":"default","tag":"Endpoints","count":65},{"language":"default","tag":"Contacts","count":21},{"language":"default","tag":"Messages","count":21},{"language":"default","tag":"Webhooks","count":20},{"language":"default","tag":"Chats","count":17},{"language":"default","tag":"Reseller partners","count":11},{"language":"default","tag":"Sending messages","count":11}]},"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":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"html:not(.dark) h1,html:not(.dark) h2,html:not(.dark) h3{color:#0A2540}html:not(.dark) .prose{color:#425466}#navigation-items a,#navigation-items .sidebar-group>li>button{padding-top:4px;padding-bottom:4px}#navigation-items>div:has(>.sidebar-group-header){margin-top:1.25rem}#navigation-items>div:first-child:has(>.sidebar-group-header){margin-top:0}#navigation-items .sidebar-group-header{margin-bottom:0.375rem}#navigation-items>div:only-of-type>.sidebar-group-header{display:none}#navigation-items>div:only-of-type>.sidebar-group>li+li{margin-top:0}#navigation-items>div:only-of-type>.sidebar-group>li>button{font-weight:500}#navigation-items>div:only-of-type>.sidebar-group>li>button,#navigation-items>div:only-of-type a:not([aria-current=\"page\"]),#navigation-items>div:only-of-type a:not([aria-current=\"page\"]):hover{color:#0A2540}.dark #navigation-items>div:only-of-type>.sidebar-group>li>button,.dark #navigation-items>div:only-of-type a:not([aria-current=\"page\"]),.dark #navigation-items>div:only-of-type a:not([aria-current=\"page\"]):hover{color:#fff}#navigation-items>div:only-of-type>.sidebar-group>li>ul{margin-left:1rem;padding-left:0;margin-top:0;border-left:1px solid rgb(0 0 0 / 0.14)}#navigation-items>div:only-of-type>.sidebar-group>li>ul a{padding-left:12px!important}.dark #navigation-items>div:only-of-type>.sidebar-group>li>ul{border-left-color:rgb(255 255 255 / 0.2)}#page-title{font-size:42px;line-height:1.2;font-weight:500;letter-spacing:-0.03em}#header .prose{font-size:20px;line-height:28px;letter-spacing:-0.02em}.dark #header .prose{color:rgb(255 255 255 / 0.8)}.dark #page-title{color:#fff}#content{line-height:24px;letter-spacing:-0.01em}.dark #content{color:rgb(255 255 255 / 0.8)}#content h2:not([data-component-part=\"card-title\"]){font-size:35px;line-height:42px;font-weight:500;letter-spacing:-0.03em;margin-top:48px;margin-bottom:15px}#content h3:not([data-component-part=\"card-title\"]){font-size:24px;line-height:32px;font-weight:500;letter-spacing:-0.02em;margin-top:32px;margin-bottom:12px}#content p{margin-top:16px;margin-bottom:0}#content ul,#content ol{margin-top:16px;margin-bottom:0}#content li{margin-top:0;margin-bottom:0}#content table{font-size:15px;line-height:22.5px}#content .callout{border-radius:8px;padding:14px 16px}#content .callout>.prose{font-size:16px;line-height:24px}.dark #content .callout>.prose{color:rgb(255 255 255 / 0.85)}html:not(.dark) #content .callout>.prose{color:#425466}#content .callout[class*=\"border-green\"]{background:rgb(0 122 255 / 0.05);border-color:rgb(0 122 255 / 0.25)}#content .callout[class*=\"border-green\"] svg{color:#007AFF;fill:currentColor}#content ul{padding-left:0;list-style:none}#content ul>li{margin-left:-6px}#content li+li{margin-top:8px}#content ul>li::before{content:\"\";position:absolute;width:5px;height:5px;border-radius:50%;left:15px;top:9.5px;background-color:#425466}.dark #content ul>li::before{background-color:rgb(255 255 255 / 0.8)}#content h2+*,#content h3+*{margin-top:0}#content a.link{color:#007AFF;font-weight:400;border-bottom:0;text-decoration:underline;text-decoration-color:rgb(0 122 255 / 0.4);text-underline-offset:auto}.dark #content a.link{color:#4DA3FF;text-decoration-color:rgb(77 163 255 / 0.4)}.dark #content strong{color:#fff;font-weight:700}"}],"page":{"pagePath":"api-reference/phone-numbers/release-a-phone-number-reseller-partners","slug":"/api-reference/phone-numbers/release-a-phone-number-reseller-partners","pageMetadata":{"title":"Release a phone number (reseller partners)","description":"Reseller partner `admin` keys only, with `Blujay-Workspace` naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until `quiet_until` the customer keeps its history and still receives on the number, but can't send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer's webhooks receive `phone_number.released` and `phone_number.status_updated`. Any other credential gets `404`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/phone-numbers/{phone_number_id}","href":"/api-reference/phone-numbers/release-a-phone-number-reseller-partners","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Reseller partner \", _jsx(_components.code, {\n children: \"admin\"\n }), \" keys only, with \", _jsx(_components.code, {\n children: \"Blujay-Workspace\"\n }), \" naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until \", _jsx(_components.code, {\n children: \"quiet_until\"\n }), \" the customer keeps its history and still receives on the number, but can’t send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer’s webhooks receive \", _jsx(_components.code, {\n children: \"phone_number.released\"\n }), \" and \", _jsx(_components.code, {\n children: \"phone_number.status_updated\"\n }), \". Any other credential gets \", _jsx(_components.code, {\n children: \"404\"\n }), \".\"]\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":"Release a phone number (reseller partners)","description":"Reseller partner `admin` keys only, with `Blujay-Workspace` naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until `quiet_until` the customer keeps its history and still receives on the number, but can't send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer's webhooks receive `phone_number.released` and `phone_number.status_updated`. Any other credential gets `404`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/phone-numbers/{phone_number_id}","href":"/api-reference/phone-numbers/release-a-phone-number-reseller-partners","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Phone Numbers"],"summary":"Release a phone number (reseller partners)","description":"Reseller partner `admin` keys only, with `Blujay-Workspace` naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until `quiet_until` the customer keeps its history and still receives on the number, but can't send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer's webhooks receive `phone_number.released` and `phone_number.status_updated`. Any other credential gets `404`.","operationId":"releasePartnerCustomerPhoneNumber","x-hidden":true,"parameters":["b6a4d9b5-1a4b-4ed2-b457-9547186facaa"],"responses":{"200":"be6a9708-3e11-4135-8ca9-7e474d54ec10","400":"aae3bd5f-9e03-4fdd-ba92-8c16c5f74edd","401":"9c1e0b16-b3b1-4725-92e3-fab50f7d505b","403":"1494ae12-7a66-4ae4-a179-ebdc91c08589","404":"852fb9f2-82da-47f1-9a1a-14d37d0be09c","409":"4038c68c-ae64-496f-8078-2c07dfd0076d"},"security":["95976764-73e9-47a6-adcb-ca416ed5eb41"],"method":"delete","type":"path","servers":["660565a7-87d9-4b09-af2e-872548a05c9e"],"path":"/v1/phone-numbers/{phone_number_id}","baseUrlOptions":["https://api.blujay.io"],"title":"Release a phone number (reseller partners)","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","go","ruby","php"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b6a4d9b5-1a4b-4ed2-b457-9547186facaa":{"name":"phone_number_id","in":"path","required":true,"schema":{"type":"string","examples":["phone_abc123"],"pattern":"^phone_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"be6a9708-3e11-4135-8ca9-7e474d54ec10":{"description":"The released number, with `released_at` and `quiet_until`.","headers":{"X-Trace-ID":{"description":"Unique ID for this request. It matches `trace_id` in the body. Include it when you contact Blujay support.","schema":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$"}}},"content":{"application/json":{"schema":{"type":"object","description":"Wraps every successful response. The result is in `data`.","required":["data","status","trace_id","timestamp"],"properties":{"status":{"type":"string","enum":["success"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"trace_id":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"},"timestamp":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"data":{"type":"object","description":"A Blujay number in your workspace and what it can do right now. Numbers on the Shared Free Plan omit health, limits, queue and calling readiness.","additionalProperties":false,"required":["phone_number_id","display_number","status","line_type","access_type","send_status","capabilities","outbound_policy"],"properties":{"phone_number_id":{"type":"string","examples":["phone_abc123"],"pattern":"^phone_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"data.phone_number_id","typeLabel":"string"},"display_number":{"type":"string","examples":["+15555550100"],"isRequired":true,"uniqueKey":"data.display_number","typeLabel":"string"},"status":{"type":"string","enum":["active","unavailable"],"isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"line_type":{"type":"string","enum":["outbound"],"isRequired":true,"uniqueKey":"data.line_type","typeLabel":"enum\u003cstring>"},"access_type":{"type":"string","enum":["shared","dedicated"],"description":"`dedicated` for a number that belongs to your workspace; `shared` for a number on the Shared Free Plan.","isRequired":true,"uniqueKey":"data.access_type","typeLabel":"enum\u003cstring>"},"send_status":{"type":"object","description":"Whether the number can send right now. When `allowed` is false, `reason_code` and `reason` say why.","additionalProperties":false,"required":["allowed"],"properties":{"allowed":{"type":"boolean","isRequired":true,"uniqueKey":"data.send_status.allowed","typeLabel":"boolean"},"reason":{"type":"string","uniqueKey":"data.send_status.reason","typeLabel":"string"},"reason_code":{"type":"string","enum":["sender_retired","number_released","number_inactive","number_setup_incomplete"],"description":"- `sender_retired`: the phone number was retired. Send from an active number.\n- `number_released`: a reseller partner released the number. It still receives until it retires, but can't send. Send from an active number.\n- `number_inactive`: the phone number isn't active.\n- `number_setup_incomplete`: the phone number isn't set up for messaging yet.\n","uniqueKey":"data.send_status.reason_code","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data.send_status","typeLabel":"object"},"capabilities":{"type":"object","additionalProperties":false,"required":["messaging"],"properties":{"messaging":{"type":"object","additionalProperties":false,"required":["outbound","inbound","media_attachments","link_parts"],"properties":{"outbound":{"type":"boolean","isRequired":true,"uniqueKey":"data.capabilities.messaging.outbound","typeLabel":"boolean"},"inbound":{"type":"boolean","isRequired":true,"uniqueKey":"data.capabilities.messaging.inbound","typeLabel":"boolean"},"media_attachments":{"type":"boolean","isRequired":true,"uniqueKey":"data.capabilities.messaging.media_attachments","typeLabel":"boolean"},"link_parts":{"type":"boolean","isRequired":true,"uniqueKey":"data.capabilities.messaging.link_parts","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"data.capabilities.messaging","typeLabel":"object"},"voice":{"type":"object","description":"Whether this number is ready for calling. Omitted on the Shared Free Plan.","additionalProperties":false,"required":["outbound_ready","inbound_forwarding_ready"],"properties":{"outbound_ready":{"type":"boolean","isRequired":true,"uniqueKey":"data.capabilities.voice.outbound_ready","typeLabel":"boolean"},"inbound_forwarding_ready":{"type":"boolean","isRequired":true,"uniqueKey":"data.capabilities.voice.inbound_forwarding_ready","typeLabel":"boolean"}},"uniqueKey":"data.capabilities.voice","typeLabel":"object"}},"isRequired":true,"uniqueKey":"data.capabilities","typeLabel":"object"},"outbound_policy":{"type":"object","description":"Sending rules for this number, such as whether it can start conversations and whether links are allowed in a chat's first message.","additionalProperties":false,"required":["inbound_first","first_message_links_allowed","follow_up_links_allowed","daily_total_enforced"],"properties":{"inbound_first":{"type":"boolean","description":"True when this number can only message people who texted it first (Free Plan and AI Agent numbers). Skip these when you start conversations; a first send from one returns `CONTACT_NOT_VERIFIED` or `CONTACT_MUST_TEXT_FIRST`.","isRequired":true,"uniqueKey":"data.outbound_policy.inbound_first","typeLabel":"boolean"},"first_message_links_allowed":{"type":"boolean","isRequired":true,"uniqueKey":"data.outbound_policy.first_message_links_allowed","typeLabel":"boolean"},"follow_up_links_allowed":{"type":"boolean","isRequired":true,"uniqueKey":"data.outbound_policy.follow_up_links_allowed","typeLabel":"boolean"},"daily_total_enforced":{"type":"boolean","isRequired":true,"uniqueKey":"data.outbound_policy.daily_total_enforced","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"data.outbound_policy","typeLabel":"object"},"released_at":{"type":"string","format":"date-time","description":"Only on a number a reseller partner released.","uniqueKey":"data.released_at","typeLabel":"string\u003cdate-time>"},"quiet_until":{"type":"string","format":"date-time","description":"Only on a number a reseller partner released. It receives until then, then retires.","uniqueKey":"data.quiet_until","typeLabel":"string\u003cdate-time>"},"label":{"type":"string","examples":["Support line"],"uniqueKey":"data.label","typeLabel":"string"},"health_status":{"type":"object","description":"Dedicated-line health. Omitted on the Shared Free Plan.","additionalProperties":false,"required":["status"],"properties":{"status":{"type":"string","enum":["healthy","degraded","critical","unknown"],"isRequired":true,"uniqueKey":"data.health_status.status","typeLabel":"enum\u003cstring>"},"score":{"type":"number","examples":[98],"minimum":0,"maximum":100,"uniqueKey":"data.health_status.score","typeLabel":"number"},"as_of":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","uniqueKey":"data.health_status.as_of","typeLabel":"string\u003cdate-time>"},"freshness":{"type":"string","examples":["fresh"],"uniqueKey":"data.health_status.freshness","typeLabel":"string"}},"uniqueKey":"data.health_status","typeLabel":"object"},"limits":{"type":"object","description":"Live sending limits for a dedicated number. The values are specific to each number and change over time, so read them here each time instead of hard-coding them. Omitted on the Shared Free Plan.","additionalProperties":false,"required":["new_contacts","daily"],"properties":{"new_contacts":{"type":"object","description":"New contacts this number has messaged today, against its daily limit.","additionalProperties":false,"required":["used_today","limit_per_day","remaining_today","reset_at"],"properties":{"used_today":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.limits.new_contacts.used_today","typeLabel":"integer"},"limit_per_day":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.limits.new_contacts.limit_per_day","typeLabel":"integer"},"remaining_today":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.limits.new_contacts.remaining_today","typeLabel":"integer"},"reset_at":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","isRequired":true,"uniqueKey":"data.limits.new_contacts.reset_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"data.limits.new_contacts","typeLabel":"object"},"daily":{"type":"object","description":"Messages sent today, against a recommended daily total. When `enforced` is false, the guideline is advice, not a hard limit.","additionalProperties":false,"required":["used_today","guideline","remaining_to_guideline","enforced"],"properties":{"used_today":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.limits.daily.used_today","typeLabel":"integer"},"guideline":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.limits.daily.guideline","typeLabel":"integer"},"remaining_to_guideline":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.limits.daily.remaining_to_guideline","typeLabel":"integer"},"enforced":{"type":"boolean","isRequired":true,"uniqueKey":"data.limits.daily.enforced","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"data.limits.daily","typeLabel":"object"}},"uniqueKey":"data.limits","typeLabel":"object"},"queue":{"type":"object","description":"Messages waiting to send from this dedicated number. Capacity is specific to each number and can change over time, so read it here each time instead of hard-coding it. When `remaining` reaches 0, sends return `429 QUEUE_FULL`. Omitted on the Shared Free Plan.","additionalProperties":false,"required":["pending","capacity","remaining"],"properties":{"pending":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.queue.pending","typeLabel":"integer"},"capacity":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.queue.capacity","typeLabel":"integer"},"remaining":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"data.queue.remaining","typeLabel":"integer"}},"uniqueKey":"data.queue","typeLabel":"object"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"client_request_id":{"type":"string","description":"Your `X-Request-ID` header value, echoed back when you send one. Not included on the send responses (`POST /v1/chats` and `POST /v1/chats/{chat_id}/messages`); keep your own mapping from your request ID to the returned message ID there.","uniqueKey":"client_request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"success","trace_id":"trc_8f2a1c0e4b7d","timestamp":"2026-10-14T17:01:00.000Z","data":{"phone_number_id":"phone_abc123","display_number":"+15555550100","status":"active","line_type":"outbound","access_type":"shared","send_status":{"allowed":true,"reason":"\u003cstring>","reason_code":"sender_retired"},"capabilities":{"messaging":{"outbound":true,"inbound":true,"media_attachments":true,"link_parts":true},"voice":{"outbound_ready":true,"inbound_forwarding_ready":true}},"outbound_policy":{"inbound_first":true,"first_message_links_allowed":true,"follow_up_links_allowed":true,"daily_total_enforced":true},"released_at":"2023-11-07T05:31:56Z","quiet_until":"2023-11-07T05:31:56Z","label":"Support line","health_status":{"status":"healthy","score":98,"as_of":"2026-10-14T17:01:00.000Z","freshness":"fresh"},"limits":{"new_contacts":{"used_today":1,"limit_per_day":1,"remaining_today":1,"reset_at":"2026-10-14T17:01:00.000Z"},"daily":{"used_today":1,"guideline":1,"remaining_to_guideline":1,"enforced":true}},"queue":{"pending":1,"capacity":1,"remaining":1}},"client_request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"aae3bd5f-9e03-4fdd-ba92-8c16c5f74edd":{"description":"The partner key didn't name a customer (`WORKSPACE_HEADER_REQUIRED`).","headers":{"X-Trace-ID":{"description":"Unique ID for this request. It matches `trace_id` in the body. Include it when you contact Blujay support.","schema":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$"}}},"content":{"application/json":{"schema":{"type":"object","description":"Wraps every error response. Branch on `error.code`, and include `trace_id` when you contact support.","required":["status","error","trace_id","timestamp"],"properties":{"status":{"const":"error","isRequired":true,"uniqueKey":"status","typeLabel":"any"},"error":{"type":"object","required":["code","message","type","http_status","retryable","doc_url","details"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value.","examples":["RATE_LIMIT_EXCEEDED","QUEUE_UNAVAILABLE","FEATURE_NOT_ENABLED"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation. It can change, so don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Broad error category.","examples":["validation","auth","idempotency","rate_limit","queue","feature_gate"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"http_status":{"type":"integer","description":"The HTTP status code of the response.","enum":[400,401,403,404,409,413,415,422,429,500,502,503],"isRequired":true,"uniqueKey":"error.http_status","typeLabel":"enum\u003cinteger>"},"retryable":{"type":"boolean","description":"Whether sending the same request again later can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"doc_url":{"type":"string","format":"uri","description":"Link to documentation for this error code.","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"},"details":{"type":"array","description":"Extra structured context, such as the fields that failed validation or the limit you hit.","items":{"type":"object","additionalProperties":true,"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"},"retry_after":{"type":"integer","minimum":1,"description":"Seconds to wait before retrying. Also sent as the `Retry-After` header.","uniqueKey":"error.retry_after","typeLabel":"integer"},"reset_at":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","description":"When the limit you hit resets.","uniqueKey":"error.reset_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"trace_id":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"},"timestamp":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"client_request_id":{"type":"string","description":"Your `X-Request-ID` header value, echoed back when you send one.","uniqueKey":"client_request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"error","error":{"code":"RATE_LIMIT_EXCEEDED","message":"\u003cstring>","type":"validation","http_status":400,"retryable":true,"doc_url":"\u003cstring>","details":[{}],"retry_after":2,"reset_at":"2026-10-14T17:01:00.000Z"},"trace_id":"trc_8f2a1c0e4b7d","timestamp":"2026-10-14T17:01:00.000Z","client_request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"9c1e0b16-b3b1-4725-92e3-fab50f7d505b":{"description":"The API key is missing or invalid (`UNAUTHORIZED`), revoked (`API_KEY_REVOKED`) or expired (`API_KEY_EXPIRED`).","headers":{"X-Trace-ID":{"description":"Unique ID for this request. It matches `trace_id` in the body. Include it when you contact Blujay support.","schema":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$"}}},"content":{"application/json":{"schema":{"type":"object","description":"Wraps every error response. Branch on `error.code`, and include `trace_id` when you contact support.","required":["status","error","trace_id","timestamp"],"properties":{"status":{"const":"error","isRequired":true,"uniqueKey":"status","typeLabel":"any"},"error":{"type":"object","required":["code","message","type","http_status","retryable","doc_url","details"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value.","examples":["RATE_LIMIT_EXCEEDED","QUEUE_UNAVAILABLE","FEATURE_NOT_ENABLED"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation. It can change, so don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Broad error category.","examples":["validation","auth","idempotency","rate_limit","queue","feature_gate"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"http_status":{"type":"integer","description":"The HTTP status code of the response.","enum":[400,401,403,404,409,413,415,422,429,500,502,503],"isRequired":true,"uniqueKey":"error.http_status","typeLabel":"enum\u003cinteger>"},"retryable":{"type":"boolean","description":"Whether sending the same request again later can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"doc_url":{"type":"string","format":"uri","description":"Link to documentation for this error code.","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"},"details":{"type":"array","description":"Extra structured context, such as the fields that failed validation or the limit you hit.","items":{"type":"object","additionalProperties":true,"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"},"retry_after":{"type":"integer","minimum":1,"description":"Seconds to wait before retrying. Also sent as the `Retry-After` header.","uniqueKey":"error.retry_after","typeLabel":"integer"},"reset_at":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","description":"When the limit you hit resets.","uniqueKey":"error.reset_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"trace_id":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"},"timestamp":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"client_request_id":{"type":"string","description":"Your `X-Request-ID` header value, echoed back when you send one.","uniqueKey":"client_request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"error","error":{"code":"RATE_LIMIT_EXCEEDED","message":"\u003cstring>","type":"validation","http_status":400,"retryable":true,"doc_url":"\u003cstring>","details":[{}],"retry_after":2,"reset_at":"2026-10-14T17:01:00.000Z"},"trace_id":"trc_8f2a1c0e4b7d","timestamp":"2026-10-14T17:01:00.000Z","client_request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"1494ae12-7a66-4ae4-a179-ebdc91c08589":{"description":"The key has the `messaging` role (`PARTNER_ROLE_FORBIDDEN`).","headers":{"X-Trace-ID":{"description":"Unique ID for this request. It matches `trace_id` in the body. Include it when you contact Blujay support.","schema":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$"}}},"content":{"application/json":{"schema":{"type":"object","description":"Wraps every error response. Branch on `error.code`, and include `trace_id` when you contact support.","required":["status","error","trace_id","timestamp"],"properties":{"status":{"const":"error","isRequired":true,"uniqueKey":"status","typeLabel":"any"},"error":{"type":"object","required":["code","message","type","http_status","retryable","doc_url","details"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value.","examples":["RATE_LIMIT_EXCEEDED","QUEUE_UNAVAILABLE","FEATURE_NOT_ENABLED"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation. It can change, so don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Broad error category.","examples":["validation","auth","idempotency","rate_limit","queue","feature_gate"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"http_status":{"type":"integer","description":"The HTTP status code of the response.","enum":[400,401,403,404,409,413,415,422,429,500,502,503],"isRequired":true,"uniqueKey":"error.http_status","typeLabel":"enum\u003cinteger>"},"retryable":{"type":"boolean","description":"Whether sending the same request again later can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"doc_url":{"type":"string","format":"uri","description":"Link to documentation for this error code.","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"},"details":{"type":"array","description":"Extra structured context, such as the fields that failed validation or the limit you hit.","items":{"type":"object","additionalProperties":true,"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"},"retry_after":{"type":"integer","minimum":1,"description":"Seconds to wait before retrying. Also sent as the `Retry-After` header.","uniqueKey":"error.retry_after","typeLabel":"integer"},"reset_at":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","description":"When the limit you hit resets.","uniqueKey":"error.reset_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"trace_id":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"},"timestamp":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"client_request_id":{"type":"string","description":"Your `X-Request-ID` header value, echoed back when you send one.","uniqueKey":"client_request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"error","error":{"code":"RATE_LIMIT_EXCEEDED","message":"\u003cstring>","type":"validation","http_status":400,"retryable":true,"doc_url":"\u003cstring>","details":[{}],"retry_after":2,"reset_at":"2026-10-14T17:01:00.000Z"},"trace_id":"trc_8f2a1c0e4b7d","timestamp":"2026-10-14T17:01:00.000Z","client_request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"852fb9f2-82da-47f1-9a1a-14d37d0be09c":{"description":"The resource doesn't exist or isn't in your workspace.","headers":{"X-Trace-ID":{"description":"Unique ID for this request. It matches `trace_id` in the body. Include it when you contact Blujay support.","schema":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$"}}},"content":{"application/json":{"schema":{"type":"object","description":"Wraps every error response. Branch on `error.code`, and include `trace_id` when you contact support.","required":["status","error","trace_id","timestamp"],"properties":{"status":{"const":"error","isRequired":true,"uniqueKey":"status","typeLabel":"any"},"error":{"type":"object","required":["code","message","type","http_status","retryable","doc_url","details"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value.","examples":["RATE_LIMIT_EXCEEDED","QUEUE_UNAVAILABLE","FEATURE_NOT_ENABLED"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation. It can change, so don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Broad error category.","examples":["validation","auth","idempotency","rate_limit","queue","feature_gate"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"http_status":{"type":"integer","description":"The HTTP status code of the response.","enum":[400,401,403,404,409,413,415,422,429,500,502,503],"isRequired":true,"uniqueKey":"error.http_status","typeLabel":"enum\u003cinteger>"},"retryable":{"type":"boolean","description":"Whether sending the same request again later can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"doc_url":{"type":"string","format":"uri","description":"Link to documentation for this error code.","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"},"details":{"type":"array","description":"Extra structured context, such as the fields that failed validation or the limit you hit.","items":{"type":"object","additionalProperties":true,"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"},"retry_after":{"type":"integer","minimum":1,"description":"Seconds to wait before retrying. Also sent as the `Retry-After` header.","uniqueKey":"error.retry_after","typeLabel":"integer"},"reset_at":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","description":"When the limit you hit resets.","uniqueKey":"error.reset_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"trace_id":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"},"timestamp":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"client_request_id":{"type":"string","description":"Your `X-Request-ID` header value, echoed back when you send one.","uniqueKey":"client_request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"error","error":{"code":"RATE_LIMIT_EXCEEDED","message":"\u003cstring>","type":"validation","http_status":400,"retryable":true,"doc_url":"\u003cstring>","details":[{}],"retry_after":2,"reset_at":"2026-10-14T17:01:00.000Z"},"trace_id":"trc_8f2a1c0e4b7d","timestamp":"2026-10-14T17:01:00.000Z","client_request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4038c68c-ae64-496f-8078-2c07dfd0076d":{"description":"The customer is paused or closing (`CUSTOMER_PAUSED`, `CUSTOMER_CLOSING`).","headers":{"X-Trace-ID":{"description":"Unique ID for this request. It matches `trace_id` in the body. Include it when you contact Blujay support.","schema":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$"}}},"content":{"application/json":{"schema":{"type":"object","description":"Wraps every error response. Branch on `error.code`, and include `trace_id` when you contact support.","required":["status","error","trace_id","timestamp"],"properties":{"status":{"const":"error","isRequired":true,"uniqueKey":"status","typeLabel":"any"},"error":{"type":"object","required":["code","message","type","http_status","retryable","doc_url","details"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. Branch on this value.","examples":["RATE_LIMIT_EXCEEDED","QUEUE_UNAVAILABLE","FEATURE_NOT_ENABLED"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation. It can change, so don't parse it.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Broad error category.","examples":["validation","auth","idempotency","rate_limit","queue","feature_gate"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"http_status":{"type":"integer","description":"The HTTP status code of the response.","enum":[400,401,403,404,409,413,415,422,429,500,502,503],"isRequired":true,"uniqueKey":"error.http_status","typeLabel":"enum\u003cinteger>"},"retryable":{"type":"boolean","description":"Whether sending the same request again later can succeed.","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"doc_url":{"type":"string","format":"uri","description":"Link to documentation for this error code.","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string\u003curi>"},"details":{"type":"array","description":"Extra structured context, such as the fields that failed validation or the limit you hit.","items":{"type":"object","additionalProperties":true,"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"},"retry_after":{"type":"integer","minimum":1,"description":"Seconds to wait before retrying. Also sent as the `Retry-After` header.","uniqueKey":"error.retry_after","typeLabel":"integer"},"reset_at":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","description":"When the limit you hit resets.","uniqueKey":"error.reset_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"trace_id":{"type":"string","examples":["trc_8f2a1c0e4b7d"],"pattern":"^trc_[A-Za-z0-9_-]+$","isRequired":true,"uniqueKey":"trace_id","typeLabel":"string"},"timestamp":{"type":"string","examples":["2026-10-14T17:01:00.000Z"],"format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"client_request_id":{"type":"string","description":"Your `X-Request-ID` header value, echoed back when you send one.","uniqueKey":"client_request_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"error","error":{"code":"RATE_LIMIT_EXCEEDED","message":"\u003cstring>","type":"validation","http_status":400,"retryable":true,"doc_url":"\u003cstring>","details":[{}],"retry_after":2,"reset_at":"2026-10-14T17:01:00.000Z"},"trace_id":"trc_8f2a1c0e4b7d","timestamp":"2026-10-14T17:01:00.000Z","client_request_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"95976764-73e9-47a6-adcb-ca416ed5eb41":{"PublicApiKey":{"type":"http","scheme":"bearer","bearerFormat":"blu_...","description":"Your workspace API key, sent as `Authorization: Bearer blu_...`. Workspace admins can find it in the Blujay app under **API**.\n\nAn API key has full access to your workspace and works on every endpoint. There is no test mode: every key sends real messages and changes real data, so keep it secret and use it only from your server.\n\nEach API key can make 600 read requests and 120 write requests per minute, plus 60 attachment requests per minute. Over a limit you get `429 RATE_LIMIT_EXCEEDED` with `Retry-After`.\n\n**Reseller partner keys.** A partner key acts for one of the partner's customers when the request names it in the `Blujay-Workspace` header (the customer's `workspace_` ID). Without the header it reaches only `/v1/partner/*` and `/v1/me`. Each customer gets the limits above for each partner key, and all of a partner's requests together get ten times those limits; a `429` says which in `error.details[0].scope` (`partner_customer` or `partner`). A `messaging` key can read anything for a customer and change chats, messages, contacts, attachments and vCards; everything else needs an `admin` key (`403 PARTNER_ROLE_FORBIDDEN`). Paused or closing customers can be read but not changed (`409 CUSTOMER_PAUSED` or `CUSTOMER_CLOSING`). Any other workspace ID in the header returns `404 NOT_FOUND`; using the header with any other credential returns `400 WORKSPACE_HEADER_NOT_ALLOWED`.\n","scopes":[],"schemeName":"PublicApiKey"}}},"servers":{"660565a7-87d9-4b09-af2e-872548a05c9e":{"url":"https://api.blujay.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"blu_...","description":"Your workspace API key, sent as `Authorization: Bearer blu_...`. Workspace admins can find it in the Blujay app under **API**.\n\nAn API key has full access to your workspace and works on every endpoint. There is no test mode: every key sends real messages and changes real data, so keep it secret and use it only from your server.\n\nEach API key can make 600 read requests and 120 write requests per minute, plus 60 attachment requests per minute. Over a limit you get `429 RATE_LIMIT_EXCEEDED` with `Retry-After`.\n\n**Reseller partner keys.** A partner key acts for one of the partner's customers when the request names it in the `Blujay-Workspace` header (the customer's `workspace_` ID). Without the header it reaches only `/v1/partner/*` and `/v1/me`. Each customer gets the limits above for each partner key, and all of a partner's requests together get ten times those limits; a `429` says which in `error.details[0].scope` (`partner_customer` or `partner`). A `messaging` key can read anything for a customer and change chats, messages, contacts, attachments and vCards; everything else needs an `admin` key (`403 PARTNER_ROLE_FORBIDDEN`). Paused or closing customers can be read but not changed (`409 CUSTOMER_PAUSED` or `CUSTOMER_CLOSING`). Any other workspace ID in the header returns `404 NOT_FOUND`; using the header with any other credential returns `400 WORKSPACE_HEADER_NOT_ALLOWED`.\n","scopes":[],"schemeName":"PublicApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your workspace API key, sent as `Authorization: Bearer blu_...`. Workspace admins can find it in the Blujay app under **API**.\n\nAn API key has full access to your workspace and works on every endpoint. There is no test mode: every key sends real messages and changes real data, so keep it secret and use it only from your server.\n\nEach API key can make 600 read requests and 120 write requests per minute, plus 60 attachment requests per minute. Over a limit you get `429 RATE_LIMIT_EXCEEDED` with `Retry-After`.\n\n**Reseller partner keys.** A partner key acts for one of the partner's customers when the request names it in the `Blujay-Workspace` header (the customer's `workspace_` ID). Without the header it reaches only `/v1/partner/*` and `/v1/me`. Each customer gets the limits above for each partner key, and all of a partner's requests together get ten times those limits; a `429` says which in `error.details[0].scope` (`partner_customer` or `partner`). A `messaging` key can read anything for a customer and change chats, messages, contacts, attachments and vCards; everything else needs an `admin` key (`403 PARTNER_ROLE_FORBIDDEN`). Paused or closing customers can be read but not changed (`409 CUSTOMER_PAUSED` or `CUSTOMER_CLOSING`). Any other workspace ID in the header returns `404 NOT_FOUND`; using the header with any other credential returns `400 WORKSPACE_HEADER_NOT_ALLOWED`.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"PublicApiKey","name":"Authorization"}],"title":"PublicApiKey"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"blujay-api","siteName":"Blujay API","title":"Release a phone number (reseller partners) - Blujay API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T01:31:23.939Z","originalFileLocation":"api-reference/phone-numbers/release-a-phone-number-reseller-partners.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=\"Reseller partner admin keys only, with Blujay-Workspace naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until quiet_until the customer keeps its history and still receives on the number, but can\u0026#x27;t send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer\u0026#x27;s webhooks receive phone_number.released and phone_number.status_updated. Any other credential gets 404.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Blujay 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/blujay-api/ME8eQTARhlNFGeGt/_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/blujay-api/ME8eQTARhlNFGeGt/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/blujay-api/ME8eQTARhlNFGeGt/_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/blujay-api/ME8eQTARhlNFGeGt/_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/blujay-api/ME8eQTARhlNFGeGt/_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/blujay-api/ME8eQTARhlNFGeGt/_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/blujay-api/ME8eQTARhlNFGeGt/_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/blujay-api/ME8eQTARhlNFGeGt/_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/blujay-api/ME8eQTARhlNFGeGt/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Release a phone number (reseller partners) - Blujay API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Reseller partner admin keys only, with Blujay-Workspace naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until quiet_until the customer keeps its history and still receives on the number, but can\u0026#x27;t send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer\u0026#x27;s webhooks receive phone_number.released and phone_number.status_updated. Any other credential gets 404.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Blujay API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.blujay.io/api-reference/phone-numbers/release-a-phone-number-reseller-partners\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://blujay-api.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Release+a+phone+number+%28reseller+partners%29\u0026amp;description=Reseller+partner+%60admin%60+keys+only%2C+with+%60Blujay-Workspace%60+naming+the+customer.+Releases+a+number+you+assigned+into+its+quiet+period+%2830+days+unless+agreed+oth\u0026amp;theme=fd31e5cf5d981648caebe5b9\u0026amp;signature=e43a766135c82854ce3eaa07cba0750d5457d0717341f5fff8bf0a8b35da736e\">\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=\"Release a phone number (reseller partners) - Blujay API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Reseller partner admin keys only, with Blujay-Workspace naming the customer. Releases a number you assigned into its quiet period (30 days unless agreed otherwise). Until quiet_until the customer keeps its history and still receives on the number, but can\u0026#x27;t send from it; queued and scheduled texts on it wait instead of sending. Then the number retires. Releasing a number that is already released returns it unchanged. The customer\u0026#x27;s webhooks receive phone_number.released and phone_number.status_updated. Any other credential gets 404.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://blujay-api.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Release+a+phone+number+%28reseller+partners%29\u0026amp;description=Reseller+partner+%60admin%60+keys+only%2C+with+%60Blujay-Workspace%60+naming+the+customer.+Releases+a+number+you+assigned+into+its+quiet+period+%2830+days+unless+agreed+oth\u0026amp;theme=fd31e5cf5d981648caebe5b9\u0026amp;signature=e43a766135c82854ce3eaa07cba0750d5457d0717341f5fff8bf0a8b35da736e\">\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/blujay-api/ME8eQTARhlNFGeGt/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Blujay API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#007AFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.blujay.io/api-reference/phone-numbers/release-a-phone-number-reseller-partners\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/phone-numbers/release-a-phone-number-reseller-partners.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Blujay API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Blujay API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/phone-numbers/release-a-phone-number-reseller-partners.md","siteName":"Blujay API","nav":{"global":null,"tabs":[{"tab":"Guides","groups":[{"group":"Guides","pages":[{"group":"Blujay API","expanded":true,"pages":[{"title":"Blujay API","sidebarTitle":"Introduction","href":""}]},{"group":"Get Started","expanded":true,"pages":[{"title":"Quickstart","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Key Concepts","href":"/key-concepts"},{"title":"SDKs","href":"/sdks"},{"title":"AI Coding Agents","href":"/build-with-ai"},{"title":"MCP Server","href":"/mcp-server"},{"title":"Best Practices","href":"/best-practices"}]},{"group":"Messages","expanded":true,"pages":[{"title":"Messaging","sidebarTitle":"Overview","href":"/messaging/overview"},{"title":"Sending Messages","href":"/messaging/send-messages"},{"title":"Receiving Messages","href":"/messaging/receive-messages"},{"title":"Message Status","href":"/messaging/lifecycle"},{"title":"Attachments","href":"/messaging/media"},{"title":"Voice Memos","href":"/messaging/voice-memos"},{"title":"Contact Cards","href":"/messaging/contact-cards"},{"title":"Rich Link Previews","href":"/messaging/rich-link-previews"},{"title":"Reactions","href":"/messaging/reactions"},{"title":"Threaded Replies","href":"/messaging/replies"},{"title":"Message Effects","href":"/messaging/effects"},{"title":"Edit and Unsend","href":"/messaging/edit-and-unsend"}]},{"group":"Chats","expanded":true,"pages":[{"title":"Chats","sidebarTitle":"Overview","href":"/chats/overview"},{"title":"Number Lookup","href":"/messaging/choosing-a-service"},{"title":"Group Chats","href":"/messaging/group-chats"},{"title":"Typing and Read Receipts","href":"/messaging/typing-and-read-receipts"},{"title":"Name and Photo Sharing","href":"/messaging/name-and-photo"}]},{"group":"Numbers and Plans","expanded":true,"pages":[{"title":"Phone Numbers","href":"/phone-numbers"},{"title":"Plan Limits","href":"/plans"}]},{"group":"Contacts","expanded":true,"pages":[{"title":"Contacts","href":"/contacts"},{"title":"Opt-Outs","href":"/opt-outs"},{"title":"Workflows","href":"/workflows"}]},{"group":"Calls","expanded":true,"pages":[{"title":"Calls and Recordings","href":"/messaging/calls"}]},{"group":"Webhooks","expanded":true,"pages":[{"title":"Webhooks","sidebarTitle":"Overview","href":"/webhooks/overview"},{"title":"Verifying Signatures","href":"/webhooks/verify-signatures"},{"title":"Event Types","href":"/webhooks/events"},{"title":"Delivery and Retries","href":"/webhooks/delivery"},{"title":"Versions","href":"/webhooks/versions"}]},{"group":"Going Live","expanded":true,"pages":[{"title":"Making Requests","href":"/making-requests"},{"title":"Sending Rules","href":"/messaging/sending-rules"},{"title":"Rate Limits","href":"/rate-limits"},{"title":"Idempotency","href":"/idempotency"},{"title":"Debugging","href":"/debugging"}]},{"group":"Partners","expanded":true,"pages":[{"title":"Partner Accounts","href":"/partners/overview"}]},{"group":"Help","expanded":true,"pages":[{"title":"Examples","href":"/examples"},{"title":"FAQ","href":"/faq"},{"title":"Glossary","href":"/glossary"},{"title":"Support","href":"/support"}]}]}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"group":"Endpoints","pages":[{"group":"Auth","pages":[{"title":"Get the current credential","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/me","href":"/api-reference/auth/get-the-current-credential"}]},{"group":"Chats","pages":[{"title":"List chats","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/chats","href":"/api-reference/chats/list-chats"},{"title":"Create a chat and send the first message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/chats","href":"/api-reference/chats/create-a-chat-and-send-the-first-message"},{"title":"Get a chat","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/chats/{chat_id}","href":"/api-reference/chats/get-a-chat"},{"title":"Rename a group chat or set its photo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/chats/{chat_id}","href":"/api-reference/chats/rename-a-group-chat-or-set-its-photo"},{"title":"Download a group chat's photo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/chats/{chat_id}/icon","href":"/api-reference/chats/download-a-group-chats-photo"},{"title":"Leave a group chat","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/chats/{chat_id}/leave","href":"/api-reference/chats/leave-a-group-chat"},{"title":"List group participants","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/chats/{chat_id}/participants","href":"/api-reference/chats/list-group-participants"},{"title":"Add a group participant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/chats/{chat_id}/participants","href":"/api-reference/chats/add-a-group-participant"},{"title":"Remove a group participant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/chats/{chat_id}/participants","href":"/api-reference/chats/remove-a-group-participant"},{"title":"Start a typing indicator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/chats/{chat_id}/typing","href":"/api-reference/chats/start-a-typing-indicator"},{"title":"Stop a typing indicator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/chats/{chat_id}/typing","href":"/api-reference/chats/stop-a-typing-indicator"},{"title":"Mark a chat as read","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/chats/{chat_id}/read","href":"/api-reference/chats/mark-a-chat-as-read"}]},{"group":"Messages","pages":[{"title":"List messages in a chat","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/chats/{chat_id}/messages","href":"/api-reference/messages/list-messages-in-a-chat"},{"title":"Send a message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/chats/{chat_id}/messages","href":"/api-reference/messages/send-a-message"},{"title":"List messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/messages","href":"/api-reference/messages/list-messages"},{"title":"Get a message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/messages/{message_id}","href":"/api-reference/messages/get-a-message"},{"title":"Edit a message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/messages/{message_id}","href":"/api-reference/messages/edit-a-message"},{"title":"List a reply thread","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/messages/{message_id}/thread","href":"/api-reference/messages/list-a-reply-thread"},{"title":"Unsend a message","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/messages/{message_id}/unsend","href":"/api-reference/messages/unsend-a-message"},{"title":"Add a reaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/messages/{message_id}/reactions","href":"/api-reference/messages/add-a-reaction"},{"title":"Remove a reaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/messages/{message_id}/reactions/{type}","href":"/api-reference/messages/remove-a-reaction"}]},{"group":"Phone Numbers","pages":[{"title":"List phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/phone-numbers","href":"/api-reference/phone-numbers/list-phone-numbers"},{"title":"Get a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/phone-numbers/{phone_number_id}","href":"/api-reference/phone-numbers/get-a-phone-number"},{"title":"Get a number's iMessage name and photo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/phone-numbers/{phone_number_id}/contact-card","href":"/api-reference/phone-numbers/get-a-numbers-imessage-name-and-photo"},{"title":"Set a number's iMessage name and photo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /v1/phone-numbers/{phone_number_id}/contact-card","href":"/api-reference/phone-numbers/set-a-numbers-imessage-name-and-photo"},{"title":"Turn off a number's iMessage name and photo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/phone-numbers/{phone_number_id}/contact-card","href":"/api-reference/phone-numbers/turn-off-a-numbers-imessage-name-and-photo"},{"title":"Download a number's iMessage photo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/phone-numbers/{phone_number_id}/contact-card/photo","href":"/api-reference/phone-numbers/download-a-numbers-imessage-photo"}]},{"group":"Capability","pages":[{"title":"Check iMessage, RCS or SMS support","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/capability/evaluate_service","href":"/api-reference/capability/check-imessage-rcs-or-sms-support"}]},{"group":"Team Members","pages":[{"title":"List assignable team members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/team-members/assignable","href":"/api-reference/team-members/list-assignable-team-members"}]},{"group":"Partners","pages":[]},{"group":"Workflows","pages":[{"title":"List workflows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workflows","href":"/api-reference/workflows/list-workflows"},{"title":"Enroll a contact in a workflow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workflows/{workflow_id}/enrollments","href":"/api-reference/workflows/enroll-a-contact-in-a-workflow"}]},{"group":"Contacts","pages":[{"title":"List contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts","href":"/api-reference/contacts/list-contacts"},{"title":"Create a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts","href":"/api-reference/contacts/create-a-contact"},{"title":"Create or update a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/import","href":"/api-reference/contacts/create-or-update-a-contact"},{"title":"Search contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/search","href":"/api-reference/contacts/search-contacts"},{"title":"Get a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{contact_id}","href":"/api-reference/contacts/get-a-contact"},{"title":"Delete a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/contacts/{contact_id}","href":"/api-reference/contacts/delete-a-contact"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/contacts/{contact_id}","href":"/api-reference/contacts/update-a-contact"},{"title":"Add a tag to a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/{contact_id}/tags","href":"/api-reference/contacts/add-a-tag-to-a-contact"},{"title":"List a contact's notes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{contact_id}/notes","href":"/api-reference/contacts/list-a-contacts-notes"},{"title":"Add a note to a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/{contact_id}/notes","href":"/api-reference/contacts/add-a-note-to-a-contact"},{"title":"Mark a contact completed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/contacts/{contact_id}/stage","href":"/api-reference/contacts/mark-a-contact-completed"},{"title":"Assign a contact to a team member","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/contacts/{contact_id}/assignee","href":"/api-reference/contacts/assign-a-contact-to-a-team-member"},{"title":"Opt out a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/{contact_id}/suppress","href":"/api-reference/contacts/opt-out-a-contact"},{"title":"Remove a contact's opt-out","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/{contact_id}/unsuppress","href":"/api-reference/contacts/remove-a-contacts-opt-out"},{"title":"Opt out a phone number or email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/suppressions","href":"/api-reference/contacts/opt-out-a-phone-number-or-email"}]},{"group":"Attachments","pages":[{"title":"Upload an attachment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/attachments","href":"/api-reference/attachments/upload-an-attachment"},{"title":"Get an attachment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/attachments/{attachment_id}","href":"/api-reference/attachments/get-an-attachment"},{"title":"Delete an attachment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/attachments/{attachment_id}","href":"/api-reference/attachments/delete-an-attachment"},{"title":"Download an attachment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/attachments/{attachment_id}/content","href":"/api-reference/attachments/download-an-attachment"}]},{"group":"Calls","pages":[{"title":"Download a call recording","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/calls/{call_id}/recording","href":"/api-reference/calls/download-a-call-recording"}]},{"group":"vCards","pages":[{"title":"List saved vCards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/vcards","href":"/api-reference/vcards/list-saved-vcards"},{"title":"Save a vCard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/vcards","href":"/api-reference/vcards/save-a-vcard"},{"title":"Get a saved vCard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/vcards/{vcard_id}","href":"/api-reference/vcards/get-a-saved-vcard"},{"title":"Delete a saved vCard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/vcards/{vcard_id}","href":"/api-reference/vcards/delete-a-saved-vcard"},{"title":"Update a saved vCard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/vcards/{vcard_id}","href":"/api-reference/vcards/update-a-saved-vcard"}]},{"group":"Webhooks","pages":[{"title":"List webhook subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/webhook-subscriptions","href":"/api-reference/webhooks/list-webhook-subscriptions"},{"title":"Create a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/webhook-subscriptions","href":"/api-reference/webhooks/create-a-webhook-subscription"},{"title":"Get a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/webhook-subscriptions/{subscription_id}","href":"/api-reference/webhooks/get-a-webhook-subscription"},{"title":"Delete a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/webhook-subscriptions/{subscription_id}","href":"/api-reference/webhooks/delete-a-webhook-subscription"},{"title":"Update a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/webhook-subscriptions/{subscription_id}","href":"/api-reference/webhooks/update-a-webhook-subscription"},{"title":"List webhook delivery attempts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/webhook-subscriptions/{subscription_id}/deliveries","href":"/api-reference/webhooks/list-webhook-delivery-attempts"},{"title":"Replay a webhook event","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/webhook-subscriptions/{subscription_id}/events/{event_id}/replay","href":"/api-reference/webhooks/replay-a-webhook-event"},{"title":"Webhook event","version":null,"deprecated":null,"openapi":"/api-reference/openapi.yaml webhook publicEvent","href":"/api-reference/webhooks/webhook-event"}]}]},{"group":"Errors","pages":[{"title":"Errors","href":"/errors/index"},{"group":"Request errors","pages":[{"title":"VALIDATION_ERROR","sidebarTitle":"VALIDATION_ERROR","href":"/errors/validation-error"},{"title":"INVALID_PUBLIC_ID","sidebarTitle":"INVALID_PUBLIC_ID","href":"/errors/invalid-public-id"},{"title":"INVALID_CURSOR","sidebarTitle":"INVALID_CURSOR","href":"/errors/invalid-cursor"},{"title":"NOT_FOUND","sidebarTitle":"NOT_FOUND","href":"/errors/not-found"},{"title":"FEATURE_NOT_ENABLED","sidebarTitle":"FEATURE_NOT_ENABLED","href":"/errors/feature-not-enabled"}]},{"group":"Authentication","pages":[{"title":"UNAUTHORIZED","sidebarTitle":"UNAUTHORIZED","href":"/errors/unauthorized"},{"title":"API_KEY_REVOKED","sidebarTitle":"API_KEY_REVOKED","href":"/errors/api-key-revoked"},{"title":"API_KEY_EXPIRED","sidebarTitle":"API_KEY_EXPIRED","href":"/errors/api-key-expired"},{"title":"OAUTH_TOKEN_INVALID","sidebarTitle":"OAUTH_TOKEN_INVALID","href":"/errors/oauth-token-invalid"},{"title":"OAUTH_SCOPE_REQUIRED","sidebarTitle":"OAUTH_SCOPE_REQUIRED","href":"/errors/oauth-scope-required"},{"title":"OAUTH_ROUTE_NOT_ENABLED","sidebarTitle":"OAUTH_ROUTE_NOT_ENABLED","href":"/errors/oauth-route-not-enabled"}]},{"group":"Idempotency","pages":[{"title":"IDEMPOTENCY_REQUEST_MISMATCH","sidebarTitle":"IDEMPOTENCY_REQUEST_MISMATCH","href":"/errors/idempotency-request-mismatch"},{"title":"IDEMPOTENCY_KEY_MISMATCH","sidebarTitle":"IDEMPOTENCY_KEY_MISMATCH","href":"/errors/idempotency-key-mismatch"},{"title":"IDEMPOTENCY_IN_PROGRESS","sidebarTitle":"IDEMPOTENCY_IN_PROGRESS","href":"/errors/idempotency-in-progress"}]},{"group":"Rate limits and capacity","pages":[{"title":"RATE_LIMIT_EXCEEDED","sidebarTitle":"RATE_LIMIT_EXCEEDED","href":"/errors/rate-limit-exceeded"},{"title":"QUEUE_FULL","sidebarTitle":"QUEUE_FULL","href":"/errors/queue-full"},{"title":"ATTACHMENT_CAPACITY_EXCEEDED","sidebarTitle":"ATTACHMENT_CAPACITY_EXCEEDED","href":"/errors/attachment-capacity-exceeded"}]},{"group":"Sending messages","pages":[{"title":"EMAIL_REQUIRES_IMESSAGE","sidebarTitle":"EMAIL_REQUIRES_IMESSAGE","href":"/errors/email-requires-imessage"},{"title":"FIRST_MESSAGE_LINK_NOT_ALLOWED","sidebarTitle":"FIRST_MESSAGE_LINK_NOT_ALLOWED","href":"/errors/first-message-link-not-allowed"},{"title":"PRE_REPLY_CONTENT_BLOCKED","sidebarTitle":"PRE_REPLY_CONTENT_BLOCKED","href":"/errors/pre-reply-content-blocked"},{"title":"PRE_REPLY_LENGTH_EXCEEDED","sidebarTitle":"PRE_REPLY_LENGTH_EXCEEDED","href":"/errors/pre-reply-length-exceeded"},{"title":"PRE_REPLY_LIMIT_REACHED","sidebarTitle":"PRE_REPLY_LIMIT_REACHED","href":"/errors/pre-reply-limit-reached"},{"title":"RECIPIENT_SUPPRESSED","sidebarTitle":"RECIPIENT_SUPPRESSED","href":"/errors/recipient-suppressed"},{"title":"CONTACT_NOT_VERIFIED","sidebarTitle":"CONTACT_NOT_VERIFIED","href":"/errors/contact-not-verified"},{"title":"CONTACT_MUST_TEXT_FIRST","sidebarTitle":"CONTACT_MUST_TEXT_FIRST","href":"/errors/contact-must-text-first"},{"title":"SENDER_SUSPENDED","sidebarTitle":"SENDER_SUSPENDED","href":"/errors/sender-suspended"},{"title":"SENDER_RETIRED","sidebarTitle":"SENDER_RETIRED","href":"/errors/sender-retired"},{"title":"FROM_NUMBER_REQUIRED","sidebarTitle":"FROM_NUMBER_REQUIRED","href":"/errors/from-number-required"}]},{"group":"Chats and groups","pages":[{"title":"UNSUPPORTED_CHAT_OPERATION","sidebarTitle":"UNSUPPORTED_CHAT_OPERATION","href":"/errors/unsupported-chat-operation"},{"title":"REPLY_TARGET_NOT_FOUND","sidebarTitle":"REPLY_TARGET_NOT_FOUND","href":"/errors/reply-target-not-found"},{"title":"REPLY_TARGET_NOT_IN_CHAT","sidebarTitle":"REPLY_TARGET_NOT_IN_CHAT","href":"/errors/reply-target-not-in-chat"},{"title":"REPLY_TARGET_NOT_REPLYABLE","sidebarTitle":"REPLY_TARGET_NOT_REPLYABLE","href":"/errors/reply-target-not-replyable"},{"title":"REPLY_TARGET_NOT_SENT","sidebarTitle":"REPLY_TARGET_NOT_SENT","href":"/errors/reply-target-not-sent"},{"title":"PHONE_NUMBER_REQUIRED","sidebarTitle":"PHONE_NUMBER_REQUIRED","href":"/errors/phone-number-required"},{"title":"LAST_PHONE_NUMBER_IN_GROUP","sidebarTitle":"LAST_PHONE_NUMBER_IN_GROUP","href":"/errors/last-phone-number-in-group"},{"title":"GROUP_MINIMUM_PARTICIPANTS","sidebarTitle":"GROUP_MINIMUM_PARTICIPANTS","href":"/errors/group-minimum-participants"},{"title":"PHONE_NUMBER_HAS_SCHEDULED_MESSAGES","sidebarTitle":"PHONE_NUMBER_HAS_SCHEDULED_MESSAGES","href":"/errors/phone-number-has-scheduled-messages"},{"title":"PHONE_NUMBER_HAS_MESSAGES_SENDING","sidebarTitle":"PHONE_NUMBER_HAS_MESSAGES_SENDING","href":"/errors/phone-number-has-messages-sending"}]},{"group":"Edit and unsend","pages":[{"title":"MESSAGE_NOT_SENT_YET","sidebarTitle":"MESSAGE_NOT_SENT_YET","href":"/errors/message-not-sent-yet"},{"title":"MESSAGE_NOT_EDITABLE","sidebarTitle":"MESSAGE_NOT_EDITABLE","href":"/errors/message-not-editable"},{"title":"EDIT_WINDOW_EXPIRED","sidebarTitle":"EDIT_WINDOW_EXPIRED","href":"/errors/edit-window-expired"},{"title":"EDIT_LIMIT_REACHED","sidebarTitle":"EDIT_LIMIT_REACHED","href":"/errors/edit-limit-reached"},{"title":"UNSEND_WINDOW_EXPIRED","sidebarTitle":"UNSEND_WINDOW_EXPIRED","href":"/errors/unsend-window-expired"},{"title":"EDIT_UNCHANGED","sidebarTitle":"EDIT_UNCHANGED","href":"/errors/edit-unchanged"},{"title":"SENDER_UNAVAILABLE","sidebarTitle":"SENDER_UNAVAILABLE","href":"/errors/sender-unavailable"},{"title":"CHANGE_REJECTED","sidebarTitle":"CHANGE_REJECTED","href":"/errors/change-rejected"},{"title":"CHANGE_UNCONFIRMED","sidebarTitle":"CHANGE_UNCONFIRMED","href":"/errors/change-unconfirmed"}]},{"group":"Media","pages":[{"title":"ATTACHMENT_NOT_READY","sidebarTitle":"ATTACHMENT_NOT_READY","href":"/errors/attachment-not-ready"},{"title":"ATTACHMENT_UPLOAD_INVALID","sidebarTitle":"ATTACHMENT_UPLOAD_INVALID","href":"/errors/attachment-upload-invalid"},{"title":"ATTACHMENT_TOO_LARGE","sidebarTitle":"ATTACHMENT_TOO_LARGE","href":"/errors/attachment-too-large"},{"title":"UNSUPPORTED_ATTACHMENT_TYPE","sidebarTitle":"UNSUPPORTED_ATTACHMENT_TYPE","href":"/errors/unsupported-attachment-type"},{"title":"ATTACHMENT_FETCH_FAILED","sidebarTitle":"ATTACHMENT_FETCH_FAILED","href":"/errors/attachment-fetch-failed"},{"title":"ATTACHMENT_STORAGE_UNAVAILABLE","sidebarTitle":"ATTACHMENT_STORAGE_UNAVAILABLE","href":"/errors/attachment-storage-unavailable"},{"title":"VOICE_MEMO_UNREADABLE","sidebarTitle":"VOICE_MEMO_UNREADABLE","href":"/errors/voice-memo-unreadable"},{"title":"VOICE_MEMO_PROCESSING_UNAVAILABLE","sidebarTitle":"VOICE_MEMO_PROCESSING_UNAVAILABLE","href":"/errors/voice-memo-processing-unavailable"},{"title":"RECORDING_UNAVAILABLE","sidebarTitle":"RECORDING_UNAVAILABLE","href":"/errors/recording-unavailable"}]},{"group":"Contacts","pages":[{"title":"CONTACT_ALREADY_EXISTS","sidebarTitle":"CONTACT_ALREADY_EXISTS","href":"/errors/contact-already-exists"},{"title":"CONTACT_PHONE_LOCKED","sidebarTitle":"CONTACT_PHONE_LOCKED","href":"/errors/contact-phone-locked"},{"title":"CONTACT_MATCH_CONFLICT","sidebarTitle":"CONTACT_MATCH_CONFLICT","href":"/errors/contact-match-conflict"}]},{"group":"Workflows","pages":[{"title":"WORKFLOW_LIFECYCLE_ERROR","sidebarTitle":"WORKFLOW_LIFECYCLE_ERROR","href":"/errors/workflow-lifecycle-error"},{"title":"WORKFLOW_VALIDATION_ERROR","sidebarTitle":"WORKFLOW_VALIDATION_ERROR","href":"/errors/workflow-validation-error"}]},{"group":"Webhooks","pages":[{"title":"UNSUPPORTED_WEBHOOK_EVENT","sidebarTitle":"UNSUPPORTED_WEBHOOK_EVENT","href":"/errors/unsupported-webhook-event"},{"title":"WEBHOOK_URL_INVALID","sidebarTitle":"WEBHOOK_URL_INVALID","href":"/errors/webhook-url-invalid"},{"title":"WEBHOOK_URL_UNSAFE","sidebarTitle":"WEBHOOK_URL_UNSAFE","href":"/errors/webhook-url-unsafe"},{"title":"WEBHOOK_URL_UNRESOLVABLE","sidebarTitle":"WEBHOOK_URL_UNRESOLVABLE","href":"/errors/webhook-url-unresolvable"},{"title":"WEBHOOK_VERSION_UNSUPPORTED","sidebarTitle":"WEBHOOK_VERSION_UNSUPPORTED","href":"/errors/webhook-version-unsupported"},{"title":"WEBHOOK_SUBSCRIPTION_INACTIVE","sidebarTitle":"WEBHOOK_SUBSCRIPTION_INACTIVE","href":"/errors/webhook-subscription-inactive"},{"title":"WEBHOOK_PHONE_NUMBER_EXCLUDED","sidebarTitle":"WEBHOOK_PHONE_NUMBER_EXCLUDED","href":"/errors/webhook-phone-number-excluded"}]},{"group":"Server and availability","pages":[{"title":"CAPABILITY_CHECK_UNAVAILABLE","sidebarTitle":"CAPABILITY_CHECK_UNAVAILABLE","href":"/errors/capability-check-unavailable"},{"title":"QUEUE_UNAVAILABLE","sidebarTitle":"QUEUE_UNAVAILABLE","href":"/errors/queue-unavailable"},{"title":"PHONE_NUMBER_UNAVAILABLE","sidebarTitle":"PHONE_NUMBER_UNAVAILABLE","href":"/errors/phone-number-unavailable"},{"title":"INTERNAL_ERROR","sidebarTitle":"INTERNAL_ERROR","href":"/errors/internal-error"}]},{"group":"Reseller partners","pages":[{"title":"WORKSPACE_HEADER_NOT_ALLOWED","sidebarTitle":"WORKSPACE_HEADER_NOT_ALLOWED","href":"/errors/workspace-header-not-allowed"},{"title":"WORKSPACE_HEADER_REQUIRED","sidebarTitle":"WORKSPACE_HEADER_REQUIRED","href":"/errors/workspace-header-required"},{"title":"PARTNER_ROLE_FORBIDDEN","sidebarTitle":"PARTNER_ROLE_FORBIDDEN","href":"/errors/partner-role-forbidden"},{"title":"CUSTOMER_PAUSED","sidebarTitle":"CUSTOMER_PAUSED","href":"/errors/customer-paused"},{"title":"CUSTOMER_CLOSING","sidebarTitle":"CUSTOMER_CLOSING","href":"/errors/customer-closing"},{"title":"EMBED_PARENT_ORIGIN_NOT_REGISTERED","sidebarTitle":"EMBED_PARENT_ORIGIN_NOT_REGISTERED","href":"/errors/embed-parent-origin-not-registered"},{"title":"EMBED_UNAVAILABLE","sidebarTitle":"EMBED_UNAVAILABLE","href":"/errors/embed-unavailable"},{"title":"CUSTOMER_EXTERNAL_REFERENCE_CONFLICT","sidebarTitle":"CUSTOMER_EXTERNAL_REFERENCE_CONFLICT","href":"/errors/customer-external-reference-conflict"},{"title":"AREA_CODE_UNAVAILABLE","sidebarTitle":"AREA_CODE_UNAVAILABLE","href":"/errors/area-code-unavailable"},{"title":"NO_PHONE_NUMBERS_AVAILABLE","sidebarTitle":"NO_PHONE_NUMBERS_AVAILABLE","href":"/errors/no-phone-numbers-available"},{"title":"TEAM_MEMBER_EMAIL_CONFLICT","sidebarTitle":"TEAM_MEMBER_EMAIL_CONFLICT","href":"/errors/team-member-email-conflict"}]}]}]}]},"basePath":"","title":"Release a phone number (reseller partners) - Blujay API","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}