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.
GET
/
v1
/
phone-lines
/
verification
Get holder verification
curl --request GET \ --url https://pilotstatus.com.br/v1/phone-lines/verification \ --header 'x-api-key: <api-key>'
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":"59a5a1a4-6fbb-4e60-8a06-bc5886913d58","liveDeploymentHistoryId":"6ae3bea7003ddd1c61ff80a2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3bea7003ddd1c61ff80a2"},"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/get-verification","slug":"/playground/phone-lines/get-verification","pageMetadata":{"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"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Reads the workspace’s current account-holder verification — whether this workspace can buy phone lines (\", _jsx(_components.code, {\n children: \"canPurchase\"\n }), \"). Read-only. Before any submit it answers \", _jsx(_components.code, {\n children: \"{ \\\"status\\\": \\\"NONE\\\", \\\"canPurchase\\\": false, \\\"verification\\\": null }\"\n }), \". \", _jsx(_components.code, {\n children: \"canPurchase\"\n }), \" is \", _jsx(_components.code, {\n children: \"true\"\n }), \" for \", _jsx(_components.code, {\n children: \"APPROVED\"\n }), \" and \", _jsx(_components.code, {\n children: \"IN_REVIEW\"\n }), \"; buying while \", _jsx(_components.code, {\n children: \"IN_REVIEW\"\n }), \" 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 \", _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}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"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"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Get holder 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.","tags":["Phone Lines"],"operationId":"get_phone_lines_verification","responses":{"200":"afca88db-c5f5-41c0-b70e-40262cd3ba20","401":"910f4c53-8bb1-4c2f-8316-52de7d024c8a","403":"0bf91cbd-66f9-4eb5-b6f7-e29ecb58c22e","500":"6ffc977a-8ae8-4532-97d3-28e2c771f455"},"method":"get","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":"Get holder verification","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"responses":{"afca88db-c5f5-41c0-b70e-40262cd3ba20":{"description":"The verification state","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"},"examples":{"none":{"title":"none","value":{"status":"NONE","canPurchase":false,"verification":null}},"pendingContact":{"title":"pendingContact","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"}}},"inReview":{"title":"inReview","value":{"status":"IN_REVIEW","canPurchase":true,"verification":{"id":"cmg5k0v3r0000vf8example7k","documentType":"CNPJ","documentNumber":"**.***.333/0001-**","legalName":"ACME LTDA","contact":{"email":"a***@example.com","whatsapp":"+5511****0000","requiredChannels":["WHATSAPP","EMAIL"],"confirmedChannels":["WHATSAPP","EMAIL"],"pendingChannels":[]},"document":{"status":"RECEIVED"},"reviewReason":"DOCUMENT_CHECK","reviewNote":null,"createdAt":"2026-10-01T13:55:02.000Z","updatedAt":"2026-10-01T14:20:12.000Z"}}},"approved":{"title":"approved","value":{"status":"APPROVED","canPurchase":true,"verification":{"id":"cmg5k0v3r0000vf8example7k","documentType":"CNPJ","documentNumber":"**.***.333/0001-**","legalName":"ACME LTDA","contact":{"email":"a***@example.com","whatsapp":"+5511****0000","requiredChannels":["WHATSAPP","EMAIL"],"confirmedChannels":["WHATSAPP","EMAIL"],"pendingChannels":[]},"document":{"status":"RECEIVED"},"reviewReason":null,"reviewNote":null,"createdAt":"2026-10-01T13:55:02.000Z","updatedAt":"2026-10-01T13:57:31.000Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"910f4c53-8bb1-4c2f-8316-52de7d024c8a":{"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"},"0bf91cbd-66f9-4eb5-b6f7-e29ecb58c22e":{"description":"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":{"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"},"6ffc977a-8ae8-4532-97d3-28e2c771f455":{"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"}},"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":"Get holder verification - Pilot Status","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/playground/phone-lines/get-verification","matchLevel":0},"pt-BR":{"href":"/pt-BR/introduction","matchLevel":4}}},"lastModified":"2026-10-27T12:13:17.213Z","originalFileLocation":"playground/phone-lines/get-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=\"Reads the workspace\u0026#x27;s current account-holder verification — whether this workspace can buy phone lines (canPurchase). Read-only. Before any submit it answers { \u0026quot;status\u0026quot;: \u0026quot;NONE\u0026quot;, \u0026quot;canPurchase\u0026quot;: false, \u0026quot;verification\u0026quot;: 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\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=\"Get holder verification - Pilot Status\">\u003cmeta data-mint-head property=\"og:description\" content=\"Reads the workspace\u0026#x27;s current account-holder verification — whether this workspace can buy phone lines (canPurchase). Read-only. Before any submit it answers { \u0026quot;status\u0026quot;: \u0026quot;NONE\u0026quot;, \u0026quot;canPurchase\u0026quot;: false, \u0026quot;verification\u0026quot;: 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\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/get-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=Get+holder+verification\u0026amp;description=Reads+the+workspace%27s+current+account-holder+verification+%E2%80%94+whether+this+workspace+can+buy+phone+lines+%28%60canPurchase%60%29.+Read-only.+Before+any+submit+it+answers+\u0026amp;theme=35ef0efd94d4b104966e83c5\u0026amp;signature=22b9f5f62d58665aff6c9e95a2a0bc960663e8303cb76ec8eb08f250c45eb0ef\">\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=\"Get holder verification - Pilot Status\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Reads the workspace\u0026#x27;s current account-holder verification — whether this workspace can buy phone lines (canPurchase). Read-only. Before any submit it answers { \u0026quot;status\u0026quot;: \u0026quot;NONE\u0026quot;, \u0026quot;canPurchase\u0026quot;: false, \u0026quot;verification\u0026quot;: 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\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=Get+holder+verification\u0026amp;description=Reads+the+workspace%27s+current+account-holder+verification+%E2%80%94+whether+this+workspace+can+buy+phone+lines+%28%60canPurchase%60%29.+Read-only.+Before+any+submit+it+answers+\u0026amp;theme=35ef0efd94d4b104966e83c5\u0026amp;signature=22b9f5f62d58665aff6c9e95a2a0bc960663e8303cb76ec8eb08f250c45eb0ef\">\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/get-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/get-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/get-verification#webpage\",\"url\":\"https://docs.pilotstatus.com.br/playground/phone-lines/get-verification\",\"name\":\"Get holder 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.\",\"dateModified\":\"2026-10-27T12:13:17.213Z\",\"isPartOf\":{\"@id\":\"https://docs.pilotstatus.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/get-verification#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/get-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\":\"Get holder verification\",\"item\":\"https://docs.pilotstatus.com.br/playground/phone-lines/get-verification\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/get-verification#apireference\",\"headline\":\"Get holder verification\",\"name\":\"Get holder 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.\",\"url\":\"https://docs.pilotstatus.com.br/playground/phone-lines/get-verification\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/get-verification#webpage\"},\"dateModified\":\"2026-10-27T12:13:17.213Z\",\"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}","description":"⚠️ **Real side effect — this is NOT a simulation, including from the playground.** Cancels the line and answers the line **as it is afterwards**. What happens depends on its `status`:\n\n| `status` before | Result | Response |\n| --- | --- | --- |\n| `ACTIVE` | **Cancelled at period end, no refund.** The line stays `ACTIVE` and fully usable — activation codes included — until `currentPeriodEnd`; it is not renewed and becomes `CANCELED` when the period ends. | `200`, `status: \"ACTIVE\"`, `cancelAtPeriodEnd: true` |\n| `ACTIVE`, already cancelled | Nothing changes — calling again is safe. | `200`, same line |\n| `PAYMENT_PENDING`, `SUSPENDED` | **Returned to the carrier immediately — IRREVERSIBLE.** There is no paid period left. | `200`, `status: \"RETURNED\"` |\n| `RETURNED`, `CANCELED` | Refused — the line is already finished. | `409 NOT_CANCELABLE` |\n\n**A returned number stops being yours**: nothing undoes a return, and there is **no guarantee it can be bought back** — it goes back to the carrier's pool, where anyone may rent it next. The WhatsApp account activated on it stays tied to that number. The line's code history — codes and call recordings — is deleted. Cancelling an unpaid line does this **at once**, with no grace period. Undoing a scheduled cancellation of an `ACTIVE` line is dashboard-only (Owner).\n\nIf a return of the same unpaid line is already under way (hourly billing run, or the dashboard's **Choose which lines to keep**), the call answers `200` with the line as it stands — possibly still `PAYMENT_PENDING` or `SUSPENDED` — and that process completes the return. Events: `phone_line.canceled` when a line cancelled at period end becomes `CANCELED`; `phone_line.returned` with `reason: \"canceled_by_customer\"` right away for an unpaid line returned by this call.\n\nPermissions: with an OAuth / MCP token, only the workspace **Owner** may cancel (`phone_lines:cancel`) — `403 PERMISSION_DENIED` otherwise.\n\nEvery `/v1/phone-lines` endpoint takes a **tenant-scoped** key only: a line belongs to the workspace, not to a WhatsApp number, so a number-scoped key (or a per-number OAuth grant) gets `403 NUMBER_SCOPE_NOT_ALLOWED` before any role is looked at. A `403 PERMISSION_DENIED` / `WORKSPACE_MEMBERSHIP_REQUIRED` is sent with `Cache-Control: no-store`.\n\n**Requires a tenant-scoped key.**","href":"/playground/phone-lines/cancel-phone-line"},{"title":"Get holder verification","sidebarTitle":"Get holder verification","openapi":"openapi.json GET /v1/phone-lines/verification","href":"/playground/phone-lines/get-verification"},{"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"},{"title":"Send contact code","sidebarTitle":"Send contact code","openapi":"openapi.json POST /v1/phone-lines/verification/contact/{channel}/send","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":"Get 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"]}