⚠️ This call is real: it submits the workspace’s identity verification and sends real verification codes to contactEmail (always) and to contactWhatsapp (whenever WhatsApp codes are being sent — contact.requiredChannels says which). Use real data of the account holder only.
Starts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and active in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers 201 with the state in PENDING_CONTACT; then confirm each code with POST /v1/phone-lines/verification/contact/{channel}/confirm. The request returns once the document has been read — usually within seconds, up to about a minute.
The body is JSON (Content-Type: application/json), not multipart: the file goes in document as a base64 data URI. Any other field is refused with 400 UNKNOWN_FIELDS. The file is checked before anything starts: a wrong type or size sends no code and creates nothing.
Submitting again. While the verification is still PENDING_CONTACT, a new submit replaces it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 VERIFICATION_WRONG_STATE (IN_REVIEW or APPROVED — you can already buy — or NEEDS_DOCUMENT — send the document to POST /v1/phone-lines/verification/document instead) or 403 VERIFICATION_REJECTED.
Idempotency (Idempotency-Key is REQUIRED), for 24 hours: same key + same request, first one finished → 200 (not 201) with the workspace’s current state and Idempotent-Replayed: true, nothing sent again; same key while the first is still running → 409 IDEMPOTENCY_KEY_IN_USE; same key, different request (any field, the file included) → 409 IDEMPOTENCY_KEY_REUSED; a request refused as a whole frees the key. Limit: 10 submissions per hour per workspace, this endpoint and …/verification/document together → 429 RATE_LIMITED. Requires a tenant-scoped key, like every /v1/phone-lines endpoint (a number-scoped key gets 403 NUMBER_SCOPE_NOT_ALLOWED). Permission phone_lines:purchase, the same as buying: with an OAuth/MCP token only the workspace OWNER may call it (403 PERMISSION_DENIED otherwise). It is the same verification as the dashboard’s (Phone lines → Buy phone lines): whichever you use, the other sees the result. The response is the verification state object, sent with Cache-Control: no-store; the document number and the contacts come back masked.
Required. Any string up to 255 characters with no control characters — a UUID per submission. Missing or blank → 400 IDEMPOTENCY_KEY_REQUIRED; longer, or with a control character → 400 IDEMPOTENCY_KEY_INVALID. Remembered for 24 hours per workspace: the same key sent by two workspaces never collides.
The account holder's WhatsApp number in international format — country code, area code and number, e.g. +55 11 90000-0000; punctuation is ignored. It receives a code when WHATSAPP is required.
The document file as a base64 data URI: data:<type>;base64,<content>, encoded without line breaks. Types: application/pdf, image/jpeg, image/png, image/webp; at most 10 MB of file (about 14 MB once encoded). For a CNPJ: the CNPJ card (Cartão CNPJ), the articles of incorporation or the registration proof. For a CPF: an ID card (RG), a driver license (CNH) or the CPF registration proof, with the number readable.
NONE (never started), PENDING_CONTACT (waiting for the contact codes and, if document.status says so, a better document), IN_REVIEW (finished, waiting for a person — purchase allowed), APPROVED (verified — purchase allowed), NEEDS_DOCUMENT (the reviewer asked for another document) or REJECTED (final — talk to support). The phone_line.verification_updated webhook uses the same values for the last four.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Pilot Status","description":"Pilot Status — WhatsApp API \u0026 messaging infrastructure. Send and receive WhatsApp messages via REST API, webhooks, MCP server, and dashboard. Official (Meta Cloud API) and unofficial connections.","colors":{"primary":"#19E17D","light":"#2EE98C","dark":"#19E17D"},"logo":{"light":"https://mintcdn.com/iaxp/bFY4-GIf_icRI6gv/images/wordmark-light.svg?fit=max\u0026auto=format\u0026n=bFY4-GIf_icRI6gv\u0026q=85\u0026s=956be78168490eaf8ae153ff8c58b4a7","dark":"https://mintcdn.com/iaxp/OICBZy4RbSGLpCw_/images/wordmark-dark.svg?fit=max\u0026auto=format\u0026n=OICBZy4RbSGLpCw_\u0026q=85\u0026s=9ce419fd878af00cc2d3c22f36da8e23"},"favicon":"https://media.brand.dev/75fcb4cf-8fa0-40cb-b428-c03cb409236b.svg","api":{"playground":{"display":"interactive"}},"background":{"color":{"light":"#FCF5E9","dark":"#0B1419"}},"navbar":{"links":[{"href":"https://wa.me/5585936180633","label":"Support"}],"primary":{"type":"button","label":"Get Started Free","href":"https://pilotstatus.com.br"}},"footer":{"socials":{"x":"https://x.com/pilotstatus"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":"introduction"},{"language":"pt-BR","href":"pt-BR/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"iaxp","hasAudioNarration":false,"actualSubdomain":"iaxp","customDomains":["docs.pilotstatus.com.br"],"gitSource":{"type":"github","owner":"oismaelash","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"1ec0cc30-3ab4-4035-9e9f-8ffb50946e0f","liveDeploymentHistoryId":"6ae4382b4d82e9245e12b590","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4382b4d82e9245e12b590"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae4382b4d82e9245e12b590","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"en","tag":"Playground","count":315},{"language":"pt-BR","tag":"Playground","count":315},{"language":"en","tag":"Endpoints","count":294},{"language":"pt-BR","tag":"Endpoints","count":294},{"language":"en","tag":"Evolution GO","count":72},{"language":"pt-BR","tag":"Evolution GO","count":72},{"language":"en","tag":"Evolution V2","count":69},{"language":"pt-BR","tag":"Evolution V2","count":69},{"language":"en","tag":"API Reference","count":62},{"language":"pt-BR","tag":"Referência da API","count":62},{"language":"en","tag":"Documentation","count":50},{"language":"pt-BR","tag":"Documentação","count":50},{"language":"en","tag":"Phone Lines","count":30},{"language":"en","tag":"Meta Cloud API","count":26},{"language":"pt-BR","tag":"Meta Cloud API","count":26},{"language":"pt-BR","tag":"Linhas telefônicas","count":22},{"language":"en","tag":"Workspace","count":21},{"language":"pt-BR","tag":"Workspace","count":21},{"language":"en","tag":"Numbers","count":18},{"language":"pt-BR","tag":"Números","count":18}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"contato@ismaelnascimento.com"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"playground/phone-lines/submit-verification","slug":"/playground/phone-lines/submit-verification","pageMetadata":{"title":"Submit holder verification","sidebarTitle":"Submit holder verification","openapi":"openapi.json POST /v1/phone-lines/verification","description":"⚠️ **This call is real**: it submits the workspace's identity verification and **sends real verification codes** to `contactEmail` (always) and to `contactWhatsapp` (whenever WhatsApp codes are being sent — `contact.requiredChannels` says which). Use real data of the account holder only.\n\nStarts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and **active** in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers **201** with the state in `PENDING_CONTACT`; then confirm each code with `POST /v1/phone-lines/verification/contact/{channel}/confirm`. The request returns once the document has been read — usually within seconds, up to about a minute.\n\nThe body is **JSON** (`Content-Type: application/json`), not multipart: the file goes in `document` as a base64 data URI. Any other field is refused with 400 `UNKNOWN_FIELDS`. The file is checked **before anything starts**: a wrong type or size sends no code and creates nothing.\n\n**Submitting again.** While the verification is still `PENDING_CONTACT`, a new submit **replaces** it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 `VERIFICATION_WRONG_STATE` (`IN_REVIEW` or `APPROVED` — you can already buy — or `NEEDS_DOCUMENT` — send the document to `POST /v1/phone-lines/verification/document` instead) or 403 `VERIFICATION_REJECTED`.\n\n**Idempotency** (`Idempotency-Key` is REQUIRED), for 24 hours: same key + same request, first one finished → **200** (not 201) with the workspace's current state and `Idempotent-Replayed: true`, nothing sent again; same key while the first is still running → 409 `IDEMPOTENCY_KEY_IN_USE`; same key, different request (any field, the file included) → 409 `IDEMPOTENCY_KEY_REUSED`; a request refused as a whole frees the key. **Limit:** 10 submissions per hour per workspace, this endpoint and `…/verification/document` together → 429 `RATE_LIMITED`. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","href":"/playground/phone-lines/submit-verification"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"⚠️ \", _jsx(_components.strong, {\n children: \"This call is real\"\n }), \": it submits the workspace’s identity verification and \", _jsx(_components.strong, {\n children: \"sends real verification codes\"\n }), \" to \", _jsx(_components.code, {\n children: \"contactEmail\"\n }), \" (always) and to \", _jsx(_components.code, {\n children: \"contactWhatsapp\"\n }), \" (whenever WhatsApp codes are being sent — \", _jsx(_components.code, {\n children: \"contact.requiredChannels\"\n }), \" says which). Use real data of the account holder only.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Starts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and \", _jsx(_components.strong, {\n children: \"active\"\n }), \" in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers \", _jsx(_components.strong, {\n children: \"201\"\n }), \" with the state in \", _jsx(_components.code, {\n children: \"PENDING_CONTACT\"\n }), \"; then confirm each code with \", _jsx(_components.code, {\n children: \"POST /v1/phone-lines/verification/contact/{channel}/confirm\"\n }), \". The request returns once the document has been read — usually within seconds, up to about a minute.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The body is \", _jsx(_components.strong, {\n children: \"JSON\"\n }), \" (\", _jsx(_components.code, {\n children: \"Content-Type: application/json\"\n }), \"), not multipart: the file goes in \", _jsx(_components.code, {\n children: \"document\"\n }), \" as a base64 data URI. Any other field is refused with 400 \", _jsx(_components.code, {\n children: \"UNKNOWN_FIELDS\"\n }), \". The file is checked \", _jsx(_components.strong, {\n children: \"before anything starts\"\n }), \": a wrong type or size sends no code and creates nothing.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Submitting again.\"\n }), \" While the verification is still \", _jsx(_components.code, {\n children: \"PENDING_CONTACT\"\n }), \", a new submit \", _jsx(_components.strong, {\n children: \"replaces\"\n }), \" it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 \", _jsx(_components.code, {\n children: \"VERIFICATION_WRONG_STATE\"\n }), \" (\", _jsx(_components.code, {\n children: \"IN_REVIEW\"\n }), \" or \", _jsx(_components.code, {\n children: \"APPROVED\"\n }), \" — you can already buy — or \", _jsx(_components.code, {\n children: \"NEEDS_DOCUMENT\"\n }), \" — send the document to \", _jsx(_components.code, {\n children: \"POST /v1/phone-lines/verification/document\"\n }), \" instead) or 403 \", _jsx(_components.code, {\n children: \"VERIFICATION_REJECTED\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Idempotency\"\n }), \" (\", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" is REQUIRED), for 24 hours: same key + same request, first one finished → \", _jsx(_components.strong, {\n children: \"200\"\n }), \" (not 201) with the workspace’s current state and \", _jsx(_components.code, {\n children: \"Idempotent-Replayed: true\"\n }), \", nothing sent again; same key while the first is still running → 409 \", _jsx(_components.code, {\n children: \"IDEMPOTENCY_KEY_IN_USE\"\n }), \"; same key, different request (any field, the file included) → 409 \", _jsx(_components.code, {\n children: \"IDEMPOTENCY_KEY_REUSED\"\n }), \"; a request refused as a whole frees the key. \", _jsx(_components.strong, {\n children: \"Limit:\"\n }), \" 10 submissions per hour per workspace, this endpoint and \", _jsx(_components.code, {\n children: \"…/verification/document\"\n }), \" together → 429 \", _jsx(_components.code, {\n children: \"RATE_LIMITED\"\n }), \". Requires a \", _jsx(_components.strong, {\n children: \"tenant-scoped\"\n }), \" key, like every \", _jsx(_components.code, {\n children: \"/v1/phone-lines\"\n }), \" endpoint (a number-scoped key gets \", _jsx(_components.code, {\n children: \"403 NUMBER_SCOPE_NOT_ALLOWED\"\n }), \"). Permission \", _jsx(_components.code, {\n children: \"phone_lines:purchase\"\n }), \", the same as buying: with an OAuth/MCP token only the workspace \", _jsx(_components.strong, {\n children: \"OWNER\"\n }), \" may call it (\", _jsx(_components.code, {\n children: \"403 PERMISSION_DENIED\"\n }), \" otherwise). It is the same verification as the dashboard’s (\", _jsx(_components.strong, {\n children: \"Phone lines\"\n }), \" → \", _jsx(_components.strong, {\n children: \"Buy phone lines\"\n }), \"): whichever you use, the other sees the result. The response is the verification state object, sent with \", _jsx(_components.code, {\n children: \"Cache-Control: no-store\"\n }), \"; the document number and the contacts come back masked.\"]\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{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Warning}=_components;if(!Warning)_missingMdxReference(`Warning`,true);return _jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`This submits your workspace’s real identity verification.`}),` Send only the account holder’s true data and document.`]})})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Submit holder verification","sidebarTitle":"Submit holder verification","openapi":"openapi.json POST /v1/phone-lines/verification","description":"⚠️ **This call is real**: it submits the workspace's identity verification and **sends real verification codes** to `contactEmail` (always) and to `contactWhatsapp` (whenever WhatsApp codes are being sent — `contact.requiredChannels` says which). Use real data of the account holder only.\n\nStarts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and **active** in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers **201** with the state in `PENDING_CONTACT`; then confirm each code with `POST /v1/phone-lines/verification/contact/{channel}/confirm`. The request returns once the document has been read — usually within seconds, up to about a minute.\n\nThe body is **JSON** (`Content-Type: application/json`), not multipart: the file goes in `document` as a base64 data URI. Any other field is refused with 400 `UNKNOWN_FIELDS`. The file is checked **before anything starts**: a wrong type or size sends no code and creates nothing.\n\n**Submitting again.** While the verification is still `PENDING_CONTACT`, a new submit **replaces** it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 `VERIFICATION_WRONG_STATE` (`IN_REVIEW` or `APPROVED` — you can already buy — or `NEEDS_DOCUMENT` — send the document to `POST /v1/phone-lines/verification/document` instead) or 403 `VERIFICATION_REJECTED`.\n\n**Idempotency** (`Idempotency-Key` is REQUIRED), for 24 hours: same key + same request, first one finished → **200** (not 201) with the workspace's current state and `Idempotent-Replayed: true`, nothing sent again; same key while the first is still running → 409 `IDEMPOTENCY_KEY_IN_USE`; same key, different request (any field, the file included) → 409 `IDEMPOTENCY_KEY_REUSED`; a request refused as a whole frees the key. **Limit:** 10 submissions per hour per workspace, this endpoint and `…/verification/document` together → 429 `RATE_LIMITED`. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","href":"/playground/phone-lines/submit-verification"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Submit holder verification","description":"⚠️ **This call is real**: it submits the workspace's identity verification and **sends real verification codes** to `contactEmail` (always) and to `contactWhatsapp` (whenever WhatsApp codes are being sent — `contact.requiredChannels` says which). Use real data of the account holder only.\n\nStarts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and **active** in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers **201** with the state in `PENDING_CONTACT`; then confirm each code with `POST /v1/phone-lines/verification/contact/{channel}/confirm`. The request returns once the document has been read — usually within seconds, up to about a minute.\n\nThe body is **JSON** (`Content-Type: application/json`), not multipart: the file goes in `document` as a base64 data URI. Any other field is refused with 400 `UNKNOWN_FIELDS`. The file is checked **before anything starts**: a wrong type or size sends no code and creates nothing.\n\n**Submitting again.** While the verification is still `PENDING_CONTACT`, a new submit **replaces** it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 `VERIFICATION_WRONG_STATE` (`IN_REVIEW` or `APPROVED` — you can already buy — or `NEEDS_DOCUMENT` — send the document to `POST /v1/phone-lines/verification/document` instead) or 403 `VERIFICATION_REJECTED`.\n\n**Idempotency** (`Idempotency-Key` is REQUIRED), for 24 hours: same key + same request, first one finished → **200** (not 201) with the workspace's current state and `Idempotent-Replayed: true`, nothing sent again; same key while the first is still running → 409 `IDEMPOTENCY_KEY_IN_USE`; same key, different request (any field, the file included) → 409 `IDEMPOTENCY_KEY_REUSED`; a request refused as a whole frees the key. **Limit:** 10 submissions per hour per workspace, this endpoint and `…/verification/document` together → 429 `RATE_LIMITED`. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","tags":["Phone Lines"],"operationId":"post_phone_lines_verification","parameters":["3497c8ae-be53-4208-8251-20188e997bf1"],"requestBody":"0b16c401-3b90-4d28-8399-37d161afd1f7","responses":{"200":"7e6e18a8-695f-47cb-9757-b818ff91b6b9","201":"4f572bf6-d44c-41ca-b1a5-d350a166a244","400":"5b4070a7-cc0e-445a-8e5c-b2444d09e95d","401":"400ccbab-070e-4b47-b866-4d0ded8d0fd4","403":"c7800e26-ef32-451a-9b3d-33d161aeda11","409":"72ad8290-d81e-483e-b93e-8fc4931d1a77","413":"ac83d519-3bfc-492a-8ea9-44545477cfde","429":"d001e4f6-da1b-47f2-9d26-8c30a62f7699","500":"5d392d97-8725-4ef6-a090-52e36b9fcf0a","503":"2f2c6c22-5332-4220-91c8-8c620901daeb"},"method":"post","type":"path","servers":["0bf83696-f5dc-4225-bba6-c546ef6a5f2e"],"security":["b34c6d41-17b1-4f72-b7c0-cf92b9171978","b82efe59-eefd-407a-8cf2-c3569ed12bdc"],"path":"/v1/phone-lines/verification","baseUrlOptions":["https://pilotstatus.com.br"],"title":"Submit holder verification","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3497c8ae-be53-4208-8251-20188e997bf1":{"name":"Idempotency-Key","in":"header","required":true,"description":"**Required.** Any string up to **255 characters** with no control characters — a UUID per submission. Missing or blank → 400 `IDEMPOTENCY_KEY_REQUIRED`; longer, or with a control character → 400 `IDEMPOTENCY_KEY_INVALID`. Remembered for 24 hours per workspace: the same key sent by two workspaces never collides.","schema":{"type":"string","maxLength":255,"isRequired":true,"description":"**Required.** Any string up to **255 characters** with no control characters — a UUID per submission. Missing or blank → 400 `IDEMPOTENCY_KEY_REQUIRED`; longer, or with a control character → 400 `IDEMPOTENCY_KEY_INVALID`. Remembered for 24 hours per workspace: the same key sent by two workspaces never collides.","uniqueKey":"","typeLabel":"string"},"example":"5f0c6d2e-9a41-4d1b-8f7e-2b3c4d5e6f70"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["documentType","documentNumber","contactEmail","contactWhatsapp","document"],"additionalProperties":false,"properties":{"documentType":{"type":"string","enum":["CNPJ","CPF"],"description":"`\"CNPJ\"` or `\"CPF\"`.","example":"CNPJ","isRequired":true,"uniqueKey":"documentType","typeLabel":"enum\u003cstring>"},"documentNumber":{"type":"string","description":"The CNPJ or CPF, with or without punctuation (`11.222.333/0001-81` or `11222333000181`). Alphanumeric CNPJs are accepted.","example":"11.222.333/0001-81","isRequired":true,"uniqueKey":"documentNumber","typeLabel":"string"},"contactEmail":{"type":"string","format":"email","maxLength":254,"description":"The account holder's contact e-mail, up to 254 characters. It always receives a code.","example":"ana@example.com","isRequired":true,"uniqueKey":"contactEmail","typeLabel":"string\u003cemail>"},"contactWhatsapp":{"type":"string","description":"The account holder's WhatsApp number in international format — country code, area code and number, e.g. `+55 11 90000-0000`; punctuation is ignored. It receives a code when `WHATSAPP` is required.","example":"+55 11 90000-0000","isRequired":true,"uniqueKey":"contactWhatsapp","typeLabel":"string"},"document":{"type":"string","description":"The document file as a **base64 data URI**: `data:\u003ctype>;base64,\u003ccontent>`, encoded without line breaks. Types: `application/pdf`, `image/jpeg`, `image/png`, `image/webp`; at most **10 MB** of file (about 14 MB once encoded). For a CNPJ: the CNPJ card (*Cartão CNPJ*), the articles of incorporation or the registration proof. For a CPF: an ID card (RG), a driver license (CNH) or the CPF registration proof, with the number readable.","example":"data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCg==","isRequired":true,"uniqueKey":"document","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"documentType":"CNPJ","documentNumber":"11.222.333/0001-81","contactEmail":"ana@example.com","contactWhatsapp":"+55 11 90000-0000","document":"data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCg=="},"examples":{"Example":{"title":"Example","value":{"documentType":"CNPJ","documentNumber":"11.222.333/0001-81","contactEmail":"ana@example.com","contactWhatsapp":"+55 11 90000-0000","document":"data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCg=="}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"7e6e18a8-695f-47cb-9757-b818ff91b6b9":{"description":"Idempotent replay: the same `Idempotency-Key` and the same request already finished. The workspace's **current** state; nothing was started or sent again.","headers":{"Cache-Control":{"description":"Always `no-store`.","schema":{"type":"string","enum":["no-store"]}},"Idempotent-Replayed":{"description":"`true` on a replay.","schema":{"type":"string","enum":["true"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["NONE","PENDING_CONTACT","IN_REVIEW","APPROVED","NEEDS_DOCUMENT","REJECTED"],"description":"`NONE` (never started), `PENDING_CONTACT` (waiting for the contact codes and, if `document.status` says so, a better document), `IN_REVIEW` (finished, waiting for a person — purchase allowed), `APPROVED` (verified — purchase allowed), `NEEDS_DOCUMENT` (the reviewer asked for another document) or `REJECTED` (final — talk to support). The `phone_line.verification_updated` webhook uses the same values for the last four.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"canPurchase":{"type":"boolean","description":"Whether `POST /v1/phone-lines` is allowed now: `true` for `APPROVED` and `IN_REVIEW`.","uniqueKey":"canPurchase","typeLabel":"boolean"},"verification":{"oneOf":[{"type":"object","description":"`null` for `NONE`.","properties":{"id":{"type":"string","description":"Identifies the verification — the `verificationId` of the webhook event, and what support will ask for.","uniqueKey":"verification.oneOf.0.id","typeLabel":"string"},"documentType":{"type":"string","enum":["CNPJ","CPF"],"uniqueKey":"verification.oneOf.0.documentType","typeLabel":"enum\u003cstring>"},"documentNumber":{"type":"string","description":"**Masked**: `**.***.333/0001-**` (CNPJ) or `***.456.789-**` (CPF). The full number is never returned.","uniqueKey":"verification.oneOf.0.documentNumber","typeLabel":"string"},"legalName":{"oneOf":[{"type":"string","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted.","uniqueKey":"verification.oneOf.0.legalName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted.","uniqueKey":"verification.oneOf.0.legalName.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.legalName","typeLabel":"string | null"},"contact":{"type":"object","properties":{"email":{"type":"string","description":"The contact e-mail, masked (`a***@example.com`).","uniqueKey":"verification.oneOf.0.contact.email","typeLabel":"string"},"whatsapp":{"oneOf":[{"type":"string","description":"The contact WhatsApp, masked (`+5511****0000`).","uniqueKey":"verification.oneOf.0.contact.whatsapp.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact WhatsApp, masked (`+5511****0000`).","uniqueKey":"verification.oneOf.0.contact.whatsapp.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.contact.whatsapp","typeLabel":"string | null"},"requiredChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"],"uniqueKey":"verification.oneOf.0.contact.requiredChannels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"`WHATSAPP` and/or `EMAIL`: the codes this verification needs. Frozen when the verification starts. Through the API `EMAIL` is always required.","uniqueKey":"verification.oneOf.0.contact.requiredChannels","typeLabel":"enum\u003cstring>[]"},"confirmedChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"],"uniqueKey":"verification.oneOf.0.contact.confirmedChannels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The required channels already confirmed.","uniqueKey":"verification.oneOf.0.contact.confirmedChannels","typeLabel":"enum\u003cstring>[]"},"pendingChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"],"uniqueKey":"verification.oneOf.0.contact.pendingChannels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The required channels still waiting for their code.","uniqueKey":"verification.oneOf.0.contact.pendingChannels","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"verification.oneOf.0.contact","typeLabel":"object"},"document":{"type":"object","properties":{"status":{"type":"string","enum":["RECEIVED","UNREADABLE","UNCLEAR","REQUESTED","MISSING"],"description":"`RECEIVED` (the document is in), `UNREADABLE` (we found no number in the file), `UNCLEAR` (we found numbers, but none we could trust), `REQUESTED` (the reviewer asked for another document) or `MISSING` (no document yet). For the last four, send a new document with `POST /v1/phone-lines/verification/document`.","uniqueKey":"verification.oneOf.0.document.status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"verification.oneOf.0.document","typeLabel":"object"},"reviewReason":{"oneOf":[{"type":"string","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise.","uniqueKey":"verification.oneOf.0.reviewReason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise.","uniqueKey":"verification.oneOf.0.reviewReason.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.reviewReason","typeLabel":"enum\u003cstring> | null"},"reviewNote":{"oneOf":[{"type":"string","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too.","uniqueKey":"verification.oneOf.0.reviewNote.oneOf.0","typeLabel":"string"},{"type":"null","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too.","uniqueKey":"verification.oneOf.0.reviewNote.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.reviewNote","typeLabel":"string | null"},"createdAt":{"type":"string","format":"date-time","description":"ISO 8601 — when this verification was submitted.","uniqueKey":"verification.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"ISO 8601 — its last change.","uniqueKey":"verification.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"verification.oneOf.0","typeLabel":"object"},{"type":"null","description":"`null` for `NONE`.","properties":{"id":{"type":"string","description":"Identifies the verification — the `verificationId` of the webhook event, and what support will ask for."},"documentType":{"type":"string","enum":["CNPJ","CPF"]},"documentNumber":{"type":"string","description":"**Masked**: `**.***.333/0001-**` (CNPJ) or `***.456.789-**` (CPF). The full number is never returned."},"legalName":{"oneOf":[{"type":"string","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted."},{"type":"null","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted."}]},"contact":{"type":"object","properties":{"email":{"type":"string","description":"The contact e-mail, masked (`a***@example.com`)."},"whatsapp":{"oneOf":[{"type":"string","description":"The contact WhatsApp, masked (`+5511****0000`)."},{"type":"null","description":"The contact WhatsApp, masked (`+5511****0000`)."}]},"requiredChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"]},"description":"`WHATSAPP` and/or `EMAIL`: the codes this verification needs. Frozen when the verification starts. Through the API `EMAIL` is always required."},"confirmedChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"]},"description":"The required channels already confirmed."},"pendingChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"]},"description":"The required channels still waiting for their code."}}},"document":{"type":"object","properties":{"status":{"type":"string","enum":["RECEIVED","UNREADABLE","UNCLEAR","REQUESTED","MISSING"],"description":"`RECEIVED` (the document is in), `UNREADABLE` (we found no number in the file), `UNCLEAR` (we found numbers, but none we could trust), `REQUESTED` (the reviewer asked for another document) or `MISSING` (no document yet). For the last four, send a new document with `POST /v1/phone-lines/verification/document`."}}},"reviewReason":{"oneOf":[{"type":"string","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise."},{"type":"null","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise."}]},"reviewNote":{"oneOf":[{"type":"string","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too."},{"type":"null","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too."}]},"createdAt":{"type":"string","format":"date-time","description":"ISO 8601 — when this verification was submitted."},"updatedAt":{"type":"string","format":"date-time","description":"ISO 8601 — its last change."}},"uniqueKey":"verification.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":"PENDING_CONTACT","canPurchase":false,"verification":{"id":"cmg5k0v3r0000vf8example7k","documentType":"CNPJ","documentNumber":"**.***.333/0001-**","legalName":"ACME LTDA","contact":{"email":"a***@example.com","whatsapp":"+5511****0000","requiredChannels":["WHATSAPP","EMAIL"],"confirmedChannels":["WHATSAPP"],"pendingChannels":["EMAIL"]},"document":{"status":"RECEIVED"},"reviewReason":null,"reviewNote":null,"createdAt":"2026-10-01T13:55:02.000Z","updatedAt":"2026-10-01T13:56:40.000Z"}},"examples":{"Example":{"title":"Example","value":{"status":"PENDING_CONTACT","canPurchase":false,"verification":{"id":"cmg5k0v3r0000vf8example7k","documentType":"CNPJ","documentNumber":"**.***.333/0001-**","legalName":"ACME LTDA","contact":{"email":"a***@example.com","whatsapp":"+5511****0000","requiredChannels":["WHATSAPP","EMAIL"],"confirmedChannels":["WHATSAPP"],"pendingChannels":["EMAIL"]},"document":{"status":"RECEIVED"},"reviewReason":null,"reviewNote":null,"createdAt":"2026-10-01T13:55:02.000Z","updatedAt":"2026-10-01T13:56:40.000Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"4f572bf6-d44c-41ca-b1a5-d350a166a244":{"description":"Verification started: the codes are on their way (`PENDING_CONTACT`).","headers":{"Cache-Control":{"description":"Always `no-store`.","schema":{"type":"string","enum":["no-store"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["NONE","PENDING_CONTACT","IN_REVIEW","APPROVED","NEEDS_DOCUMENT","REJECTED"],"description":"`NONE` (never started), `PENDING_CONTACT` (waiting for the contact codes and, if `document.status` says so, a better document), `IN_REVIEW` (finished, waiting for a person — purchase allowed), `APPROVED` (verified — purchase allowed), `NEEDS_DOCUMENT` (the reviewer asked for another document) or `REJECTED` (final — talk to support). The `phone_line.verification_updated` webhook uses the same values for the last four.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"canPurchase":{"type":"boolean","description":"Whether `POST /v1/phone-lines` is allowed now: `true` for `APPROVED` and `IN_REVIEW`.","uniqueKey":"canPurchase","typeLabel":"boolean"},"verification":{"oneOf":[{"type":"object","description":"`null` for `NONE`.","properties":{"id":{"type":"string","description":"Identifies the verification — the `verificationId` of the webhook event, and what support will ask for.","uniqueKey":"verification.oneOf.0.id","typeLabel":"string"},"documentType":{"type":"string","enum":["CNPJ","CPF"],"uniqueKey":"verification.oneOf.0.documentType","typeLabel":"enum\u003cstring>"},"documentNumber":{"type":"string","description":"**Masked**: `**.***.333/0001-**` (CNPJ) or `***.456.789-**` (CPF). The full number is never returned.","uniqueKey":"verification.oneOf.0.documentNumber","typeLabel":"string"},"legalName":{"oneOf":[{"type":"string","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted.","uniqueKey":"verification.oneOf.0.legalName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted.","uniqueKey":"verification.oneOf.0.legalName.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.legalName","typeLabel":"string | null"},"contact":{"type":"object","properties":{"email":{"type":"string","description":"The contact e-mail, masked (`a***@example.com`).","uniqueKey":"verification.oneOf.0.contact.email","typeLabel":"string"},"whatsapp":{"oneOf":[{"type":"string","description":"The contact WhatsApp, masked (`+5511****0000`).","uniqueKey":"verification.oneOf.0.contact.whatsapp.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact WhatsApp, masked (`+5511****0000`).","uniqueKey":"verification.oneOf.0.contact.whatsapp.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.contact.whatsapp","typeLabel":"string | null"},"requiredChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"],"uniqueKey":"verification.oneOf.0.contact.requiredChannels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"`WHATSAPP` and/or `EMAIL`: the codes this verification needs. Frozen when the verification starts. Through the API `EMAIL` is always required.","uniqueKey":"verification.oneOf.0.contact.requiredChannels","typeLabel":"enum\u003cstring>[]"},"confirmedChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"],"uniqueKey":"verification.oneOf.0.contact.confirmedChannels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The required channels already confirmed.","uniqueKey":"verification.oneOf.0.contact.confirmedChannels","typeLabel":"enum\u003cstring>[]"},"pendingChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"],"uniqueKey":"verification.oneOf.0.contact.pendingChannels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The required channels still waiting for their code.","uniqueKey":"verification.oneOf.0.contact.pendingChannels","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"verification.oneOf.0.contact","typeLabel":"object"},"document":{"type":"object","properties":{"status":{"type":"string","enum":["RECEIVED","UNREADABLE","UNCLEAR","REQUESTED","MISSING"],"description":"`RECEIVED` (the document is in), `UNREADABLE` (we found no number in the file), `UNCLEAR` (we found numbers, but none we could trust), `REQUESTED` (the reviewer asked for another document) or `MISSING` (no document yet). For the last four, send a new document with `POST /v1/phone-lines/verification/document`.","uniqueKey":"verification.oneOf.0.document.status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"verification.oneOf.0.document","typeLabel":"object"},"reviewReason":{"oneOf":[{"type":"string","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise.","uniqueKey":"verification.oneOf.0.reviewReason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise.","uniqueKey":"verification.oneOf.0.reviewReason.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.reviewReason","typeLabel":"enum\u003cstring> | null"},"reviewNote":{"oneOf":[{"type":"string","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too.","uniqueKey":"verification.oneOf.0.reviewNote.oneOf.0","typeLabel":"string"},{"type":"null","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too.","uniqueKey":"verification.oneOf.0.reviewNote.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification.oneOf.0.reviewNote","typeLabel":"string | null"},"createdAt":{"type":"string","format":"date-time","description":"ISO 8601 — when this verification was submitted.","uniqueKey":"verification.oneOf.0.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"ISO 8601 — its last change.","uniqueKey":"verification.oneOf.0.updatedAt","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"verification.oneOf.0","typeLabel":"object"},{"type":"null","description":"`null` for `NONE`.","properties":{"id":{"type":"string","description":"Identifies the verification — the `verificationId` of the webhook event, and what support will ask for."},"documentType":{"type":"string","enum":["CNPJ","CPF"]},"documentNumber":{"type":"string","description":"**Masked**: `**.***.333/0001-**` (CNPJ) or `***.456.789-**` (CPF). The full number is never returned."},"legalName":{"oneOf":[{"type":"string","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted."},{"type":"null","description":"The company name from the public registry (CNPJ). `null` for a CPF, and when the registry could not be consulted."}]},"contact":{"type":"object","properties":{"email":{"type":"string","description":"The contact e-mail, masked (`a***@example.com`)."},"whatsapp":{"oneOf":[{"type":"string","description":"The contact WhatsApp, masked (`+5511****0000`)."},{"type":"null","description":"The contact WhatsApp, masked (`+5511****0000`)."}]},"requiredChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"]},"description":"`WHATSAPP` and/or `EMAIL`: the codes this verification needs. Frozen when the verification starts. Through the API `EMAIL` is always required."},"confirmedChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"]},"description":"The required channels already confirmed."},"pendingChannels":{"type":"array","items":{"type":"string","enum":["WHATSAPP","EMAIL"]},"description":"The required channels still waiting for their code."}}},"document":{"type":"object","properties":{"status":{"type":"string","enum":["RECEIVED","UNREADABLE","UNCLEAR","REQUESTED","MISSING"],"description":"`RECEIVED` (the document is in), `UNREADABLE` (we found no number in the file), `UNCLEAR` (we found numbers, but none we could trust), `REQUESTED` (the reviewer asked for another document) or `MISSING` (no document yet). For the last four, send a new document with `POST /v1/phone-lines/verification/document`."}}},"reviewReason":{"oneOf":[{"type":"string","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise."},{"type":"null","enum":["REGISTRY_UNAVAILABLE","DOCUMENT_CHECK",null],"description":"Only while `IN_REVIEW`: `REGISTRY_UNAVAILABLE` (the CNPJ registry could not be consulted) or `DOCUMENT_CHECK` (the document needs a look). `null` otherwise."}]},"reviewNote":{"oneOf":[{"type":"string","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too."},{"type":"null","description":"The reviewer's message, on `REJECTED` and `NEEDS_DOCUMENT` only. `null` otherwise, and it may be `null` there too."}]},"createdAt":{"type":"string","format":"date-time","description":"ISO 8601 — when this verification was submitted."},"updatedAt":{"type":"string","format":"date-time","description":"ISO 8601 — its last change."}},"uniqueKey":"verification.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":"PENDING_CONTACT","canPurchase":false,"verification":{"id":"cmg5k0v3r0000vf8example7k","documentType":"CNPJ","documentNumber":"**.***.333/0001-**","legalName":"ACME LTDA","contact":{"email":"a***@example.com","whatsapp":"+5511****0000","requiredChannels":["WHATSAPP","EMAIL"],"confirmedChannels":[],"pendingChannels":["WHATSAPP","EMAIL"]},"document":{"status":"RECEIVED"},"reviewReason":null,"reviewNote":null,"createdAt":"2026-10-01T13:55:02.000Z","updatedAt":"2026-10-01T13:55:09.000Z"}},"examples":{"Example":{"title":"Example","value":{"status":"PENDING_CONTACT","canPurchase":false,"verification":{"id":"cmg5k0v3r0000vf8example7k","documentType":"CNPJ","documentNumber":"**.***.333/0001-**","legalName":"ACME LTDA","contact":{"email":"a***@example.com","whatsapp":"+5511****0000","requiredChannels":["WHATSAPP","EMAIL"],"confirmedChannels":[],"pendingChannels":["WHATSAPP","EMAIL"]},"document":{"status":"RECEIVED"},"reviewReason":null,"reviewNote":null,"createdAt":"2026-10-01T13:55:02.000Z","updatedAt":"2026-10-01T13:55:09.000Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"5b4070a7-cc0e-445a-8e5c-b2444d09e95d":{"description":"Validation: missing/invalid `Idempotency-Key`, body not a JSON object (`INVALID_BODY`), unknown field (`UNKNOWN_FIELDS`, `details.unknownFields`), `INVALID_DOCUMENT_TYPE`, `INVALID_DOCUMENT_NUMBER` (missing, or wrong check digits), `INVALID_CONTACT_EMAIL`, `INVALID_CONTACT_WHATSAPP`, `INVALID_DOCUMENT` (not a base64 data URI), `DOCUMENT_TYPE_UNSUPPORTED` (not PDF/JPEG/PNG/WEBP), `REGISTRY_NOT_FOUND` (CNPJ not in the public registry) or `REGISTRY_INACTIVE` (CNPJ not active: lines cannot be sold to it).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"English sentence and Portuguese sentence separated by ` | `.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code — branch on it, never on the text.","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","description":"Validation errors only: `unknownFields` (array) or `maxLength` (number).","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"idempotencyKeyRequired":{"title":"idempotencyKeyRequired","value":{"error":"Send an Idempotency-Key header (for example a UUID) so a retry cannot start the verification twice. | Envie o header Idempotency-Key (por exemplo um UUID) para que uma nova tentativa não inicie a verificação duas vezes.","code":"IDEMPOTENCY_KEY_REQUIRED"}},"idempotencyKeyInvalid":{"title":"idempotencyKeyInvalid","value":{"error":"Idempotency-Key must have at most 255 characters and no control characters. | Idempotency-Key deve ter no máximo 255 caracteres e nenhum caractere de controle.","code":"IDEMPOTENCY_KEY_INVALID","details":{"maxLength":255}}},"unknownFields":{"title":"unknownFields","value":{"error":"Unknown field(s): whatsapp. Accepted: documentType, documentNumber, contactEmail, contactWhatsapp, document. | Campo(s) desconhecido(s): whatsapp. Aceitos: documentType, documentNumber, contactEmail, contactWhatsapp, document.","code":"UNKNOWN_FIELDS","details":{"unknownFields":["whatsapp"]}}},"invalidDocumentType":{"title":"invalidDocumentType","value":{"error":"documentType must be \"CPF\" or \"CNPJ\". | documentType deve ser \"CPF\" ou \"CNPJ\".","code":"INVALID_DOCUMENT_TYPE"}},"invalidDocumentNumber":{"title":"invalidDocumentNumber","value":{"error":"The document number is not valid. | O número do documento não é válido.","code":"INVALID_DOCUMENT_NUMBER"}},"invalidContactEmail":{"title":"invalidContactEmail","value":{"error":"contactEmail must be a valid e-mail address: the verification code is sent to it. | contactEmail deve ser um e-mail válido: o código de verificação é enviado para ele.","code":"INVALID_CONTACT_EMAIL"}},"invalidContactWhatsapp":{"title":"invalidContactWhatsapp","value":{"error":"contactWhatsapp must be a WhatsApp number with country and area code, e.g. +55 11 99999-8888. | contactWhatsapp deve ser um número de WhatsApp com país e DDD, ex.: +55 11 99999-8888.","code":"INVALID_CONTACT_WHATSAPP"}},"invalidDocument":{"title":"invalidDocument","value":{"error":"document must be the file as a base64 data URI, e.g. data:application/pdf;base64,JVBERi0x… | document deve ser o arquivo como data URI em base64, ex.: data:application/pdf;base64,JVBERi0x…","code":"INVALID_DOCUMENT"}},"documentTypeUnsupported":{"title":"documentTypeUnsupported","value":{"error":"Send a PDF, JPG, PNG or WEBP file. | Envie um arquivo PDF, JPG, PNG ou WEBP.","code":"DOCUMENT_TYPE_UNSUPPORTED"}},"registryNotFound":{"title":"registryNotFound","value":{"error":"This CNPJ was not found in the public registry. | Este CNPJ não foi encontrado na Receita.","code":"REGISTRY_NOT_FOUND"}},"registryInactive":{"title":"registryInactive","value":{"error":"This CNPJ is not active in the public registry, so lines cannot be sold to it. | Este CNPJ não está ativo na Receita, então não é possível vender linhas para ele.","code":"REGISTRY_INACTIVE"}}},"exampleType":"examples"}},"exampleType":"examples"},"400ccbab-070e-4b47-b866-4d0ded8d0fd4":{"description":"Missing or invalid `x-api-key` / `x-api-key-id` header (or OAuth Bearer token). No `code` in this body.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Invalid API key"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid API key"}}},"exampleType":"examples"}},"exampleType":"examples"},"c7800e26-ef32-451a-9b3d-33d161aeda11":{"description":"`VERIFICATION_REJECTED`: the verification was rejected — final, talk to support. Also: number-scoped key or per-number OAuth grant (`NUMBER_SCOPE_NOT_ALLOWED` — use the tenant-scoped key); OAuth/MCP token whose user is not the workspace OWNER (`PERMISSION_DENIED`) or no longer an active member (`WORKSPACE_MEMBERSHIP_REQUIRED`); archived workspace (`WORKSPACE_ARCHIVED`). The scope and role errors carry an English-only `error`.. `TENANT_REQUIRED`: credential not bound to any workspace","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"rejected":{"title":"rejected","value":{"error":"The account holder verification was rejected. | A verificação do titular foi recusada.","code":"VERIFICATION_REJECTED"}},"numberScope":{"title":"numberScope","value":{"error":"This endpoint requires a tenant-scoped API key","code":"NUMBER_SCOPE_NOT_ALLOWED"}},"permission":{"title":"permission","value":{"error":"Your workspace role does not allow this action (phone_lines:purchase).","code":"PERMISSION_DENIED"}},"membership":{"title":"membership","value":{"error":"The user behind this token is not an active member of this workspace.","code":"WORKSPACE_MEMBERSHIP_REQUIRED"}},"archived":{"title":"archived","value":{"error":"This workspace has been archived and its API is closed. | Este workspace foi arquivado e sua API está encerrada.","code":"WORKSPACE_ARCHIVED"}},"tenantRequired":{"title":"tenantRequired","value":{"error":"This credential is not bound to a workspace.","code":"TENANT_REQUIRED"}}},"exampleType":"examples"}},"exampleType":"examples"},"72ad8290-d81e-483e-b93e-8fc4931d1a77":{"description":"`VERIFICATION_WRONG_STATE`: the current verification is `IN_REVIEW`, `APPROVED` (you can already buy) or `NEEDS_DOCUMENT` (send the document to `…/verification/document`). `IDEMPOTENCY_KEY_IN_USE`: a request with this key is still running — wait, then send it again to get its result. `IDEMPOTENCY_KEY_REUSED`: this key was used for a different request — use a new key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"wrongState":{"title":"wrongState","value":{"error":"The verification is not in a state that allows this. | A verificação não está em um estado que permita isso.","code":"VERIFICATION_WRONG_STATE"}},"inUse":{"title":"inUse","value":{"error":"A request with this Idempotency-Key is still running. Wait for it, then send it again to get its result. | Um pedido com esta Idempotency-Key ainda está em andamento. Aguarde e envie de novo para receber o resultado.","code":"IDEMPOTENCY_KEY_IN_USE"}},"reused":{"title":"reused","value":{"error":"This Idempotency-Key was already used for a different request. Use a new key for new data. | Esta Idempotency-Key já foi usada em outro pedido. Use uma nova chave para dados novos.","code":"IDEMPOTENCY_KEY_REUSED"}}},"exampleType":"examples"}},"exampleType":"examples"},"ac83d519-3bfc-492a-8ea9-44545477cfde":{"description":"The file is over 10 MB.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"The file is larger than 10 MB. | O arquivo tem mais de 10 MB.","code":"DOCUMENT_TOO_LARGE"},"examples":{"Example":{"title":"Example","value":{"error":"The file is larger than 10 MB. | O arquivo tem mais de 10 MB.","code":"DOCUMENT_TOO_LARGE"}}},"exampleType":"examples"}},"exampleType":"examples"},"d001e4f6-da1b-47f2-9d26-8c30a62f7699":{"description":"`RATE_LIMITED`: over 10 submissions in the hour for this workspace (this endpoint and `…/verification/document` together). Wait `Retry-After` seconds.","headers":{"Retry-After":{"description":"Seconds to wait before the next submission.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"retryAfterSeconds":{"type":"integer","description":"Seconds until a new submission is accepted.","uniqueKey":"retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Too many verification submissions: at most 10 per hour per workspace. Try again later. | Envios de verificação demais: no máximo 10 por hora por workspace. Tente de novo mais tarde.","code":"RATE_LIMITED","retryAfterSeconds":1820},"examples":{"Example":{"title":"Example","value":{"error":"Too many verification submissions: at most 10 per hour per workspace. Try again later. | Envios de verificação demais: no máximo 10 por hora por workspace. Tente de novo mais tarde.","code":"RATE_LIMITED","retryAfterSeconds":1820}}},"exampleType":"examples"}},"exampleType":"examples"},"5d392d97-8725-4ef6-a090-52e36b9fcf0a":{"description":"Unexpected failure. Retry.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Unexpected error. | Erro inesperado.","code":"INTERNAL_ERROR"},"examples":{"Example":{"title":"Example","value":{"error":"Unexpected error. | Erro inesperado.","code":"INTERNAL_ERROR"}}},"exampleType":"examples"}},"exampleType":"examples"},"2f2c6c22-5332-4220-91c8-8c620901daeb":{"description":"`SUPPLIER_UNAVAILABLE`: a contact code could not be queued for sending. The key is freed — try again in a few minutes.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Phone lines are temporarily unavailable. Try again in a few minutes. | As linhas estão temporariamente indisponíveis. Tente de novo em alguns minutos.","code":"SUPPLIER_UNAVAILABLE"},"examples":{"Example":{"title":"Example","value":{"error":"Phone lines are temporarily unavailable. Try again in a few minutes. | As linhas estão temporariamente indisponíveis. Tente de novo em alguns minutos.","code":"SUPPLIER_UNAVAILABLE"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"b34c6d41-17b1-4f72-b7c0-cf92b9171978":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your ps_ API key","scopes":[],"schemeName":"apiKey"}},"b82efe59-eefd-407a-8cf2-c3569ed12bdc":{"apiKeyId":{"type":"apiKey","in":"header","name":"x-api-key-id","description":"API key id (alternative to x-api-key)","scopes":[],"schemeName":"apiKeyId"}}},"servers":{"0bf83696-f5dc-4225-bba6-c546ef6a5f2e":{"url":"https://pilotstatus.com.br"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your ps_ API key","scopes":[],"schemeName":"apiKey"},"schema":{"title":"x-api-key","type":"string","description":"Your ps_ API key","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-api-key"}],"title":"apiKey"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key-id","description":"API key id (alternative to x-api-key)","scopes":[],"schemeName":"apiKeyId"},"schema":{"title":"x-api-key-id","type":"string","description":"API key id (alternative to x-api-key)","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyId","name":"x-api-key-id"}],"title":"apiKeyId"}]},"originalFileLocation":"openapi.json"},"subdomain":"iaxp","siteName":"Pilot Status","title":"Submit holder verification - Pilot Status","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/playground/phone-lines/submit-verification","matchLevel":0},"pt-BR":{"href":"/pt-BR/introduction","matchLevel":4}}},"lastModified":"2026-10-27T12:13:17.212Z","originalFileLocation":"playground/phone-lines/submit-verification.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"⚠️ This call is real: it submits the workspace\u0026#x27;s identity verification and sends real verification codes to contactEmail (always) and to contactWhatsapp (whenever WhatsApp codes are being sent — contact.requiredChannels says which). Use real data of the account holder only. Starts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and active in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers 201 with the state in PENDING_CONTACT; then confirm each code with POST /v1/phone-lines/verification/contact/{channel}/confirm. The request returns once the document has been read — usually within seconds, up to about a minute. The body is JSON (Content-Type: application/json), not multipart: the file goes in document as a base64 data URI. Any other field is refused with 400 UNKNOWN_FIELDS. The file is checked before anything starts: a wrong type or size sends no code and creates nothing. Submitting again. While the verification is still PENDING_CONTACT, a new submit replaces it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 VERIFICATION_WRONG_STATE (IN_REVIEW or APPROVED — you can already buy — or NEEDS_DOCUMENT — send the document to POST /v1/phone-lines/verification/document instead) or 403 VERIFICATION_REJECTED. Idempotency (Idempotency-Key is REQUIRED), for 24 hours: same key + same request, first one finished → 200 (not 201) with the workspace\u0026#x27;s current state and Idempotent-Replayed: true, nothing sent again; same key while the first is still running → 409 IDEMPOTENCY_KEY_IN_USE; same key, different request (any field, the file included) → 409 IDEMPOTENCY_KEY_REUSED; a request refused as a whole frees the key. Limit: 10 submissions per hour per workspace, this endpoint and …/verification/document together → 429 RATE_LIMITED. Requires a tenant-scoped key, like every /v1/phone-lines endpoint (a number-scoped key gets 403 NUMBER_SCOPE_NOT_ALLOWED). Permission phone_lines:purchase, the same as buying: with an OAuth/MCP token only the workspace OWNER may call it (403 PERMISSION_DENIED otherwise). It is the same verification as the dashboard\u0026#x27;s (Phone lines → Buy phone lines): whichever you use, the other sees the result. The response is the verification state object, sent with Cache-Control: no-store; the document number and the contacts come back masked.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Pilot Status\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/svg+xml\" sizes=\"180x180\" href=\"https://media.brand.dev/75fcb4cf-8fa0-40cb-b428-c03cb409236b.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"32x32\" href=\"https://media.brand.dev/75fcb4cf-8fa0-40cb-b428-c03cb409236b.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"16x16\" href=\"https://media.brand.dev/75fcb4cf-8fa0-40cb-b428-c03cb409236b.svg\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/svg+xml\" href=\"https://media.brand.dev/75fcb4cf-8fa0-40cb-b428-c03cb409236b.svg\">\u003cmeta data-mint-head property=\"og:title\" content=\"Submit holder verification - Pilot Status\">\u003cmeta data-mint-head property=\"og:description\" content=\"⚠️ This call is real: it submits the workspace\u0026#x27;s identity verification and sends real verification codes to contactEmail (always) and to contactWhatsapp (whenever WhatsApp codes are being sent — contact.requiredChannels says which). Use real data of the account holder only. Starts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and active in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers 201 with the state in PENDING_CONTACT; then confirm each code with POST /v1/phone-lines/verification/contact/{channel}/confirm. The request returns once the document has been read — usually within seconds, up to about a minute. The body is JSON (Content-Type: application/json), not multipart: the file goes in document as a base64 data URI. Any other field is refused with 400 UNKNOWN_FIELDS. The file is checked before anything starts: a wrong type or size sends no code and creates nothing. Submitting again. While the verification is still PENDING_CONTACT, a new submit replaces it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 VERIFICATION_WRONG_STATE (IN_REVIEW or APPROVED — you can already buy — or NEEDS_DOCUMENT — send the document to POST /v1/phone-lines/verification/document instead) or 403 VERIFICATION_REJECTED. Idempotency (Idempotency-Key is REQUIRED), for 24 hours: same key + same request, first one finished → 200 (not 201) with the workspace\u0026#x27;s current state and Idempotent-Replayed: true, nothing sent again; same key while the first is still running → 409 IDEMPOTENCY_KEY_IN_USE; same key, different request (any field, the file included) → 409 IDEMPOTENCY_KEY_REUSED; a request refused as a whole frees the key. Limit: 10 submissions per hour per workspace, this endpoint and …/verification/document together → 429 RATE_LIMITED. Requires a tenant-scoped key, like every /v1/phone-lines endpoint (a number-scoped key gets 403 NUMBER_SCOPE_NOT_ALLOWED). Permission phone_lines:purchase, the same as buying: with an OAuth/MCP token only the workspace OWNER may call it (403 PERMISSION_DENIED otherwise). It is the same verification as the dashboard\u0026#x27;s (Phone lines → Buy phone lines): whichever you use, the other sees the result. The response is the verification state object, sent with Cache-Control: no-store; the document number and the contacts come back masked.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Pilot Status\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://iaxp.mintlify.app/_mintlify/api/og/v2?division=Phone+Lines\u0026amp;title=Submit+holder+verification\u0026amp;description=%E2%9A%A0%EF%B8%8F+**This+call+is+real**%3A+it+submits+the+workspace%27s+identity+verification+and+**sends+real+verification+codes**+to+%60contactEmail%60+%28always%29+and+to+%60contactWhats\u0026amp;theme=35ef0efd94d4b104966e83c5\u0026amp;signature=350a1b366666decdc5584d90e64ac7152f40cbb75e141f44317cf26c6d71469b\">\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=\"Submit holder verification - Pilot Status\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"⚠️ This call is real: it submits the workspace\u0026#x27;s identity verification and sends real verification codes to contactEmail (always) and to contactWhatsapp (whenever WhatsApp codes are being sent — contact.requiredChannels says which). Use real data of the account holder only. Starts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and active in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers 201 with the state in PENDING_CONTACT; then confirm each code with POST /v1/phone-lines/verification/contact/{channel}/confirm. The request returns once the document has been read — usually within seconds, up to about a minute. The body is JSON (Content-Type: application/json), not multipart: the file goes in document as a base64 data URI. Any other field is refused with 400 UNKNOWN_FIELDS. The file is checked before anything starts: a wrong type or size sends no code and creates nothing. Submitting again. While the verification is still PENDING_CONTACT, a new submit replaces it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 VERIFICATION_WRONG_STATE (IN_REVIEW or APPROVED — you can already buy — or NEEDS_DOCUMENT — send the document to POST /v1/phone-lines/verification/document instead) or 403 VERIFICATION_REJECTED. Idempotency (Idempotency-Key is REQUIRED), for 24 hours: same key + same request, first one finished → 200 (not 201) with the workspace\u0026#x27;s current state and Idempotent-Replayed: true, nothing sent again; same key while the first is still running → 409 IDEMPOTENCY_KEY_IN_USE; same key, different request (any field, the file included) → 409 IDEMPOTENCY_KEY_REUSED; a request refused as a whole frees the key. Limit: 10 submissions per hour per workspace, this endpoint and …/verification/document together → 429 RATE_LIMITED. Requires a tenant-scoped key, like every /v1/phone-lines endpoint (a number-scoped key gets 403 NUMBER_SCOPE_NOT_ALLOWED). Permission phone_lines:purchase, the same as buying: with an OAuth/MCP token only the workspace OWNER may call it (403 PERMISSION_DENIED otherwise). It is the same verification as the dashboard\u0026#x27;s (Phone lines → Buy phone lines): whichever you use, the other sees the result. The response is the verification state object, sent with Cache-Control: no-store; the document number and the contacts come back masked.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://iaxp.mintlify.app/_mintlify/api/og/v2?division=Phone+Lines\u0026amp;title=Submit+holder+verification\u0026amp;description=%E2%9A%A0%EF%B8%8F+**This+call+is+real**%3A+it+submits+the+workspace%27s+identity+verification+and+**sends+real+verification+codes**+to+%60contactEmail%60+%28always%29+and+to+%60contactWhats\u0026amp;theme=35ef0efd94d4b104966e83c5\u0026amp;signature=350a1b366666decdc5584d90e64ac7152f40cbb75e141f44317cf26c6d71469b\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/iaxp/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Pilot Status\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#19E17D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/playground/phone-lines/submit-verification.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pilotstatus.com.br/#organization\",\"name\":\"Pilot Status\",\"url\":\"https://docs.pilotstatus.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/iaxp/bFY4-GIf_icRI6gv/images/wordmark-light.svg?fit=max\u0026auto=format\u0026n=bFY4-GIf_icRI6gv\u0026q=85\u0026s=956be78168490eaf8ae153ff8c58b4a7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pilotstatus.com.br#website\",\"name\":\"Pilot Status\",\"url\":\"https://docs.pilotstatus.com.br\",\"publisher\":{\"@id\":\"https://docs.pilotstatus.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification#webpage\",\"url\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification\",\"name\":\"Submit holder verification\",\"description\":\"⚠️ This call is real: it submits the workspace's identity verification and sends real verification codes to contactEmail (always) and to contactWhatsapp (whenever WhatsApp codes are being sent — contact.requiredChannels says which). Use real data of the account holder only. Starts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and active in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers 201 with the state in PENDING_CONTACT; then confirm each code with POST /v1/phone-lines/verification/contact/{channel}/confirm. The request returns once the document has been read — usually within seconds, up to about a minute. The body is JSON (Content-Type: application/json), not multipart: the file goes in document as a base64 data URI. Any other field is refused with 400 UNKNOWN_FIELDS. The file is checked before anything starts: a wrong type or size sends no code and creates nothing. Submitting again. While the verification is still PENDING_CONTACT, a new submit replaces it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 VERIFICATION_WRONG_STATE (IN_REVIEW or APPROVED — you can already buy — or NEEDS_DOCUMENT — send the document to POST /v1/phone-lines/verification/document instead) or 403 VERIFICATION_REJECTED. Idempotency (Idempotency-Key is REQUIRED), for 24 hours: same key + same request, first one finished → 200 (not 201) with the workspace's current state and Idempotent-Replayed: true, nothing sent again; same key while the first is still running → 409 IDEMPOTENCY_KEY_IN_USE; same key, different request (any field, the file included) → 409 IDEMPOTENCY_KEY_REUSED; a request refused as a whole frees the key. Limit: 10 submissions per hour per workspace, this endpoint and …/verification/document together → 429 RATE_LIMITED. Requires a tenant-scoped key, like every /v1/phone-lines endpoint (a number-scoped key gets 403 NUMBER_SCOPE_NOT_ALLOWED). Permission phone_lines:purchase, the same as buying: with an OAuth/MCP token only the workspace OWNER may call it (403 PERMISSION_DENIED otherwise). It is the same verification as the dashboard's (Phone lines → Buy phone lines): whichever you use, the other sees the result. The response is the verification state object, sent with Cache-Control: no-store; the document number and the contacts come back masked.\",\"dateModified\":\"2026-10-27T12:13:17.212Z\",\"isPartOf\":{\"@id\":\"https://docs.pilotstatus.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.pilotstatus.com.br/playground/numbers/list-numbers\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Phone Lines\",\"item\":\"https://docs.pilotstatus.com.br/playground/phone-lines/search-available-numbers\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Submit holder verification\",\"item\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification#apireference\",\"headline\":\"Submit holder verification\",\"name\":\"Submit holder verification\",\"description\":\"⚠️ This call is real: it submits the workspace's identity verification and sends real verification codes to contactEmail (always) and to contactWhatsapp (whenever WhatsApp codes are being sent — contact.requiredChannels says which). Use real data of the account holder only. Starts the verification and hands it the document, in one call. We check the number (check digits; a CNPJ must also be found and active in the public registry), freeze the required contact channels, send the codes, store the file privately and read the number printed on it. Answers 201 with the state in PENDING_CONTACT; then confirm each code with POST /v1/phone-lines/verification/contact/{channel}/confirm. The request returns once the document has been read — usually within seconds, up to about a minute. The body is JSON (Content-Type: application/json), not multipart: the file goes in document as a base64 data URI. Any other field is refused with 400 UNKNOWN_FIELDS. The file is checked before anything starts: a wrong type or size sends no code and creates nothing. Submitting again. While the verification is still PENDING_CONTACT, a new submit replaces it (to fix a typo): the codes already sent stop working and new ones go out. Once it moved on, a submit answers 409 VERIFICATION_WRONG_STATE (IN_REVIEW or APPROVED — you can already buy — or NEEDS_DOCUMENT — send the document to POST /v1/phone-lines/verification/document instead) or 403 VERIFICATION_REJECTED. Idempotency (Idempotency-Key is REQUIRED), for 24 hours: same key + same request, first one finished → 200 (not 201) with the workspace's current state and Idempotent-Replayed: true, nothing sent again; same key while the first is still running → 409 IDEMPOTENCY_KEY_IN_USE; same key, different request (any field, the file included) → 409 IDEMPOTENCY_KEY_REUSED; a request refused as a whole frees the key. Limit: 10 submissions per hour per workspace, this endpoint and …/verification/document together → 429 RATE_LIMITED. Requires a tenant-scoped key, like every /v1/phone-lines endpoint (a number-scoped key gets 403 NUMBER_SCOPE_NOT_ALLOWED). Permission phone_lines:purchase, the same as buying: with an OAuth/MCP token only the workspace OWNER may call it (403 PERMISSION_DENIED otherwise). It is the same verification as the dashboard's (Phone lines → Buy phone lines): whichever you use, the other sees the result. The response is the verification state object, sent with Cache-Control: no-store; the document number and the contacts come back masked.\",\"url\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/submit-verification#webpage\"},\"dateModified\":\"2026-10-27T12:13:17.212Z\",\"publisher\":{\"@id\":\"https://docs.pilotstatus.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pilotstatus.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pilot Status\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Pilot Status","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api/overview"}]},{"tab":"Playground","groups":[{"group":"Endpoints","pages":[{"group":"Numbers","pages":[{"title":"List numbers","sidebarTitle":"List numbers","openapi":"openapi.json GET /v1/numbers","href":"/playground/numbers/list-numbers"},{"title":"Create number (PILOT_STATUS)","sidebarTitle":"Create number","openapi":"openapi.json POST /v1/numbers","href":"/playground/numbers/create-number-pilot-status"},{"title":"Remote pairing (connection link)","sidebarTitle":"Remote pairing","openapi":"openapi.json POST /v1/numbers/remote-pairing","href":"/playground/numbers/remote-pairing-connection-link"},{"title":"Delete number","sidebarTitle":"Delete number","openapi":"openapi.json DELETE /v1/numbers/{id}","href":"/playground/numbers/delete-number"},{"title":"Restore number","sidebarTitle":"Restore number","openapi":"openapi.json POST /v1/numbers/{id}/restore","href":"/playground/numbers/restore-number"},{"title":"Purge number","sidebarTitle":"Purge number","openapi":"openapi.json DELETE /v1/numbers/{id}/purge","href":"/playground/numbers/purge-number"},{"title":"Number connection status","sidebarTitle":"Number connection status","openapi":"openapi.json GET /v1/numbers/{id}/status","href":"/playground/numbers/number-connection-status"},{"title":"Reconnect number (QR / pairing)","sidebarTitle":"Reconnect number","openapi":"openapi.json GET /v1/numbers/{id}/connect","href":"/playground/numbers/reconnect-number-qr-pairing"},{"title":"Logout WhatsApp Instance","openapi":"openapi.json POST /v1/numbers/{id}/logout","href":"/playground/numbers/logout-instance"},{"title":"Pay extra-number charge","sidebarTitle":"Pay extra-number charge","openapi":"openapi.json POST /v1/numbers/{id}/pay","href":"/playground/numbers/pay-extra-number-charge"},{"title":"Update number (privacy + settings)","sidebarTitle":"Update number","openapi":"openapi.json PATCH /v1/numbers/{id}","href":"/playground/numbers/update-number"}]},{"group":"Meta","pages":[{"title":"Create Meta number (Cloud API)","sidebarTitle":"Create Meta number","openapi":"openapi.json POST /v1/numbers/meta","href":"/playground/numbers/create-meta-number-cloud-api"},{"title":"Complete Embedded Signup (Meta)","sidebarTitle":"Complete Embedded Signup","openapi":"openapi.json POST /v1/meta-embedded/{token}/complete","href":"/playground/meta-onboarding/complete-embedded-signup-meta"},{"title":"Get number (Meta details)","sidebarTitle":"Get number","openapi":"openapi.json GET /v1/numbers/{id}","href":"/playground/numbers/get-number-meta-details"},{"title":"Download media (Meta)","sidebarTitle":"Download media","openapi":"openapi.json GET /v1/media/{mediaId}","href":"/playground/media/download-media-meta"}]},{"group":"Subscription","pages":[{"title":"Preview buying an extra number (On Demand)","sidebarTitle":"Preview extra number","openapi":"openapi.json GET /v1/subscription/extra-numbers","href":"/playground/subscription/preview-buying-an-extra-number-on-demand"},{"title":"Buy an extra number (On Demand)","sidebarTitle":"Buy extra number","openapi":"openapi.json POST /v1/subscription/extra-numbers","href":"/playground/subscription/buy-an-extra-number-on-demand"},{"title":"Remove an extra number (On Demand)","sidebarTitle":"Remove extra number","openapi":"openapi.json DELETE /v1/subscription/extra-numbers","href":"/playground/subscription/remove-an-extra-number-on-demand"}]},{"group":"Billing","pages":[{"title":"Wallet top-up (card or Pix) / add a card","sidebarTitle":"Wallet top-up / add a card","openapi":"openapi.json POST /v1/billing/checkout","href":"/playground/billing/generate-checkout-link-stripe"},{"title":"Get a top-up order","sidebarTitle":"Get a top-up order","openapi":"openapi.json GET /v1/billing/topups/{id}","href":"/playground/billing/get-topup"},{"title":"Start a card save (Stripe Elements)","sidebarTitle":"Start a card save (Stripe Elements)","openapi":"openapi.json POST /v1/billing/card/setup-intent","href":"/playground/billing/create-card-setup-intent"},{"title":"Sync a card save","sidebarTitle":"Sync a card save","openapi":"openapi.json POST /v1/billing/card/setup-intent/{id}/sync","href":"/playground/billing/sync-card-setup-intent"},{"title":"Start a card top-up (Stripe Elements)","sidebarTitle":"Start a card top-up (Stripe Elements)","openapi":"openapi.json POST /v1/billing/payment-intents","href":"/playground/billing/create-payment-intent"},{"title":"Sync a card top-up","sidebarTitle":"Sync a card top-up","openapi":"openapi.json POST /v1/billing/payment-intents/{id}/sync","href":"/playground/billing/sync-payment-intent"}]},{"group":"Pricing","pages":[{"title":"Get message rates","sidebarTitle":"Get message rates","openapi":"openapi.json GET /v1/meta/pricing","href":"/playground/pricing/get-message-rates"}]},{"group":"Messages","pages":[{"title":"Send message","sidebarTitle":"Send message","openapi":"openapi.json POST /v1/messages/send","href":"/playground/messages/send-message"},{"title":"Get message","sidebarTitle":"Get message","openapi":"openapi.json GET /v1/messages/{id}","href":"/playground/messages/get-message"},{"title":"Cancel scheduled messages","sidebarTitle":"Cancel scheduled messages","openapi":"openapi.json DELETE /v1/messages/cancel","href":"/playground/messages/cancel-scheduled-messages"},{"title":"Service window status","sidebarTitle":"Service window status","openapi":"openapi.json GET /v1/service-window","href":"/playground/messages/service-window"}]},{"group":"Conversations","pages":[{"title":"List conversations","sidebarTitle":"List conversations","openapi":"openapi.json GET /v1/conversations","href":"/playground/conversations/list-conversations"},{"title":"Group messages","sidebarTitle":"Group messages","openapi":"openapi.json GET /v1/messages/group","href":"/playground/conversations/group-messages"},{"title":"Message history","sidebarTitle":"Message history","openapi":"openapi.json GET /v1/messages/history","href":"/playground/conversations/message-history"},{"title":"Unread messages","sidebarTitle":"Unread messages","openapi":"openapi.json GET /v1/messages/unread","href":"/playground/conversations/unread-messages"},{"title":"Ad referrals (CTWA)","sidebarTitle":"Ad referrals","openapi":"openapi.json GET /v1/referrals","href":"/playground/conversations/ad-referrals"},{"title":"Ad referral summary (CTWA)","sidebarTitle":"Ad referral summary","openapi":"openapi.json GET /v1/referrals/summary","href":"/playground/conversations/ad-referral-summary"},{"title":"Meta Lead Ads leads","sidebarTitle":"Leads (Lead Ads)","openapi":"openapi.json GET /v1/leads","href":"/playground/conversations/leads"},{"title":"Get a lead (Lead Ads)","sidebarTitle":"Get a lead","openapi":"openapi.json GET /v1/leads/{id}","href":"/playground/conversations/get-lead"}]},{"group":"Ads","pages":[{"title":"List ad accounts","sidebarTitle":"List ad accounts","openapi":"openapi.json GET /v1/ads/accounts","href":"/playground/ads/list-ad-accounts"},{"title":"Link an ad account","sidebarTitle":"Link an ad account","openapi":"openapi.json POST /v1/ads/accounts","href":"/playground/ads/link-ad-account"},{"title":"Unlink an ad account","sidebarTitle":"Unlink an ad account","openapi":"openapi.json DELETE /v1/ads/accounts/{adAccountId}","href":"/playground/ads/unlink-ad-account"},{"title":"Ads summary","sidebarTitle":"Ads summary","openapi":"openapi.json GET /v1/ads/summary","href":"/playground/ads/ads-summary"},{"title":"List Lead Ads Pages","sidebarTitle":"List Lead Ads Pages","openapi":"openapi.json GET /v1/lead-pages","href":"/playground/ads/list-lead-pages"},{"title":"Link a Lead Ads Page","sidebarTitle":"Link a Lead Ads Page","openapi":"openapi.json POST /v1/lead-pages","href":"/playground/ads/link-lead-page"},{"title":"Move a Lead Ads Page","sidebarTitle":"Move a Lead Ads Page","openapi":"openapi.json PATCH /v1/lead-pages/{pageLinkId}","href":"/playground/ads/move-lead-page"},{"title":"Unlink a Lead Ads Page","sidebarTitle":"Unlink a Lead Ads Page","openapi":"openapi.json DELETE /v1/lead-pages/{pageLinkId}","href":"/playground/ads/unlink-lead-page"},{"title":"Resync a Lead Ads Page","sidebarTitle":"Resync a Lead Ads Page","openapi":"openapi.json POST /v1/lead-pages/{pageLinkId}/resync","href":"/playground/ads/resync-lead-page"},{"title":"List Instant Forms","sidebarTitle":"List Instant Forms","openapi":"openapi.json GET /v1/lead-pages/{pageLinkId}/forms","href":"/playground/ads/list-lead-forms"},{"title":"Configure an Instant Form","sidebarTitle":"Configure an Instant Form","openapi":"openapi.json PUT /v1/lead-pages/{pageLinkId}/forms/{formId}","href":"/playground/ads/configure-lead-form"}]},{"group":"Groups","pages":[{"title":"List groups","sidebarTitle":"List groups","openapi":"openapi.json GET /v1/groups","href":"/playground/groups/list-groups"}]},{"group":"Newsletters","pages":[{"title":"List channels (newsletters)","sidebarTitle":"List channels","openapi":"openapi.json GET /v1/newsletters","href":"/playground/newsletters/list-channels-newsletters"}]},{"group":"Templates","pages":[{"title":"List templates","sidebarTitle":"List templates","openapi":"openapi.json GET /v1/templates","href":"/playground/templates/list-templates"},{"title":"Create template","sidebarTitle":"Create template","openapi":"openapi.json POST /v1/templates","href":"/playground/templates/create-template"},{"title":"Update template","sidebarTitle":"Update template","openapi":"openapi.json PUT /v1/templates/{id}","href":"/playground/templates/update-template"},{"title":"Get template","sidebarTitle":"Get template","openapi":"openapi.json GET /v1/templates/{id}","href":"/playground/templates/get-template"},{"title":"Get template insights","sidebarTitle":"Get template insights","openapi":"openapi.json GET /v1/templates/{id}/insights","href":"/playground/templates/get-template-insights"},{"title":"Delete template","sidebarTitle":"Delete template","openapi":"openapi.json DELETE /v1/templates/{id}","href":"/playground/templates/delete-template"}]},{"group":"Flows","pages":[{"title":"List Flows","sidebarTitle":"List Flows","openapi":"openapi.json GET /v1/flows","href":"/playground/flows/list-flows"},{"title":"Create or clone Flow","sidebarTitle":"Create or clone Flow","openapi":"openapi.json POST /v1/flows","href":"/playground/flows/create-flow"},{"title":"Update Flow","sidebarTitle":"Update Flow","openapi":"openapi.json PATCH /v1/flows/{id}","href":"/playground/flows/update-flow"},{"title":"Delete Flow","sidebarTitle":"Delete Flow","openapi":"openapi.json DELETE /v1/flows/{id}","href":"/playground/flows/delete-flow"},{"title":"Upload Flow JSON","sidebarTitle":"Upload Flow JSON","openapi":"openapi.json POST /v1/flows/{id}/json","href":"/playground/flows/upload-flow-json"},{"title":"Get Flow endpoint key state","sidebarTitle":"Get Flow endpoint key state","openapi":"openapi.json GET /v1/numbers/{id}/flow-endpoint-key","href":"/playground/numbers/get-flow-endpoint-key"},{"title":"Generate or import Flow endpoint key","sidebarTitle":"Generate or import Flow endpoint key","openapi":"openapi.json POST /v1/numbers/{id}/flow-endpoint-key","href":"/playground/numbers/generate-flow-endpoint-key"},{"title":"Get Flow endpoint config","sidebarTitle":"Get Flow endpoint config","openapi":"openapi.json GET /v1/flows/{id}/endpoint","href":"/playground/flows/get-flow-endpoint-config"},{"title":"Set Flow endpoint destination","sidebarTitle":"Set Flow endpoint destination","openapi":"openapi.json PUT /v1/flows/{id}/endpoint","href":"/playground/flows/set-flow-endpoint-destination"},{"title":"Set Flow endpoint destination (alias of PUT)","sidebarTitle":"Set Flow endpoint destination (alias of PUT)","openapi":"openapi.json PATCH /v1/flows/{id}/endpoint","href":"/playground/flows/set-flow-endpoint-destination-patch"},{"title":"Register Flow endpoint at Meta","sidebarTitle":"Register Flow endpoint at Meta","openapi":"openapi.json POST /v1/flows/{id}/endpoint","href":"/playground/flows/register-flow-endpoint-at-meta"},{"title":"Publish Flow","sidebarTitle":"Publish Flow","openapi":"openapi.json POST /v1/flows/{id}/publish","href":"/playground/flows/publish-flow"},{"title":"Deprecate Flow","sidebarTitle":"Deprecate Flow","openapi":"openapi.json POST /v1/flows/{id}/deprecate","href":"/playground/flows/deprecate-flow"},{"title":"List Flow responses","sidebarTitle":"List Flow responses","openapi":"openapi.json GET /v1/flows/{id}/responses","href":"/playground/flows/list-flow-responses"}]},{"group":"Analytics","pages":[{"title":"Analytics dashboard","sidebarTitle":"Analytics dashboard","openapi":"openapi.json GET /v1/analytics/dashboard","href":"/playground/analytics/analytics-dashboard"}]},{"group":"API Keys","pages":[{"title":"List API keys","sidebarTitle":"List API keys","openapi":"openapi.json GET /v1/api-keys","href":"/playground/api-keys/list-api-keys"},{"title":"Regenerate a number's API key","sidebarTitle":"Regenerate a number's API k…","openapi":"openapi.json POST /v1/api-keys","href":"/playground/api-keys/regenerate-a-number-s-api-key"},{"title":"Regenerate API key","sidebarTitle":"Regenerate API key","openapi":"openapi.json POST /v1/api-keys/regenerate","href":"/playground/api-keys/regenerate-api-key"}]},{"group":"Webhooks","pages":[{"title":"List webhooks","sidebarTitle":"List webhooks","openapi":"openapi.json GET /v1/webhooks","href":"/playground/webhooks/list-webhooks"},{"title":"Create webhook","sidebarTitle":"Create webhook","openapi":"openapi.json POST /v1/webhooks","href":"/playground/webhooks/create-webhook"},{"title":"Get webhook","sidebarTitle":"Get webhook","openapi":"openapi.json GET /v1/webhooks/{id}","href":"/playground/webhooks/get-webhook"},{"title":"Update webhook","sidebarTitle":"Update webhook","openapi":"openapi.json PATCH /v1/webhooks/{id}","href":"/playground/webhooks/update-webhook"},{"title":"Delete webhook","sidebarTitle":"Delete webhook","openapi":"openapi.json DELETE /v1/webhooks/{id}","href":"/playground/webhooks/delete-webhook"},{"title":"Webhook delivery events","sidebarTitle":"Webhook delivery events","openapi":"openapi.json GET /v1/webhooks/{id}/logs","href":"/playground/webhooks/webhook-delivery-events"}]},{"group":"Chatwoot","pages":[{"title":"Chatwoot status","sidebarTitle":"Chatwoot status","openapi":"openapi.json GET /v1/chatwoot","href":"/playground/chatwoot/chatwoot-status"},{"title":"Connect Chatwoot","sidebarTitle":"Connect Chatwoot","openapi":"openapi.json POST /v1/chatwoot","href":"/playground/chatwoot/connect-chatwoot"},{"title":"Update Chatwoot","sidebarTitle":"Update Chatwoot","openapi":"openapi.json PATCH /v1/chatwoot","href":"/playground/chatwoot/update-chatwoot"},{"title":"Disconnect Chatwoot","sidebarTitle":"Disconnect Chatwoot","openapi":"openapi.json DELETE /v1/chatwoot","href":"/playground/chatwoot/disconnect-chatwoot"},{"title":"Test Chatwoot credentials","sidebarTitle":"Test Chatwoot credentials","openapi":"openapi.json POST /v1/chatwoot/test","href":"/playground/chatwoot/test-chatwoot-credentials"}]},{"group":"Remote Pairing","pages":[{"title":"Remote pairing info","sidebarTitle":"Remote pairing info","openapi":"openapi.json GET /v1/remote-pairing/{token}","href":"/playground/remote-pairing/remote-pairing-info"},{"title":"Connect via token (QR / pairing)","sidebarTitle":"Connect via token","openapi":"openapi.json POST /v1/remote-pairing/{token}/connect","href":"/playground/remote-pairing/connect-via-token-qr-pairing"},{"title":"Remote pairing status","sidebarTitle":"Remote pairing status","openapi":"openapi.json GET /v1/remote-pairing/{token}/status","href":"/playground/remote-pairing/remote-pairing-status"}]},{"group":"Branding","pages":[{"title":"Read tenant branding","sidebarTitle":"Read tenant branding","openapi":"openapi.json GET /v1/branding","href":"/playground/branding/read-tenant-branding"},{"title":"Update tenant branding","sidebarTitle":"Update tenant branding","openapi":"openapi.json PUT /v1/branding","href":"/playground/branding/update-tenant-branding"},{"title":"Resolved connect page branding","sidebarTitle":"Resolved connect page brand…","openapi":"openapi.json GET /v1/connect/{token}/branding","href":"/playground/branding/resolved-connect-page-branding"}]},{"group":"Embed","pages":[{"title":"Create embed session","sidebarTitle":"Create embed session","openapi":"openapi.json POST /v1/embed/sessions","href":"/playground/embed/create-embed-session"}]},{"group":"Calls","pages":[{"title":"List calls","sidebarTitle":"List calls","openapi":"openapi.json GET /v1/calls","href":"/playground/calls/list-calls"},{"title":"Start call (BIC)","sidebarTitle":"Start call","openapi":"openapi.json POST /v1/calls","href":"/playground/calls/start-call-bic"},{"title":"Get call","sidebarTitle":"Get call","openapi":"openapi.json GET /v1/calls/{callId}","href":"/playground/calls/get-call"},{"title":"Pre-accept call (optional)","sidebarTitle":"Pre-accept call","openapi":"openapi.json POST /v1/calls/{callId}/pre-accept","href":"/playground/calls/pre-accept-call-optional"},{"title":"Accept call","sidebarTitle":"Accept call","openapi":"openapi.json POST /v1/calls/{callId}/accept","href":"/playground/calls/accept-call"},{"title":"Reject call","sidebarTitle":"Reject call","openapi":"openapi.json POST /v1/calls/{callId}/reject","href":"/playground/calls/reject-call"},{"title":"Terminate call","sidebarTitle":"Terminate call","openapi":"openapi.json POST /v1/calls/{callId}/terminate","href":"/playground/calls/terminate-call"},{"title":"Play audio into call (web)","sidebarTitle":"Play audio into call","openapi":"openapi.json POST /v1/calls/{callId}/play","href":"/playground/calls/play-audio-into-call-web"},{"title":"Realtime media session (web)","sidebarTitle":"Realtime media session","openapi":"openapi.json POST /v1/calls/{callId}/realtime-session","href":"/playground/calls/realtime-media-session-web"},{"title":"Get calling settings","sidebarTitle":"Get calling settings","openapi":"openapi.json GET /v1/calls/settings","href":"/playground/calls/get-calling-settings"},{"title":"Update calling settings","sidebarTitle":"Update calling settings","openapi":"openapi.json PUT /v1/calls/settings","href":"/playground/calls/update-calling-settings"},{"title":"Get call permission","sidebarTitle":"Get call permission","openapi":"openapi.json GET /v1/calls/permissions","href":"/playground/calls/get-call-permission"},{"title":"Request call permission","sidebarTitle":"Request call permission","openapi":"openapi.json POST /v1/calls/permissions/request","href":"/playground/calls/request-call-permission"}]},{"group":"Phone Lines","pages":[{"title":"Search available numbers","sidebarTitle":"Search available numbers","openapi":"openapi.json GET /v1/phone-lines/available","href":"/playground/phone-lines/search-available-numbers"},{"title":"Buy phone lines","sidebarTitle":"Buy phone lines","openapi":"openapi.json POST /v1/phone-lines","href":"/playground/phone-lines/buy-phone-lines"},{"title":"List phone lines","sidebarTitle":"List phone lines","openapi":"openapi.json GET /v1/phone-lines","href":"/playground/phone-lines/list-phone-lines"},{"title":"Get phone line","sidebarTitle":"Get phone line","openapi":"openapi.json GET /v1/phone-lines/{id}","href":"/playground/phone-lines/get-phone-line"},{"title":"Cancel phone line","sidebarTitle":"Cancel phone line","openapi":"openapi.json DELETE /v1/phone-lines/{id}","href":"/playground/phone-lines/cancel-phone-line"},{"title":"Get holder verification","sidebarTitle":"Get holder verification","openapi":"openapi.json GET /v1/phone-lines/verification","description":"Reads the workspace's current account-holder verification — whether this workspace can buy phone lines (`canPurchase`). Read-only. Before any submit it answers `{ \"status\": \"NONE\", \"canPurchase\": false, \"verification\": null }`. `canPurchase` is `true` for `APPROVED` and `IN_REVIEW`; buying while `IN_REVIEW` depends on the review: if it is rejected, the lines bought during the review are returned to the carrier 3 days after the decision and their charges refunded to the wallet. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","href":"/playground/phone-lines/get-verification"},{"title":"Submit holder verification","sidebarTitle":"Submit holder verification","openapi":"openapi.json POST /v1/phone-lines/verification","href":"/playground/phone-lines/submit-verification"},{"title":"Send contact code","sidebarTitle":"Send contact code","openapi":"openapi.json POST /v1/phone-lines/verification/contact/{channel}/send","description":"⚠️ **This call is real**: it **sends a real verification code** to the holder's contact on that channel (a WhatsApp message or an e-mail).\n\nSends a new code on a required channel of the current verification and answers **200** with the state. The new code replaces the previous one. No body. The first codes are sent by `POST /v1/phone-lines/verification` itself: call this for a code that expired (10 minutes), was locked (5 wrong attempts), or did not arrive.\n\nAt most **one code per channel every 60 seconds**, counting the one the submit sent (429 `CONTACT_CODE_COOLDOWN`). Only while the verification is `PENDING_CONTACT` (409 `VERIFICATION_WRONG_STATE` afterwards), and only on a channel in `requiredChannels` (400 `CONTACT_CODE_NOT_REQUIRED`). 503 `SUPPLIER_UNAVAILABLE`: the code could not be queued for sending; nothing counts against the cooldown — try again. No `Idempotency-Key`: a send is limited by its cooldown. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","href":"/playground/phone-lines/send-contact-code"},{"title":"Confirm contact code","sidebarTitle":"Confirm contact code","openapi":"openapi.json POST /v1/phone-lines/verification/contact/{channel}/confirm","href":"/playground/phone-lines/confirm-contact-code"},{"title":"Send a new document","sidebarTitle":"Send a new document","openapi":"openapi.json POST /v1/phone-lines/verification/document","href":"/playground/phone-lines/send-new-document"},{"title":"Request activation code","sidebarTitle":"Request activation code","openapi":"openapi.json POST /v1/phone-lines/{id}/activations","href":"/playground/phone-lines/request-activation-code"},{"title":"Poll activation","sidebarTitle":"Poll activation","openapi":"openapi.json GET /v1/phone-lines/activations/{activationId}","href":"/playground/phone-lines/get-activation"},{"title":"Download call recording","sidebarTitle":"Download call recording","openapi":"openapi.json GET /v1/phone-lines/activations/{activationId}/audio","href":"/playground/phone-lines/download-call-recording"},{"title":"Activation code history","sidebarTitle":"Activation code history","openapi":"openapi.json GET /v1/phone-lines/{id}/activations","href":"/playground/phone-lines/list-activations"},{"title":"Cancel activation wait","sidebarTitle":"Cancel activation wait","openapi":"openapi.json POST /v1/phone-lines/{id}/activations/{activationId}/cancel","href":"/playground/phone-lines/cancel-activation-wait"},{"title":"List line webhooks","sidebarTitle":"List line webhooks","openapi":"openapi.json GET /v1/phone-lines/webhooks","href":"/playground/phone-lines/list-line-webhooks"},{"title":"Create line webhook","sidebarTitle":"Create line webhook","openapi":"openapi.json POST /v1/phone-lines/webhooks","href":"/playground/phone-lines/create-line-webhook"},{"title":"Get line webhook","sidebarTitle":"Get line webhook","openapi":"openapi.json GET /v1/phone-lines/webhooks/{id}","href":"/playground/phone-lines/get-line-webhook"},{"title":"Update line webhook","sidebarTitle":"Update line webhook","openapi":"openapi.json PATCH /v1/phone-lines/webhooks/{id}","href":"/playground/phone-lines/update-line-webhook"},{"title":"Delete line webhook","sidebarTitle":"Delete line webhook","openapi":"openapi.json DELETE /v1/phone-lines/webhooks/{id}","href":"/playground/phone-lines/delete-line-webhook"},{"title":"List line webhook deliveries","sidebarTitle":"List webhook deliveries","openapi":"openapi.json GET /v1/phone-lines/webhooks/{id}/deliveries","href":"/playground/phone-lines/list-line-webhook-deliveries"},{"title":"Get line webhook delivery","sidebarTitle":"Get webhook delivery","openapi":"openapi.json GET /v1/phone-lines/webhooks/{id}/deliveries/{deliveryId}","href":"/playground/phone-lines/get-line-webhook-delivery"}]},{"group":"Evolution GO","pages":[{"title":"Start outbound call","openapi":"openapi.evolution-go.json POST /call/start","href":"/playground/evolution-go/call-start"},{"title":"List active calls","openapi":"openapi.evolution-go.json GET /call/list","href":"/playground/evolution-go/call-list"},{"title":"Get call by id","openapi":"openapi.evolution-go.json POST /call/get","href":"/playground/evolution-go/call-get"},{"title":"Answer incoming call","openapi":"openapi.evolution-go.json POST /call/answer","href":"/playground/evolution-go/call-answer"},{"title":"Reject call","openapi":"openapi.evolution-go.json POST /call/reject","href":"/playground/evolution-go/call-reject"},{"title":"Reject tracked call","openapi":"openapi.evolution-go.json POST /call/reject/by-id","href":"/playground/evolution-go/call-reject-by-id"},{"title":"Reject latest offer","openapi":"openapi.evolution-go.json POST /call/reject/latest","href":"/playground/evolution-go/call-reject-latest"},{"title":"Hang up call","openapi":"openapi.evolution-go.json POST /call/hangup","href":"/playground/evolution-go/call-hangup"},{"title":"Play audio to call","openapi":"openapi.evolution-go.json POST /call/media/play","href":"/playground/evolution-go/call-media-play"},{"title":"Create realtime session","openapi":"openapi.evolution-go.json POST /call/media/realtime/session","href":"/playground/evolution-go/call-media-realtime-session"},{"title":"Pin a chat","openapi":"openapi.evolution-go.json POST /chat/pin","href":"/playground/evolution-go/chat-pin"},{"title":"Unpin a chat","openapi":"openapi.evolution-go.json POST /chat/unpin","href":"/playground/evolution-go/chat-unpin"},{"title":"Archive a chat","openapi":"openapi.evolution-go.json POST /chat/archive","href":"/playground/evolution-go/chat-archive"},{"title":"Unarchive a chat","openapi":"openapi.evolution-go.json POST /chat/unarchive","href":"/playground/evolution-go/chat-unarchive"},{"title":"Mute a chat","openapi":"openapi.evolution-go.json POST /chat/mute","href":"/playground/evolution-go/chat-mute"},{"title":"Unmute a chat","openapi":"openapi.evolution-go.json POST /chat/unmute","href":"/playground/evolution-go/chat-unmute"},{"title":"Request history sync","openapi":"openapi.evolution-go.json POST /chat/history-sync","href":"/playground/evolution-go/chat-history-sync"},{"title":"Create community","openapi":"openapi.evolution-go.json POST /community/create","href":"/playground/evolution-go/community-create"},{"title":"Add groups","openapi":"openapi.evolution-go.json POST /community/add","href":"/playground/evolution-go/community-add"},{"title":"Remove groups","openapi":"openapi.evolution-go.json POST /community/remove","href":"/playground/evolution-go/community-remove"},{"title":"List joined groups","openapi":"openapi.evolution-go.json GET /group/list","href":"/playground/evolution-go/group-list"},{"title":"Get group info","openapi":"openapi.evolution-go.json POST /group/info","href":"/playground/evolution-go/group-info"},{"title":"Get invite link","openapi":"openapi.evolution-go.json POST /group/invitelink","href":"/playground/evolution-go/group-invitelink"},{"title":"Set group photo","openapi":"openapi.evolution-go.json POST /group/photo","href":"/playground/evolution-go/group-photo"},{"title":"Set group name","openapi":"openapi.evolution-go.json POST /group/name","href":"/playground/evolution-go/group-name"},{"title":"Set group description","openapi":"openapi.evolution-go.json POST /group/description","href":"/playground/evolution-go/group-description"},{"title":"Create group","openapi":"openapi.evolution-go.json POST /group/create","href":"/playground/evolution-go/group-create"},{"title":"Update participants","openapi":"openapi.evolution-go.json POST /group/participant","href":"/playground/evolution-go/group-participant"},{"title":"List owned groups","openapi":"openapi.evolution-go.json GET /group/myall","href":"/playground/evolution-go/group-myall"},{"title":"Join via invite","openapi":"openapi.evolution-go.json POST /group/join","href":"/playground/evolution-go/group-join"},{"title":"Leave group","openapi":"openapi.evolution-go.json POST /group/leave","href":"/playground/evolution-go/group-leave"},{"title":"Add label to chat","openapi":"openapi.evolution-go.json POST /label/chat","href":"/playground/evolution-go/label-chat"},{"title":"Add label to message","openapi":"openapi.evolution-go.json POST /label/message","href":"/playground/evolution-go/label-message"},{"title":"Edit label","openapi":"openapi.evolution-go.json POST /label/edit","href":"/playground/evolution-go/label-edit"},{"title":"List all labels","openapi":"openapi.evolution-go.json GET /label/list","href":"/playground/evolution-go/label-list"},{"title":"Remove label from chat","openapi":"openapi.evolution-go.json POST /unlabel/chat","href":"/playground/evolution-go/unlabel-chat"},{"title":"Remove label from message","openapi":"openapi.evolution-go.json POST /unlabel/message","href":"/playground/evolution-go/unlabel-message"},{"title":"React to message","openapi":"openapi.evolution-go.json POST /message/react","href":"/playground/evolution-go/message-react"},{"title":"Send chat presence","openapi":"openapi.evolution-go.json POST /message/presence","href":"/playground/evolution-go/message-presence"},{"title":"Mark messages read","openapi":"openapi.evolution-go.json POST /message/markread","href":"/playground/evolution-go/message-markread"},{"title":"Download media","openapi":"openapi.evolution-go.json POST /message/downloadmedia","href":"/playground/evolution-go/message-downloadmedia"},{"title":"Get message status","openapi":"openapi.evolution-go.json POST /message/status","href":"/playground/evolution-go/message-status"},{"title":"Delete for everyone","openapi":"openapi.evolution-go.json POST /message/delete","href":"/playground/evolution-go/message-delete"},{"title":"Edit a message","openapi":"openapi.evolution-go.json POST /message/edit","href":"/playground/evolution-go/message-edit"},{"title":"Create newsletter","openapi":"openapi.evolution-go.json POST /newsletter/create","href":"/playground/evolution-go/newsletter-create"},{"title":"List newsletters","openapi":"openapi.evolution-go.json GET /newsletter/list","href":"/playground/evolution-go/newsletter-list"},{"title":"Get newsletter","openapi":"openapi.evolution-go.json POST /newsletter/info","href":"/playground/evolution-go/newsletter-info"},{"title":"Resolve invite","openapi":"openapi.evolution-go.json POST /newsletter/link","href":"/playground/evolution-go/newsletter-link"},{"title":"Subscribe to live updates","openapi":"openapi.evolution-go.json POST /newsletter/subscribe","href":"/playground/evolution-go/newsletter-subscribe"},{"title":"Get newsletter messages","openapi":"openapi.evolution-go.json POST /newsletter/messages","href":"/playground/evolution-go/newsletter-messages"},{"title":"Send text message","openapi":"openapi.evolution-go.json POST /send/text","href":"/playground/evolution-go/send-text"},{"title":"Send link preview","openapi":"openapi.evolution-go.json POST /send/link","href":"/playground/evolution-go/send-link"},{"title":"Send media message","openapi":"openapi.evolution-go.json POST /send/media","href":"/playground/evolution-go/send-media"},{"title":"Send poll","openapi":"openapi.evolution-go.json POST /send/poll","href":"/playground/evolution-go/send-poll"},{"title":"Send sticker","openapi":"openapi.evolution-go.json POST /send/sticker","href":"/playground/evolution-go/send-sticker"},{"title":"Send location","openapi":"openapi.evolution-go.json POST /send/location","href":"/playground/evolution-go/send-location"},{"title":"Send contact card","openapi":"openapi.evolution-go.json POST /send/contact","href":"/playground/evolution-go/send-contact"},{"title":"Send interactive buttons","openapi":"openapi.evolution-go.json POST /send/button","href":"/playground/evolution-go/send-button"},{"title":"Send list menu","openapi":"openapi.evolution-go.json POST /send/list","href":"/playground/evolution-go/send-list"},{"title":"Send carousel cards","openapi":"openapi.evolution-go.json POST /send/carousel","href":"/playground/evolution-go/send-carousel"},{"title":"Get user info","openapi":"openapi.evolution-go.json POST /user/info","href":"/playground/evolution-go/user-info"},{"title":"Check on WhatsApp","openapi":"openapi.evolution-go.json POST /user/check","href":"/playground/evolution-go/user-check"},{"title":"Get user avatar","openapi":"openapi.evolution-go.json POST /user/avatar","href":"/playground/evolution-go/user-avatar"},{"title":"List contacts","openapi":"openapi.evolution-go.json GET /user/contacts","href":"/playground/evolution-go/user-contacts"},{"title":"Get privacy settings","openapi":"openapi.evolution-go.json GET /user/privacy","href":"/playground/evolution-go/user-privacy"},{"title":"Set privacy settings","openapi":"openapi.evolution-go.json POST /user/privacy","href":"/playground/evolution-go/user-privacy-post"},{"title":"Block a contact","openapi":"openapi.evolution-go.json POST /user/block","href":"/playground/evolution-go/user-block"},{"title":"Unblock a contact","openapi":"openapi.evolution-go.json POST /user/unblock","href":"/playground/evolution-go/user-unblock"},{"title":"List blocked contacts","openapi":"openapi.evolution-go.json GET /user/blocklist","href":"/playground/evolution-go/user-blocklist"},{"title":"Set profile picture","openapi":"openapi.evolution-go.json POST /user/profilePicture","href":"/playground/evolution-go/user-profilepicture"},{"title":"Set profile name","openapi":"openapi.evolution-go.json POST /user/profileName","href":"/playground/evolution-go/user-profilename"},{"title":"Set profile status","openapi":"openapi.evolution-go.json POST /user/profileStatus","href":"/playground/evolution-go/user-profilestatus"}]},{"group":"Evolution V2","pages":[{"title":"Offer a call","openapi":"openapi.evolution-v2.json POST /call/offer/{instance}","href":"/playground/evolution-v2/call-offer"},{"title":"Fetch product catalog","openapi":"openapi.evolution-v2.json POST /business/getCatalog/{instance}","href":"/playground/evolution-v2/business-getcatalog"},{"title":"Fetch collections","openapi":"openapi.evolution-v2.json POST /business/getCollections/{instance}","href":"/playground/evolution-v2/business-getcollections"},{"title":"Check WhatsApp numbers","openapi":"openapi.evolution-v2.json POST /chat/whatsappNumbers/{instance}","href":"/playground/evolution-v2/chat-whatsappnumbers"},{"title":"Mark messages as read","openapi":"openapi.evolution-v2.json POST /chat/markMessageAsRead/{instance}","href":"/playground/evolution-v2/chat-markmessageasread"},{"title":"Archive or unarchive chat","openapi":"openapi.evolution-v2.json POST /chat/archiveChat/{instance}","href":"/playground/evolution-v2/chat-archivechat"},{"title":"Mark chat as unread","openapi":"openapi.evolution-v2.json POST /chat/markChatUnread/{instance}","href":"/playground/evolution-v2/chat-markchatunread"},{"title":"Delete message for everyone","openapi":"openapi.evolution-v2.json DELETE /chat/deleteMessageForEveryone/{instance}","href":"/playground/evolution-v2/chat-deletemessageforeveryone"},{"title":"Get media as base64","openapi":"openapi.evolution-v2.json POST /chat/getBase64FromMediaMessage/{instance}","href":"/playground/evolution-v2/chat-getbase64frommediamessage"},{"title":"Edit sent message","openapi":"openapi.evolution-v2.json POST /chat/updateMessage/{instance}","href":"/playground/evolution-v2/chat-updatemessage"},{"title":"Send presence update","openapi":"openapi.evolution-v2.json POST /chat/sendPresence/{instance}","href":"/playground/evolution-v2/chat-sendpresence"},{"title":"Block or unblock contact","openapi":"openapi.evolution-v2.json POST /chat/updateBlockStatus/{instance}","href":"/playground/evolution-v2/chat-updateblockstatus"},{"title":"Find chat by JID","openapi":"openapi.evolution-v2.json GET /chat/findChatByRemoteJid/{instance}","href":"/playground/evolution-v2/chat-findchatbyremotejid"},{"title":"Find contacts","openapi":"openapi.evolution-v2.json POST /chat/findContacts/{instance}","href":"/playground/evolution-v2/chat-findcontacts"},{"title":"Find messages","openapi":"openapi.evolution-v2.json POST /chat/findMessages/{instance}","href":"/playground/evolution-v2/chat-findmessages"},{"title":"Find message statuses","openapi":"openapi.evolution-v2.json POST /chat/findStatusMessage/{instance}","href":"/playground/evolution-v2/chat-findstatusmessage"},{"title":"Find chats","openapi":"openapi.evolution-v2.json POST /chat/findChats/{instance}","href":"/playground/evolution-v2/chat-findchats"},{"title":"Create group","openapi":"openapi.evolution-v2.json POST /group/create/{instance}","href":"/playground/evolution-v2/group-create"},{"title":"Update subject","openapi":"openapi.evolution-v2.json POST /group/updateGroupSubject/{instance}","href":"/playground/evolution-v2/group-updategroupsubject"},{"title":"Update picture","openapi":"openapi.evolution-v2.json POST /group/updateGroupPicture/{instance}","href":"/playground/evolution-v2/group-updategrouppicture"},{"title":"Update description","openapi":"openapi.evolution-v2.json POST /group/updateGroupDescription/{instance}","href":"/playground/evolution-v2/group-updategroupdescription"},{"title":"Get group info","openapi":"openapi.evolution-v2.json GET /group/findGroupInfos/{instance}","href":"/playground/evolution-v2/group-findgroupinfos"},{"title":"List all groups","openapi":"openapi.evolution-v2.json GET /group/fetchAllGroups/{instance}","href":"/playground/evolution-v2/group-fetchallgroups"},{"title":"List participants","openapi":"openapi.evolution-v2.json GET /group/participants/{instance}","href":"/playground/evolution-v2/group-participants"},{"title":"Get invite code","openapi":"openapi.evolution-v2.json GET /group/inviteCode/{instance}","href":"/playground/evolution-v2/group-invitecode"},{"title":"Get invite info","openapi":"openapi.evolution-v2.json GET /group/inviteInfo/{instance}","href":"/playground/evolution-v2/group-inviteinfo"},{"title":"Accept invite","openapi":"openapi.evolution-v2.json GET /group/acceptInviteCode/{instance}","href":"/playground/evolution-v2/group-acceptinvitecode"},{"title":"Send invite","openapi":"openapi.evolution-v2.json POST /group/sendInvite/{instance}","href":"/playground/evolution-v2/group-sendinvite"},{"title":"Revoke invite","openapi":"openapi.evolution-v2.json POST /group/revokeInviteCode/{instance}","href":"/playground/evolution-v2/group-revokeinvitecode"},{"title":"Update participants","openapi":"openapi.evolution-v2.json POST /group/updateParticipant/{instance}","href":"/playground/evolution-v2/group-updateparticipant"},{"title":"Update setting","openapi":"openapi.evolution-v2.json POST /group/updateSetting/{instance}","href":"/playground/evolution-v2/group-updatesetting"},{"title":"Update member add mode","openapi":"openapi.evolution-v2.json POST /group/updateMemberAddMode/{instance}","href":"/playground/evolution-v2/group-updatememberaddmode"},{"title":"Toggle disappearing messages","openapi":"openapi.evolution-v2.json POST /group/toggleEphemeral/{instance}","href":"/playground/evolution-v2/group-toggleephemeral"},{"title":"Leave group","openapi":"openapi.evolution-v2.json DELETE /group/leaveGroup/{instance}","href":"/playground/evolution-v2/group-leavegroup"},{"title":"List labels","openapi":"openapi.evolution-v2.json GET /label/findLabels/{instance}","href":"/playground/evolution-v2/label-findlabels"},{"title":"Add or remove label","openapi":"openapi.evolution-v2.json POST /label/handleLabel/{instance}","href":"/playground/evolution-v2/label-handlelabel"},{"title":"Send template","openapi":"openapi.evolution-v2.json POST /message/sendTemplate/{instance}","href":"/playground/evolution-v2/message-sendtemplate"},{"title":"Send text","openapi":"openapi.evolution-v2.json POST /message/sendText/{instance}","href":"/playground/evolution-v2/message-sendtext"},{"title":"Send media","openapi":"openapi.evolution-v2.json POST /message/sendMedia/{instance}","href":"/playground/evolution-v2/message-sendmedia"},{"title":"Send video note","openapi":"openapi.evolution-v2.json POST /message/sendPtv/{instance}","href":"/playground/evolution-v2/message-sendptv"},{"title":"Send voice audio","openapi":"openapi.evolution-v2.json POST /message/sendWhatsAppAudio/{instance}","href":"/playground/evolution-v2/message-sendwhatsappaudio"},{"title":"Send status","openapi":"openapi.evolution-v2.json POST /message/sendStatus/{instance}","href":"/playground/evolution-v2/message-sendstatus"},{"title":"Send sticker","openapi":"openapi.evolution-v2.json POST /message/sendSticker/{instance}","href":"/playground/evolution-v2/message-sendsticker"},{"title":"Send location","openapi":"openapi.evolution-v2.json POST /message/sendLocation/{instance}","href":"/playground/evolution-v2/message-sendlocation"},{"title":"Send contact","openapi":"openapi.evolution-v2.json POST /message/sendContact/{instance}","href":"/playground/evolution-v2/message-sendcontact"},{"title":"Send reaction","openapi":"openapi.evolution-v2.json POST /message/sendReaction/{instance}","href":"/playground/evolution-v2/message-sendreaction"},{"title":"Send poll","openapi":"openapi.evolution-v2.json POST /message/sendPoll/{instance}","href":"/playground/evolution-v2/message-sendpoll"},{"title":"Send list","openapi":"openapi.evolution-v2.json POST /message/sendList/{instance}","href":"/playground/evolution-v2/message-sendlist"},{"title":"Send buttons","openapi":"openapi.evolution-v2.json POST /message/sendButtons/{instance}","href":"/playground/evolution-v2/message-sendbuttons"},{"title":"Send carousel","openapi":"openapi.evolution-v2.json POST /message/sendCarousel/{instance}","href":"/playground/evolution-v2/message-sendcarousel"},{"title":"Get profile picture URL","openapi":"openapi.evolution-v2.json POST /chat/fetchProfilePictureUrl/{instance}","href":"/playground/evolution-v2/chat-fetchprofilepictureurl"},{"title":"Get business profile","openapi":"openapi.evolution-v2.json POST /chat/fetchBusinessProfile/{instance}","href":"/playground/evolution-v2/chat-fetchbusinessprofile"},{"title":"Get contact profile","openapi":"openapi.evolution-v2.json POST /chat/fetchProfile/{instance}","href":"/playground/evolution-v2/chat-fetchprofile"},{"title":"Update own display name","openapi":"openapi.evolution-v2.json POST /chat/updateProfileName/{instance}","href":"/playground/evolution-v2/chat-updateprofilename"},{"title":"Update own status text","openapi":"openapi.evolution-v2.json POST /chat/updateProfileStatus/{instance}","href":"/playground/evolution-v2/chat-updateprofilestatus"},{"title":"Update own profile picture","openapi":"openapi.evolution-v2.json POST /chat/updateProfilePicture/{instance}","href":"/playground/evolution-v2/chat-updateprofilepicture"},{"title":"Remove own profile picture","openapi":"openapi.evolution-v2.json DELETE /chat/removeProfilePicture/{instance}","href":"/playground/evolution-v2/chat-removeprofilepicture"},{"title":"Get privacy settings","openapi":"openapi.evolution-v2.json GET /chat/fetchPrivacySettings/{instance}","href":"/playground/evolution-v2/chat-fetchprivacysettings"},{"title":"Update privacy settings","openapi":"openapi.evolution-v2.json POST /chat/updatePrivacySettings/{instance}","href":"/playground/evolution-v2/chat-updateprivacysettings"},{"title":"Update settings","openapi":"openapi.evolution-v2.json POST /settings/set/{instance}","href":"/playground/evolution-v2/settings-set"},{"title":"Read settings","openapi":"openapi.evolution-v2.json GET /settings/find/{instance}","href":"/playground/evolution-v2/settings-find"},{"title":"Configure proxy","openapi":"openapi.evolution-v2.json POST /proxy/set/{instance}","href":"/playground/evolution-v2/proxy-set"},{"title":"Read proxy","openapi":"openapi.evolution-v2.json GET /proxy/find/{instance}","href":"/playground/evolution-v2/proxy-find"},{"title":"List stored media","openapi":"openapi.evolution-v2.json POST /s3/getMedia/{instance}","href":"/playground/evolution-v2/s3-getmedia"},{"title":"Get presigned media URL","openapi":"openapi.evolution-v2.json POST /s3/getMediaUrl/{instance}","href":"/playground/evolution-v2/s3-getmediaurl"},{"title":"Create template","openapi":"openapi.evolution-v2.json POST /template/create/{instance}","href":"/playground/evolution-v2/template-create"},{"title":"Edit template","openapi":"openapi.evolution-v2.json POST /template/edit/{instance}","href":"/playground/evolution-v2/template-edit"},{"title":"Delete template","openapi":"openapi.evolution-v2.json DELETE /template/delete/{instance}","href":"/playground/evolution-v2/template-delete"},{"title":"List templates","openapi":"openapi.evolution-v2.json GET /template/find/{instance}","href":"/playground/evolution-v2/template-find"}]},{"group":"Meta Cloud API","pages":[{"title":"Send a message","openapi":"openapi.meta.json POST /{phoneNumberId}/messages","href":"/playground/meta-cloud-api/post-phonenumberid-messages"},{"title":"Mark as read / typing","openapi":"openapi.meta.json POST /{phoneNumberId}/messages/status","href":"/playground/meta-cloud-api/post-phonenumberid-messages-status"},{"title":"Upload media","openapi":"openapi.meta.json POST /{phoneNumberId}/media","href":"/playground/meta-cloud-api/post-phonenumberid-media"},{"title":"Create upload session","openapi":"openapi.meta.json POST /{appId}/uploads","href":"/playground/meta-cloud-api/post-appid-uploads"},{"title":"Get by id","openapi":"openapi.meta.json GET /{id}","href":"/playground/meta-cloud-api/get-id"},{"title":"Update by id","openapi":"openapi.meta.json POST /{id}","href":"/playground/meta-cloud-api/post-id"},{"title":"Delete by id","openapi":"openapi.meta.json DELETE /{id}","href":"/playground/meta-cloud-api/delete-id"},{"title":"List templates","openapi":"openapi.meta.json GET /{wabaId}/message_templates","href":"/playground/meta-cloud-api/get-wabaid-message-templates"},{"title":"Create template","openapi":"openapi.meta.json POST /{wabaId}/message_templates","href":"/playground/meta-cloud-api/post-wabaid-message-templates"},{"title":"Delete template","openapi":"openapi.meta.json DELETE /{wabaId}/message_templates","href":"/playground/meta-cloud-api/delete-wabaid-message-templates"},{"title":"List phone numbers","openapi":"openapi.meta.json GET /{wabaId}/phone_numbers","href":"/playground/meta-cloud-api/get-wabaid-phone-numbers"},{"title":"Get business profile","openapi":"openapi.meta.json GET /{phoneNumberId}/whatsapp_business_profile","href":"/playground/meta-cloud-api/get-phonenumberid-whatsapp-business-profile"},{"title":"Update business profile","openapi":"openapi.meta.json POST /{phoneNumberId}/whatsapp_business_profile","href":"/playground/meta-cloud-api/post-phonenumberid-whatsapp-business-profile"},{"title":"Create group","openapi":"openapi.meta.json POST /{phoneNumberId}/groups","href":"/playground/meta-cloud-api/post-phonenumberid-groups"},{"title":"List groups","openapi":"openapi.meta.json GET /{phoneNumberId}/groups","href":"/playground/meta-cloud-api/get-phonenumberid-groups"},{"title":"Add participants","openapi":"openapi.meta.json POST /{groupId}/participants","href":"/playground/meta-cloud-api/post-groupid-participants"},{"title":"Remove participants","openapi":"openapi.meta.json DELETE /{groupId}/participants","href":"/playground/meta-cloud-api/delete-groupid-participants"},{"title":"Promote to admin","openapi":"openapi.meta.json POST /{groupId}/admins","href":"/playground/meta-cloud-api/post-groupid-admins"},{"title":"Demote admin","openapi":"openapi.meta.json DELETE /{groupId}/admins","href":"/playground/meta-cloud-api/delete-groupid-admins"},{"title":"Get invite link","openapi":"openapi.meta.json GET /{groupId}/invites","href":"/playground/meta-cloud-api/get-groupid-invites"},{"title":"Reset invite link","openapi":"openapi.meta.json POST /{groupId}/invites","href":"/playground/meta-cloud-api/post-groupid-invites"},{"title":"Pin group message","openapi":"openapi.meta.json POST /{groupId}/pins","href":"/playground/meta-cloud-api/post-groupid-pins"},{"title":"Call action","openapi":"openapi.meta.json POST /{phoneNumberId}/calls","href":"/playground/meta-cloud-api/post-phonenumberid-calls"},{"title":"Get calling settings","openapi":"openapi.meta.json GET /{phoneNumberId}/settings","href":"/playground/meta-cloud-api/get-phonenumberid-settings"},{"title":"Update calling settings","openapi":"openapi.meta.json POST /{phoneNumberId}/settings","href":"/playground/meta-cloud-api/post-phonenumberid-settings"},{"title":"Get call permissions","openapi":"openapi.meta.json GET /{phoneNumberId}/call_permissions","href":"/playground/meta-cloud-api/get-phonenumberid-call-permissions"}]}]},{"group":"Workspace","pages":[{"title":"Get the workspace","sidebarTitle":"Get the workspace","openapi":"openapi.json GET /v1/workspace","href":"/playground/workspace/get-workspace"},{"title":"List members","sidebarTitle":"List members","openapi":"openapi.json GET /v1/workspace/members","href":"/playground/workspace/list-members"},{"title":"Invite a member","sidebarTitle":"Invite a member","openapi":"openapi.json POST /v1/workspace/members","href":"/playground/workspace/invite-member"},{"title":"Resend an invitation","sidebarTitle":"Resend an invitation","openapi":"openapi.json POST /v1/workspace/members/{id}/resend","href":"/playground/workspace/resend-invitation"},{"title":"Change a member's role","sidebarTitle":"Change a member's role","openapi":"openapi.json PATCH /v1/workspace/members/{id}","href":"/playground/workspace/change-member-role"},{"title":"Set which numbers a member sees","sidebarTitle":"Set a member's numbers","openapi":"openapi.json PATCH /v1/workspace/members/{id}/numbers","href":"/playground/workspace/set-member-numbers"},{"title":"Remove a member","sidebarTitle":"Remove a member","openapi":"openapi.json DELETE /v1/workspace/members/{id}","href":"/playground/workspace/remove-member"},{"title":"List your workspaces","sidebarTitle":"List your workspaces","openapi":"openapi.json GET /v1/workspaces","href":"/playground/workspace/list-workspaces"},{"title":"Create a workspace","sidebarTitle":"Create a workspace","openapi":"openapi.json POST /v1/workspaces","href":"/playground/workspace/create-workspace"},{"title":"List workspace keys","sidebarTitle":"List workspace keys","openapi":"openapi.json GET /v1/workspaces/{workspaceId}/api-keys","href":"/playground/workspace/list-workspace-keys"},{"title":"Create a named workspace key","sidebarTitle":"Create a named workspace key","openapi":"openapi.json POST /v1/workspaces/{workspaceId}/api-keys","href":"/playground/workspace/create-workspace-key"},{"title":"Revoke a named workspace key","sidebarTitle":"Revoke a named workspace key","openapi":"openapi.json DELETE /v1/workspaces/{workspaceId}/api-keys/{keyId}","href":"/playground/workspace/revoke-workspace-key"},{"title":"Link the shared card","sidebarTitle":"Link the shared card","openapi":"openapi.json PUT /v1/workspaces/{workspaceId}/shared-card","href":"/playground/workspace/link-shared-card"},{"title":"Unlink the shared card","sidebarTitle":"Unlink the shared card","openapi":"openapi.json DELETE /v1/workspaces/{workspaceId}/shared-card","href":"/playground/workspace/unlink-shared-card"},{"title":"List workspace webhooks","sidebarTitle":"List workspace webhooks","openapi":"openapi.json GET /v1/workspace/webhooks","href":"/playground/workspace/list-workspace-webhooks"},{"title":"Create workspace webhook","sidebarTitle":"Create workspace webhook","openapi":"openapi.json POST /v1/workspace/webhooks","href":"/playground/workspace/create-workspace-webhook"},{"title":"Get workspace webhook","sidebarTitle":"Get workspace webhook","openapi":"openapi.json GET /v1/workspace/webhooks/{id}","href":"/playground/workspace/get-workspace-webhook"},{"title":"Update workspace webhook","sidebarTitle":"Update workspace webhook","openapi":"openapi.json PATCH /v1/workspace/webhooks/{id}","href":"/playground/workspace/update-workspace-webhook"},{"title":"Delete workspace webhook","sidebarTitle":"Delete workspace webhook","openapi":"openapi.json DELETE /v1/workspace/webhooks/{id}","href":"/playground/workspace/delete-workspace-webhook"},{"title":"List workspace webhook deliveries","sidebarTitle":"List workspace webhook deliveries","openapi":"openapi.json GET /v1/workspace/webhooks/{id}/deliveries","href":"/playground/workspace/list-workspace-webhook-deliveries"},{"title":"Get workspace webhook delivery","sidebarTitle":"Get workspace webhook delivery","openapi":"openapi.json GET /v1/workspace/webhooks/{id}/deliveries/{deliveryId}","href":"/playground/workspace/get-workspace-webhook-delivery"}]}]}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/introduction"}]}]},"title":"Submit holder verification - Pilot Status","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-CT9uE8Ip.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}