⚠️ This call is real: it uploads a new identity document to the workspace’s verification, replacing the previous one, and can decide the verification.
Replaces the document of the current verification and answers 200 with the state. The body is JSON (Content-Type: application/json), not multipart: { "document": "data:…;base64,…" }, the same file rules as POST /v1/phone-lines/verification, and it counts against the same submission limit (10 per hour per workspace → 429 RATE_LIMITED). Accepted in two states:
PENDING_CONTACT — to replace the document you sent. Do it when document.status is UNREADABLE or UNCLEAR: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (IN_REVIEW, reviewReason: "DOCUMENT_CHECK").
NEEDS_DOCUMENT — the reviewer asked for another document (reviewNote may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response.
In any other state it answers 409 VERIFICATION_WRONG_STATE; with no verification, 404 VERIFICATION_NOT_FOUND. No Idempotency-Key: a document replaces the previous one. 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.
The document file as a base64 data URI: data:<type>;base64,<content>, encoded without line breaks. Types: application/pdf, image/jpeg, image/png, image/webp; at most 10 MB of file (about 14 MB once encoded). For a CNPJ: the CNPJ card (Cartão CNPJ), the articles of incorporation or the registration proof. For a CPF: an ID card (RG), a driver license (CNH) or the CPF registration proof, with the number readable.
NONE (never started), PENDING_CONTACT (waiting for the contact codes and, if document.status says so, a better document), IN_REVIEW (finished, waiting for a person — purchase allowed), APPROVED (verified — purchase allowed), NEEDS_DOCUMENT (the reviewer asked for another document) or REJECTED (final — talk to support). The phone_line.verification_updated webhook uses the same values for the last four.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Pilot Status","description":"Pilot Status — WhatsApp API \u0026 messaging infrastructure. Send and receive WhatsApp messages via REST API, webhooks, MCP server, and dashboard. Official (Meta Cloud API) and unofficial connections.","colors":{"primary":"#19E17D","light":"#2EE98C","dark":"#19E17D"},"logo":{"light":"https://mintcdn.com/iaxp/bFY4-GIf_icRI6gv/images/wordmark-light.svg?fit=max\u0026auto=format\u0026n=bFY4-GIf_icRI6gv\u0026q=85\u0026s=956be78168490eaf8ae153ff8c58b4a7","dark":"https://mintcdn.com/iaxp/OICBZy4RbSGLpCw_/images/wordmark-dark.svg?fit=max\u0026auto=format\u0026n=OICBZy4RbSGLpCw_\u0026q=85\u0026s=9ce419fd878af00cc2d3c22f36da8e23"},"favicon":"https://media.brand.dev/75fcb4cf-8fa0-40cb-b428-c03cb409236b.svg","api":{"playground":{"display":"interactive"}},"background":{"color":{"light":"#FCF5E9","dark":"#0B1419"}},"navbar":{"links":[{"href":"https://wa.me/5585936180633","label":"Support"}],"primary":{"type":"button","label":"Get Started Free","href":"https://pilotstatus.com.br"}},"footer":{"socials":{"x":"https://x.com/pilotstatus"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":"introduction"},{"language":"pt-BR","href":"pt-BR/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"iaxp","hasAudioNarration":false,"actualSubdomain":"iaxp","customDomains":["docs.pilotstatus.com.br"],"gitSource":{"type":"github","owner":"oismaelash","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"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/send-new-document","slug":"/playground/phone-lines/send-new-document","pageMetadata":{"title":"Send a new document","sidebarTitle":"Send a new document","openapi":"openapi.json POST /v1/phone-lines/verification/document","description":"⚠️ **This call is real**: it uploads a new identity document to the workspace's verification, replacing the previous one, and can **decide** the verification.\n\nReplaces the document of the current verification and answers **200** with the state. The body is **JSON** (`Content-Type: application/json`), not multipart: `{ \"document\": \"data:…;base64,…\" }`, the same file rules as `POST /v1/phone-lines/verification`, and it counts against the same submission limit (10 per hour per workspace → 429 `RATE_LIMITED`). Accepted in two states:\n\n- **`PENDING_CONTACT`** — to replace the document you sent. Do it when `document.status` is `UNREADABLE` or `UNCLEAR`: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (`IN_REVIEW`, `reviewReason: \"DOCUMENT_CHECK\"`).\n- **`NEEDS_DOCUMENT`** — the reviewer asked for another document (`reviewNote` may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response.\n\nIn any other state it answers 409 `VERIFICATION_WRONG_STATE`; with no verification, 404 `VERIFICATION_NOT_FOUND`. No `Idempotency-Key`: a document replaces the previous one. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","href":"/playground/phone-lines/send-new-document"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"⚠️ \", _jsx(_components.strong, {\n children: \"This call is real\"\n }), \": it uploads a new identity document to the workspace’s verification, replacing the previous one, and can \", _jsx(_components.strong, {\n children: \"decide\"\n }), \" the verification.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Replaces the document of the current verification and answers \", _jsx(_components.strong, {\n children: \"200\"\n }), \" with the state. The body is \", _jsx(_components.strong, {\n children: \"JSON\"\n }), \" (\", _jsx(_components.code, {\n children: \"Content-Type: application/json\"\n }), \"), not multipart: \", _jsx(_components.code, {\n children: \"{ \\\"document\\\": \\\"data:…;base64,…\\\" }\"\n }), \", the same file rules as \", _jsx(_components.code, {\n children: \"POST /v1/phone-lines/verification\"\n }), \", and it counts against the same submission limit (10 per hour per workspace → 429 \", _jsx(_components.code, {\n children: \"RATE_LIMITED\"\n }), \"). Accepted in two states:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"PENDING_CONTACT\"\n })\n }), \" — to replace the document you sent. Do it when \", _jsx(_components.code, {\n children: \"document.status\"\n }), \" is \", _jsx(_components.code, {\n children: \"UNREADABLE\"\n }), \" or \", _jsx(_components.code, {\n children: \"UNCLEAR\"\n }), \": we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (\", _jsx(_components.code, {\n children: \"IN_REVIEW\"\n }), \", \", _jsx(_components.code, {\n children: \"reviewReason: \\\"DOCUMENT_CHECK\\\"\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: _jsx(_components.code, {\n children: \"NEEDS_DOCUMENT\"\n })\n }), \" — the reviewer asked for another document (\", _jsx(_components.code, {\n children: \"reviewNote\"\n }), \" may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"In any other state it answers 409 \", _jsx(_components.code, {\n children: \"VERIFICATION_WRONG_STATE\"\n }), \"; with no verification, 404 \", _jsx(_components.code, {\n children: \"VERIFICATION_NOT_FOUND\"\n }), \". No \", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \": a document replaces the previous one. Requires a \", _jsx(_components.strong, {\n children: \"tenant-scoped\"\n }), \" key, like every \", _jsx(_components.code, {\n children: \"/v1/phone-lines\"\n }), \" endpoint (a number-scoped key gets \", _jsx(_components.code, {\n children: \"403 NUMBER_SCOPE_NOT_ALLOWED\"\n }), \"). Permission \", _jsx(_components.code, {\n children: \"phone_lines:purchase\"\n }), \", the same as buying: with an OAuth/MCP token only the workspace \", _jsx(_components.strong, {\n children: \"OWNER\"\n }), \" may call it (\", _jsx(_components.code, {\n children: \"403 PERMISSION_DENIED\"\n }), \" otherwise). It is the same verification as the dashboard’s (\", _jsx(_components.strong, {\n children: \"Phone lines\"\n }), \" → \", _jsx(_components.strong, {\n children: \"Buy phone lines\"\n }), \"): whichever you use, the other sees the result. The response is the verification state object, sent with \", _jsx(_components.code, {\n children: \"Cache-Control: no-store\"\n }), \"; the document number and the contacts come back masked.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Warning}=_components;if(!Warning)_missingMdxReference(`Warning`,true);return _jsx(Warning,{children:_jsx(_components.p,{children:_jsx(_components.strong,{children:`This replaces the document of your real identity verification.`})})})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Send a new document","sidebarTitle":"Send a new document","openapi":"openapi.json POST /v1/phone-lines/verification/document","description":"⚠️ **This call is real**: it uploads a new identity document to the workspace's verification, replacing the previous one, and can **decide** the verification.\n\nReplaces the document of the current verification and answers **200** with the state. The body is **JSON** (`Content-Type: application/json`), not multipart: `{ \"document\": \"data:…;base64,…\" }`, the same file rules as `POST /v1/phone-lines/verification`, and it counts against the same submission limit (10 per hour per workspace → 429 `RATE_LIMITED`). Accepted in two states:\n\n- **`PENDING_CONTACT`** — to replace the document you sent. Do it when `document.status` is `UNREADABLE` or `UNCLEAR`: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (`IN_REVIEW`, `reviewReason: \"DOCUMENT_CHECK\"`).\n- **`NEEDS_DOCUMENT`** — the reviewer asked for another document (`reviewNote` may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response.\n\nIn any other state it answers 409 `VERIFICATION_WRONG_STATE`; with no verification, 404 `VERIFICATION_NOT_FOUND`. No `Idempotency-Key`: a document replaces the previous one. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","href":"/playground/phone-lines/send-new-document"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Send a new document","description":"⚠️ **This call is real**: it uploads a new identity document to the workspace's verification, replacing the previous one, and can **decide** the verification.\n\nReplaces the document of the current verification and answers **200** with the state. The body is **JSON** (`Content-Type: application/json`), not multipart: `{ \"document\": \"data:…;base64,…\" }`, the same file rules as `POST /v1/phone-lines/verification`, and it counts against the same submission limit (10 per hour per workspace → 429 `RATE_LIMITED`). Accepted in two states:\n\n- **`PENDING_CONTACT`** — to replace the document you sent. Do it when `document.status` is `UNREADABLE` or `UNCLEAR`: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (`IN_REVIEW`, `reviewReason: \"DOCUMENT_CHECK\"`).\n- **`NEEDS_DOCUMENT`** — the reviewer asked for another document (`reviewNote` may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response.\n\nIn any other state it answers 409 `VERIFICATION_WRONG_STATE`; with no verification, 404 `VERIFICATION_NOT_FOUND`. No `Idempotency-Key`: a document replaces the previous one. Requires a **tenant-scoped** key, like every `/v1/phone-lines` endpoint (a number-scoped key gets `403 NUMBER_SCOPE_NOT_ALLOWED`). Permission `phone_lines:purchase`, the same as buying: with an OAuth/MCP token only the workspace **OWNER** may call it (`403 PERMISSION_DENIED` otherwise). It is the same verification as the dashboard's (**Phone lines** → **Buy phone lines**): whichever you use, the other sees the result. The response is the verification state object, sent with `Cache-Control: no-store`; the document number and the contacts come back masked.","tags":["Phone Lines"],"operationId":"post_phone_lines_verification_document","requestBody":"9de1bfd5-3e86-4ef3-b80a-128e93065cd7","responses":{"200":"3f11fe64-5aa9-47de-8108-095bb3602a19","400":"78cb7183-95f9-40f7-8328-19013254286d","401":"31b3ad38-36e3-4b38-8458-324646985fa4","403":"e94964db-2f47-4416-ad32-8587750427ed","404":"6121ab88-1aff-457b-886a-7217235cdebc","409":"eb2d8647-6bc9-40be-a0cc-7bbcfb55e6e6","413":"e25d8fa1-fcac-4c99-8694-54f6cfdcabea","429":"00251384-6956-4946-aa38-ddc8fa1bd16a","500":"8384ef7e-173a-4735-a57c-9a6ddbe52b9a"},"method":"post","type":"path","servers":["0bf83696-f5dc-4225-bba6-c546ef6a5f2e"],"security":["b34c6d41-17b1-4f72-b7c0-cf92b9171978","b82efe59-eefd-407a-8cf2-c3569ed12bdc"],"path":"/v1/phone-lines/verification/document","baseUrlOptions":["https://pilotstatus.com.br"],"title":"Send a new document","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["document"],"additionalProperties":false,"properties":{"document":{"type":"string","description":"The document file as a **base64 data URI**: `data:\u003ctype>;base64,\u003ccontent>`, encoded without line breaks. Types: `application/pdf`, `image/jpeg`, `image/png`, `image/webp`; at most **10 MB** of file (about 14 MB once encoded). For a CNPJ: the CNPJ card (*Cartão CNPJ*), the articles of incorporation or the registration proof. For a CPF: an ID card (RG), a driver license (CNH) or the CPF registration proof, with the number readable.","example":"data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCg==","isRequired":true,"uniqueKey":"document","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"document":"data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCg=="},"examples":{"Example":{"title":"Example","value":{"document":"data:application/pdf;base64,JVBERi0xLjQKJcOkw7zDtsOfCg=="}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"3f11fe64-5aa9-47de-8108-095bb3602a19":{"description":"Document replaced; 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":{"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"}}},"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"},"78cb7183-95f9-40f7-8328-19013254286d":{"description":"`INVALID_BODY` (not a JSON object), `UNKNOWN_FIELDS` (anything but `document`), `INVALID_DOCUMENT` (not a base64 data URI) or `DOCUMENT_TYPE_UNSUPPORTED` (not PDF/JPEG/PNG/WEBP).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"English sentence and Portuguese sentence separated by ` | `.","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code — branch on it, never on the text.","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","description":"Validation errors only: `unknownFields` (array) or `maxLength` (number).","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"invalidDocument":{"title":"invalidDocument","value":{"error":"document must be the file as a base64 data URI, e.g. data:application/pdf;base64,JVBERi0x… | document deve ser o arquivo como data URI em base64, ex.: data:application/pdf;base64,JVBERi0x…","code":"INVALID_DOCUMENT"}},"documentTypeUnsupported":{"title":"documentTypeUnsupported","value":{"error":"Send a PDF, JPG, PNG or WEBP file. | Envie um arquivo PDF, JPG, PNG ou WEBP.","code":"DOCUMENT_TYPE_UNSUPPORTED"}},"unknownFields":{"title":"unknownFields","value":{"error":"Unknown field(s): documentType. This endpoint accepts only \"document\". | Campo(s) desconhecido(s): documentType. Este endpoint aceita apenas \"document\".","code":"UNKNOWN_FIELDS","details":{"unknownFields":["documentType"]}}}},"exampleType":"examples"}},"exampleType":"examples"},"31b3ad38-36e3-4b38-8458-324646985fa4":{"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"},"e94964db-2f47-4416-ad32-8587750427ed":{"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"},"6121ab88-1aff-457b-886a-7217235cdebc":{"description":"`VERIFICATION_NOT_FOUND`: nothing was submitted in this 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"},"example":{"error":"Verification not found. | Verificação não encontrada.","code":"VERIFICATION_NOT_FOUND"},"examples":{"Example":{"title":"Example","value":{"error":"Verification not found. | Verificação não encontrada.","code":"VERIFICATION_NOT_FOUND"}}},"exampleType":"examples"}},"exampleType":"examples"},"eb2d8647-6bc9-40be-a0cc-7bbcfb55e6e6":{"description":"`VERIFICATION_WRONG_STATE`: the verification is not `PENDING_CONTACT` nor `NEEDS_DOCUMENT`.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"The verification is not in a state that allows this. | A verificação não está em um estado que permita isso.","code":"VERIFICATION_WRONG_STATE"},"examples":{"Example":{"title":"Example","value":{"error":"The verification is not in a state that allows this. | A verificação não está em um estado que permita isso.","code":"VERIFICATION_WRONG_STATE"}}},"exampleType":"examples"}},"exampleType":"examples"},"e25d8fa1-fcac-4c99-8694-54f6cfdcabea":{"description":"The file is over 10 MB.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"The file is larger than 10 MB. | O arquivo tem mais de 10 MB.","code":"DOCUMENT_TOO_LARGE"},"examples":{"Example":{"title":"Example","value":{"error":"The file is larger than 10 MB. | O arquivo tem mais de 10 MB.","code":"DOCUMENT_TOO_LARGE"}}},"exampleType":"examples"}},"exampleType":"examples"},"00251384-6956-4946-aa38-ddc8fa1bd16a":{"description":"`RATE_LIMITED`: over 10 submissions in the hour for this workspace (this endpoint and `POST /v1/phone-lines/verification` together). Wait `Retry-After` seconds.","headers":{"Retry-After":{"description":"Seconds to wait before the next submission.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"retryAfterSeconds":{"type":"integer","description":"Seconds until a new submission is accepted.","uniqueKey":"retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Too many verification submissions: at most 10 per hour per workspace. Try again later. | Envios de verificação demais: no máximo 10 por hora por workspace. Tente de novo mais tarde.","code":"RATE_LIMITED","retryAfterSeconds":1820},"examples":{"Example":{"title":"Example","value":{"error":"Too many verification submissions: at most 10 per hour per workspace. Try again later. | Envios de verificação demais: no máximo 10 por hora por workspace. Tente de novo mais tarde.","code":"RATE_LIMITED","retryAfterSeconds":1820}}},"exampleType":"examples"}},"exampleType":"examples"},"8384ef7e-173a-4735-a57c-9a6ddbe52b9a":{"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":"Send a new document - Pilot Status","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/playground/phone-lines/send-new-document","matchLevel":0},"pt-BR":{"href":"/pt-BR/introduction","matchLevel":4}}},"lastModified":"2026-10-27T12:13:17.214Z","originalFileLocation":"playground/phone-lines/send-new-document.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"⚠️ This call is real: it uploads a new identity document to the workspace\u0026#x27;s verification, replacing the previous one, and can decide the verification. Replaces the document of the current verification and answers 200 with the state. The body is JSON (Content-Type: application/json), not multipart: { \u0026quot;document\u0026quot;: \u0026quot;data:…;base64,…\u0026quot; }, the same file rules as POST /v1/phone-lines/verification, and it counts against the same submission limit (10 per hour per workspace → 429 RATE_LIMITED). Accepted in two states: - PENDING_CONTACT — to replace the document you sent. Do it when document.status is UNREADABLE or UNCLEAR: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (IN_REVIEW, reviewReason: \u0026quot;DOCUMENT_CHECK\u0026quot;). - NEEDS_DOCUMENT — the reviewer asked for another document (reviewNote may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response. In any other state it answers 409 VERIFICATION_WRONG_STATE; with no verification, 404 VERIFICATION_NOT_FOUND. No Idempotency-Key: a document replaces the previous one. 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=\"Send a new document - Pilot Status\">\u003cmeta data-mint-head property=\"og:description\" content=\"⚠️ This call is real: it uploads a new identity document to the workspace\u0026#x27;s verification, replacing the previous one, and can decide the verification. Replaces the document of the current verification and answers 200 with the state. The body is JSON (Content-Type: application/json), not multipart: { \u0026quot;document\u0026quot;: \u0026quot;data:…;base64,…\u0026quot; }, the same file rules as POST /v1/phone-lines/verification, and it counts against the same submission limit (10 per hour per workspace → 429 RATE_LIMITED). Accepted in two states: - PENDING_CONTACT — to replace the document you sent. Do it when document.status is UNREADABLE or UNCLEAR: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (IN_REVIEW, reviewReason: \u0026quot;DOCUMENT_CHECK\u0026quot;). - NEEDS_DOCUMENT — the reviewer asked for another document (reviewNote may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response. In any other state it answers 409 VERIFICATION_WRONG_STATE; with no verification, 404 VERIFICATION_NOT_FOUND. No Idempotency-Key: a document replaces the previous one. 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/send-new-document\">\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=Send+a+new+document\u0026amp;description=%E2%9A%A0%EF%B8%8F+**This+call+is+real**%3A+it+uploads+a+new+identity+document+to+the+workspace%27s+verification%2C+replacing+the+previous+one%2C+and+can+**decide**+the+verification.%0A%0A\u0026amp;theme=35ef0efd94d4b104966e83c5\u0026amp;signature=364d0d42e535a8496df518cb220fcea371574b0b2ad04a1d1bd3722e64edd273\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Send a new document - Pilot Status\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"⚠️ This call is real: it uploads a new identity document to the workspace\u0026#x27;s verification, replacing the previous one, and can decide the verification. Replaces the document of the current verification and answers 200 with the state. The body is JSON (Content-Type: application/json), not multipart: { \u0026quot;document\u0026quot;: \u0026quot;data:…;base64,…\u0026quot; }, the same file rules as POST /v1/phone-lines/verification, and it counts against the same submission limit (10 per hour per workspace → 429 RATE_LIMITED). Accepted in two states: - PENDING_CONTACT — to replace the document you sent. Do it when document.status is UNREADABLE or UNCLEAR: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (IN_REVIEW, reviewReason: \u0026quot;DOCUMENT_CHECK\u0026quot;). - NEEDS_DOCUMENT — the reviewer asked for another document (reviewNote may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response. In any other state it answers 409 VERIFICATION_WRONG_STATE; with no verification, 404 VERIFICATION_NOT_FOUND. No Idempotency-Key: a document replaces the previous one. 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=Send+a+new+document\u0026amp;description=%E2%9A%A0%EF%B8%8F+**This+call+is+real**%3A+it+uploads+a+new+identity+document+to+the+workspace%27s+verification%2C+replacing+the+previous+one%2C+and+can+**decide**+the+verification.%0A%0A\u0026amp;theme=35ef0efd94d4b104966e83c5\u0026amp;signature=364d0d42e535a8496df518cb220fcea371574b0b2ad04a1d1bd3722e64edd273\">\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/send-new-document\">\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/send-new-document.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/send-new-document#webpage\",\"url\":\"https://docs.pilotstatus.com.br/playground/phone-lines/send-new-document\",\"name\":\"Send a new document\",\"description\":\"⚠️ This call is real: it uploads a new identity document to the workspace's verification, replacing the previous one, and can decide the verification. Replaces the document of the current verification and answers 200 with the state. The body is JSON (Content-Type: application/json), not multipart: { \\\"document\\\": \\\"data:…;base64,…\\\" }, the same file rules as POST /v1/phone-lines/verification, and it counts against the same submission limit (10 per hour per workspace → 429 RATE_LIMITED). Accepted in two states: - PENDING_CONTACT — to replace the document you sent. Do it when document.status is UNREADABLE or UNCLEAR: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (IN_REVIEW, reviewReason: \\\"DOCUMENT_CHECK\\\"). - NEEDS_DOCUMENT — the reviewer asked for another document (reviewNote may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response. In any other state it answers 409 VERIFICATION_WRONG_STATE; with no verification, 404 VERIFICATION_NOT_FOUND. No Idempotency-Key: a document replaces the previous one. 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.214Z\",\"isPartOf\":{\"@id\":\"https://docs.pilotstatus.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/send-new-document#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/send-new-document#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\":\"Send a new document\",\"item\":\"https://docs.pilotstatus.com.br/playground/phone-lines/send-new-document\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/send-new-document#apireference\",\"headline\":\"Send a new document\",\"name\":\"Send a new document\",\"description\":\"⚠️ This call is real: it uploads a new identity document to the workspace's verification, replacing the previous one, and can decide the verification. Replaces the document of the current verification and answers 200 with the state. The body is JSON (Content-Type: application/json), not multipart: { \\\"document\\\": \\\"data:…;base64,…\\\" }, the same file rules as POST /v1/phone-lines/verification, and it counts against the same submission limit (10 per hour per workspace → 429 RATE_LIMITED). Accepted in two states: - PENDING_CONTACT — to replace the document you sent. Do it when document.status is UNREADABLE or UNCLEAR: we could not read a number we trust from the file, so send a sharper photo or the PDF. If you confirm the last code without replacing it, the verification goes to manual review (IN_REVIEW, reviewReason: \\\"DOCUMENT_CHECK\\\"). - NEEDS_DOCUMENT — the reviewer asked for another document (reviewNote may say which). The contact codes were already confirmed, so the new document takes the verification straight back to a decision, in this same response. In any other state it answers 409 VERIFICATION_WRONG_STATE; with no verification, 404 VERIFICATION_NOT_FOUND. No Idempotency-Key: a document replaces the previous one. 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/send-new-document\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pilotstatus.com.br/playground/phone-lines/send-new-document#webpage\"},\"dateModified\":\"2026-10-27T12:13:17.214Z\",\"publisher\":{\"@id\":\"https://docs.pilotstatus.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pilotstatus.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pilot Status\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Pilot Status","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api/overview"}]},{"tab":"Playground","groups":[{"group":"Endpoints","pages":[{"group":"Numbers","pages":[{"title":"List numbers","sidebarTitle":"List numbers","openapi":"openapi.json GET /v1/numbers","href":"/playground/numbers/list-numbers"},{"title":"Create number (PILOT_STATUS)","sidebarTitle":"Create number","openapi":"openapi.json POST /v1/numbers","href":"/playground/numbers/create-number-pilot-status"},{"title":"Remote pairing (connection link)","sidebarTitle":"Remote pairing","openapi":"openapi.json POST /v1/numbers/remote-pairing","href":"/playground/numbers/remote-pairing-connection-link"},{"title":"Delete number","sidebarTitle":"Delete number","openapi":"openapi.json DELETE /v1/numbers/{id}","href":"/playground/numbers/delete-number"},{"title":"Restore number","sidebarTitle":"Restore number","openapi":"openapi.json POST /v1/numbers/{id}/restore","href":"/playground/numbers/restore-number"},{"title":"Purge number","sidebarTitle":"Purge number","openapi":"openapi.json DELETE /v1/numbers/{id}/purge","href":"/playground/numbers/purge-number"},{"title":"Number connection status","sidebarTitle":"Number connection status","openapi":"openapi.json GET /v1/numbers/{id}/status","href":"/playground/numbers/number-connection-status"},{"title":"Reconnect number (QR / pairing)","sidebarTitle":"Reconnect number","openapi":"openapi.json GET /v1/numbers/{id}/connect","href":"/playground/numbers/reconnect-number-qr-pairing"},{"title":"Logout WhatsApp Instance","openapi":"openapi.json POST /v1/numbers/{id}/logout","href":"/playground/numbers/logout-instance"},{"title":"Pay extra-number charge","sidebarTitle":"Pay extra-number charge","openapi":"openapi.json POST /v1/numbers/{id}/pay","href":"/playground/numbers/pay-extra-number-charge"},{"title":"Update number (privacy + settings)","sidebarTitle":"Update number","openapi":"openapi.json PATCH /v1/numbers/{id}","href":"/playground/numbers/update-number"}]},{"group":"Meta","pages":[{"title":"Create Meta number (Cloud API)","sidebarTitle":"Create Meta number","openapi":"openapi.json POST /v1/numbers/meta","href":"/playground/numbers/create-meta-number-cloud-api"},{"title":"Complete Embedded Signup (Meta)","sidebarTitle":"Complete Embedded Signup","openapi":"openapi.json POST /v1/meta-embedded/{token}/complete","href":"/playground/meta-onboarding/complete-embedded-signup-meta"},{"title":"Get number (Meta details)","sidebarTitle":"Get number","openapi":"openapi.json GET /v1/numbers/{id}","href":"/playground/numbers/get-number-meta-details"},{"title":"Download media (Meta)","sidebarTitle":"Download media","openapi":"openapi.json GET /v1/media/{mediaId}","href":"/playground/media/download-media-meta"}]},{"group":"Subscription","pages":[{"title":"Preview buying an extra number (On Demand)","sidebarTitle":"Preview extra number","openapi":"openapi.json GET /v1/subscription/extra-numbers","href":"/playground/subscription/preview-buying-an-extra-number-on-demand"},{"title":"Buy an extra number (On Demand)","sidebarTitle":"Buy extra number","openapi":"openapi.json POST /v1/subscription/extra-numbers","href":"/playground/subscription/buy-an-extra-number-on-demand"},{"title":"Remove an extra number (On Demand)","sidebarTitle":"Remove extra number","openapi":"openapi.json DELETE /v1/subscription/extra-numbers","href":"/playground/subscription/remove-an-extra-number-on-demand"}]},{"group":"Billing","pages":[{"title":"Wallet top-up (card or Pix) / add a card","sidebarTitle":"Wallet top-up / add a card","openapi":"openapi.json POST /v1/billing/checkout","href":"/playground/billing/generate-checkout-link-stripe"},{"title":"Get a top-up order","sidebarTitle":"Get a top-up order","openapi":"openapi.json GET /v1/billing/topups/{id}","href":"/playground/billing/get-topup"},{"title":"Start a card save (Stripe Elements)","sidebarTitle":"Start a card save (Stripe Elements)","openapi":"openapi.json POST /v1/billing/card/setup-intent","href":"/playground/billing/create-card-setup-intent"},{"title":"Sync a card save","sidebarTitle":"Sync a card save","openapi":"openapi.json POST /v1/billing/card/setup-intent/{id}/sync","href":"/playground/billing/sync-card-setup-intent"},{"title":"Start a card top-up (Stripe Elements)","sidebarTitle":"Start a card top-up (Stripe Elements)","openapi":"openapi.json POST /v1/billing/payment-intents","href":"/playground/billing/create-payment-intent"},{"title":"Sync a card top-up","sidebarTitle":"Sync a card top-up","openapi":"openapi.json POST /v1/billing/payment-intents/{id}/sync","href":"/playground/billing/sync-payment-intent"}]},{"group":"Pricing","pages":[{"title":"Get message rates","sidebarTitle":"Get message rates","openapi":"openapi.json GET /v1/meta/pricing","href":"/playground/pricing/get-message-rates"}]},{"group":"Messages","pages":[{"title":"Send message","sidebarTitle":"Send message","openapi":"openapi.json POST /v1/messages/send","href":"/playground/messages/send-message"},{"title":"Get message","sidebarTitle":"Get message","openapi":"openapi.json GET /v1/messages/{id}","href":"/playground/messages/get-message"},{"title":"Cancel scheduled messages","sidebarTitle":"Cancel scheduled messages","openapi":"openapi.json DELETE /v1/messages/cancel","href":"/playground/messages/cancel-scheduled-messages"},{"title":"Service window status","sidebarTitle":"Service window status","openapi":"openapi.json GET /v1/service-window","href":"/playground/messages/service-window"}]},{"group":"Conversations","pages":[{"title":"List conversations","sidebarTitle":"List conversations","openapi":"openapi.json GET /v1/conversations","href":"/playground/conversations/list-conversations"},{"title":"Group messages","sidebarTitle":"Group messages","openapi":"openapi.json GET /v1/messages/group","href":"/playground/conversations/group-messages"},{"title":"Message history","sidebarTitle":"Message history","openapi":"openapi.json GET /v1/messages/history","href":"/playground/conversations/message-history"},{"title":"Unread messages","sidebarTitle":"Unread messages","openapi":"openapi.json GET /v1/messages/unread","href":"/playground/conversations/unread-messages"},{"title":"Ad referrals (CTWA)","sidebarTitle":"Ad referrals","openapi":"openapi.json GET /v1/referrals","href":"/playground/conversations/ad-referrals"},{"title":"Ad referral summary (CTWA)","sidebarTitle":"Ad referral summary","openapi":"openapi.json GET /v1/referrals/summary","href":"/playground/conversations/ad-referral-summary"},{"title":"Meta Lead Ads leads","sidebarTitle":"Leads (Lead Ads)","openapi":"openapi.json GET /v1/leads","href":"/playground/conversations/leads"},{"title":"Get a lead (Lead Ads)","sidebarTitle":"Get a lead","openapi":"openapi.json GET /v1/leads/{id}","href":"/playground/conversations/get-lead"}]},{"group":"Ads","pages":[{"title":"List ad accounts","sidebarTitle":"List ad accounts","openapi":"openapi.json GET /v1/ads/accounts","href":"/playground/ads/list-ad-accounts"},{"title":"Link an ad account","sidebarTitle":"Link an ad account","openapi":"openapi.json POST /v1/ads/accounts","href":"/playground/ads/link-ad-account"},{"title":"Unlink an ad account","sidebarTitle":"Unlink an ad account","openapi":"openapi.json DELETE /v1/ads/accounts/{adAccountId}","href":"/playground/ads/unlink-ad-account"},{"title":"Ads summary","sidebarTitle":"Ads summary","openapi":"openapi.json GET /v1/ads/summary","href":"/playground/ads/ads-summary"},{"title":"List Lead Ads Pages","sidebarTitle":"List Lead Ads Pages","openapi":"openapi.json GET /v1/lead-pages","href":"/playground/ads/list-lead-pages"},{"title":"Link a Lead Ads Page","sidebarTitle":"Link a Lead Ads Page","openapi":"openapi.json POST /v1/lead-pages","href":"/playground/ads/link-lead-page"},{"title":"Move a Lead Ads Page","sidebarTitle":"Move a Lead Ads Page","openapi":"openapi.json PATCH /v1/lead-pages/{pageLinkId}","href":"/playground/ads/move-lead-page"},{"title":"Unlink a Lead Ads Page","sidebarTitle":"Unlink a Lead Ads Page","openapi":"openapi.json DELETE /v1/lead-pages/{pageLinkId}","href":"/playground/ads/unlink-lead-page"},{"title":"Resync a Lead Ads Page","sidebarTitle":"Resync a Lead Ads Page","openapi":"openapi.json POST /v1/lead-pages/{pageLinkId}/resync","href":"/playground/ads/resync-lead-page"},{"title":"List Instant Forms","sidebarTitle":"List Instant Forms","openapi":"openapi.json GET /v1/lead-pages/{pageLinkId}/forms","href":"/playground/ads/list-lead-forms"},{"title":"Configure an Instant Form","sidebarTitle":"Configure an Instant Form","openapi":"openapi.json PUT /v1/lead-pages/{pageLinkId}/forms/{formId}","href":"/playground/ads/configure-lead-form"}]},{"group":"Groups","pages":[{"title":"List groups","sidebarTitle":"List groups","openapi":"openapi.json GET /v1/groups","href":"/playground/groups/list-groups"}]},{"group":"Newsletters","pages":[{"title":"List channels (newsletters)","sidebarTitle":"List channels","openapi":"openapi.json GET /v1/newsletters","href":"/playground/newsletters/list-channels-newsletters"}]},{"group":"Templates","pages":[{"title":"List templates","sidebarTitle":"List templates","openapi":"openapi.json GET /v1/templates","href":"/playground/templates/list-templates"},{"title":"Create template","sidebarTitle":"Create template","openapi":"openapi.json POST /v1/templates","href":"/playground/templates/create-template"},{"title":"Update template","sidebarTitle":"Update template","openapi":"openapi.json PUT /v1/templates/{id}","href":"/playground/templates/update-template"},{"title":"Get template","sidebarTitle":"Get template","openapi":"openapi.json GET /v1/templates/{id}","href":"/playground/templates/get-template"},{"title":"Get template insights","sidebarTitle":"Get template insights","openapi":"openapi.json GET /v1/templates/{id}/insights","href":"/playground/templates/get-template-insights"},{"title":"Delete template","sidebarTitle":"Delete template","openapi":"openapi.json DELETE /v1/templates/{id}","href":"/playground/templates/delete-template"}]},{"group":"Flows","pages":[{"title":"List Flows","sidebarTitle":"List Flows","openapi":"openapi.json GET /v1/flows","href":"/playground/flows/list-flows"},{"title":"Create or clone Flow","sidebarTitle":"Create or clone Flow","openapi":"openapi.json POST /v1/flows","href":"/playground/flows/create-flow"},{"title":"Update Flow","sidebarTitle":"Update Flow","openapi":"openapi.json PATCH /v1/flows/{id}","href":"/playground/flows/update-flow"},{"title":"Delete Flow","sidebarTitle":"Delete Flow","openapi":"openapi.json DELETE /v1/flows/{id}","href":"/playground/flows/delete-flow"},{"title":"Upload Flow JSON","sidebarTitle":"Upload Flow JSON","openapi":"openapi.json POST /v1/flows/{id}/json","href":"/playground/flows/upload-flow-json"},{"title":"Get Flow endpoint key state","sidebarTitle":"Get Flow endpoint key state","openapi":"openapi.json GET /v1/numbers/{id}/flow-endpoint-key","href":"/playground/numbers/get-flow-endpoint-key"},{"title":"Generate or import Flow endpoint key","sidebarTitle":"Generate or import Flow endpoint key","openapi":"openapi.json POST /v1/numbers/{id}/flow-endpoint-key","href":"/playground/numbers/generate-flow-endpoint-key"},{"title":"Get Flow endpoint config","sidebarTitle":"Get Flow endpoint config","openapi":"openapi.json GET /v1/flows/{id}/endpoint","href":"/playground/flows/get-flow-endpoint-config"},{"title":"Set Flow endpoint destination","sidebarTitle":"Set Flow endpoint destination","openapi":"openapi.json PUT /v1/flows/{id}/endpoint","href":"/playground/flows/set-flow-endpoint-destination"},{"title":"Set Flow endpoint destination (alias of PUT)","sidebarTitle":"Set Flow endpoint destination (alias of PUT)","openapi":"openapi.json PATCH /v1/flows/{id}/endpoint","href":"/playground/flows/set-flow-endpoint-destination-patch"},{"title":"Register Flow endpoint at Meta","sidebarTitle":"Register Flow endpoint at Meta","openapi":"openapi.json POST /v1/flows/{id}/endpoint","href":"/playground/flows/register-flow-endpoint-at-meta"},{"title":"Publish Flow","sidebarTitle":"Publish Flow","openapi":"openapi.json POST /v1/flows/{id}/publish","href":"/playground/flows/publish-flow"},{"title":"Deprecate Flow","sidebarTitle":"Deprecate Flow","openapi":"openapi.json POST /v1/flows/{id}/deprecate","href":"/playground/flows/deprecate-flow"},{"title":"List Flow responses","sidebarTitle":"List Flow responses","openapi":"openapi.json GET /v1/flows/{id}/responses","href":"/playground/flows/list-flow-responses"}]},{"group":"Analytics","pages":[{"title":"Analytics dashboard","sidebarTitle":"Analytics dashboard","openapi":"openapi.json GET /v1/analytics/dashboard","href":"/playground/analytics/analytics-dashboard"}]},{"group":"API Keys","pages":[{"title":"List API keys","sidebarTitle":"List API keys","openapi":"openapi.json GET /v1/api-keys","href":"/playground/api-keys/list-api-keys"},{"title":"Regenerate a number's API key","sidebarTitle":"Regenerate a number's API k…","openapi":"openapi.json POST /v1/api-keys","href":"/playground/api-keys/regenerate-a-number-s-api-key"},{"title":"Regenerate API key","sidebarTitle":"Regenerate API key","openapi":"openapi.json POST /v1/api-keys/regenerate","href":"/playground/api-keys/regenerate-api-key"}]},{"group":"Webhooks","pages":[{"title":"List webhooks","sidebarTitle":"List webhooks","openapi":"openapi.json GET /v1/webhooks","href":"/playground/webhooks/list-webhooks"},{"title":"Create webhook","sidebarTitle":"Create webhook","openapi":"openapi.json POST /v1/webhooks","href":"/playground/webhooks/create-webhook"},{"title":"Get webhook","sidebarTitle":"Get webhook","openapi":"openapi.json GET /v1/webhooks/{id}","href":"/playground/webhooks/get-webhook"},{"title":"Update webhook","sidebarTitle":"Update webhook","openapi":"openapi.json PATCH /v1/webhooks/{id}","href":"/playground/webhooks/update-webhook"},{"title":"Delete webhook","sidebarTitle":"Delete webhook","openapi":"openapi.json DELETE /v1/webhooks/{id}","href":"/playground/webhooks/delete-webhook"},{"title":"Webhook delivery events","sidebarTitle":"Webhook delivery events","openapi":"openapi.json GET /v1/webhooks/{id}/logs","href":"/playground/webhooks/webhook-delivery-events"}]},{"group":"Chatwoot","pages":[{"title":"Chatwoot status","sidebarTitle":"Chatwoot status","openapi":"openapi.json GET /v1/chatwoot","href":"/playground/chatwoot/chatwoot-status"},{"title":"Connect Chatwoot","sidebarTitle":"Connect Chatwoot","openapi":"openapi.json POST /v1/chatwoot","href":"/playground/chatwoot/connect-chatwoot"},{"title":"Update Chatwoot","sidebarTitle":"Update Chatwoot","openapi":"openapi.json PATCH /v1/chatwoot","href":"/playground/chatwoot/update-chatwoot"},{"title":"Disconnect Chatwoot","sidebarTitle":"Disconnect Chatwoot","openapi":"openapi.json DELETE /v1/chatwoot","href":"/playground/chatwoot/disconnect-chatwoot"},{"title":"Test Chatwoot credentials","sidebarTitle":"Test Chatwoot credentials","openapi":"openapi.json POST /v1/chatwoot/test","href":"/playground/chatwoot/test-chatwoot-credentials"}]},{"group":"Remote Pairing","pages":[{"title":"Remote pairing info","sidebarTitle":"Remote pairing info","openapi":"openapi.json GET /v1/remote-pairing/{token}","href":"/playground/remote-pairing/remote-pairing-info"},{"title":"Connect via token (QR / pairing)","sidebarTitle":"Connect via token","openapi":"openapi.json POST /v1/remote-pairing/{token}/connect","href":"/playground/remote-pairing/connect-via-token-qr-pairing"},{"title":"Remote pairing status","sidebarTitle":"Remote pairing status","openapi":"openapi.json GET /v1/remote-pairing/{token}/status","href":"/playground/remote-pairing/remote-pairing-status"}]},{"group":"Branding","pages":[{"title":"Read tenant branding","sidebarTitle":"Read tenant branding","openapi":"openapi.json GET /v1/branding","href":"/playground/branding/read-tenant-branding"},{"title":"Update tenant branding","sidebarTitle":"Update tenant branding","openapi":"openapi.json PUT /v1/branding","href":"/playground/branding/update-tenant-branding"},{"title":"Resolved connect page branding","sidebarTitle":"Resolved connect page brand…","openapi":"openapi.json GET /v1/connect/{token}/branding","href":"/playground/branding/resolved-connect-page-branding"}]},{"group":"Embed","pages":[{"title":"Create embed session","sidebarTitle":"Create embed session","openapi":"openapi.json POST /v1/embed/sessions","href":"/playground/embed/create-embed-session"}]},{"group":"Calls","pages":[{"title":"List calls","sidebarTitle":"List calls","openapi":"openapi.json GET /v1/calls","href":"/playground/calls/list-calls"},{"title":"Start call (BIC)","sidebarTitle":"Start call","openapi":"openapi.json POST /v1/calls","href":"/playground/calls/start-call-bic"},{"title":"Get call","sidebarTitle":"Get call","openapi":"openapi.json GET /v1/calls/{callId}","href":"/playground/calls/get-call"},{"title":"Pre-accept call (optional)","sidebarTitle":"Pre-accept call","openapi":"openapi.json POST /v1/calls/{callId}/pre-accept","href":"/playground/calls/pre-accept-call-optional"},{"title":"Accept call","sidebarTitle":"Accept call","openapi":"openapi.json POST /v1/calls/{callId}/accept","href":"/playground/calls/accept-call"},{"title":"Reject call","sidebarTitle":"Reject call","openapi":"openapi.json POST /v1/calls/{callId}/reject","href":"/playground/calls/reject-call"},{"title":"Terminate call","sidebarTitle":"Terminate call","openapi":"openapi.json POST /v1/calls/{callId}/terminate","href":"/playground/calls/terminate-call"},{"title":"Play audio into call (web)","sidebarTitle":"Play audio into call","openapi":"openapi.json POST /v1/calls/{callId}/play","href":"/playground/calls/play-audio-into-call-web"},{"title":"Realtime media session (web)","sidebarTitle":"Realtime media session","openapi":"openapi.json POST /v1/calls/{callId}/realtime-session","href":"/playground/calls/realtime-media-session-web"},{"title":"Get calling settings","sidebarTitle":"Get calling settings","openapi":"openapi.json GET /v1/calls/settings","href":"/playground/calls/get-calling-settings"},{"title":"Update calling settings","sidebarTitle":"Update calling settings","openapi":"openapi.json PUT /v1/calls/settings","href":"/playground/calls/update-calling-settings"},{"title":"Get call permission","sidebarTitle":"Get call permission","openapi":"openapi.json GET /v1/calls/permissions","href":"/playground/calls/get-call-permission"},{"title":"Request call permission","sidebarTitle":"Request call permission","openapi":"openapi.json POST /v1/calls/permissions/request","href":"/playground/calls/request-call-permission"}]},{"group":"Phone Lines","pages":[{"title":"Search available numbers","sidebarTitle":"Search available numbers","openapi":"openapi.json GET /v1/phone-lines/available","href":"/playground/phone-lines/search-available-numbers"},{"title":"Buy phone lines","sidebarTitle":"Buy phone lines","openapi":"openapi.json POST /v1/phone-lines","href":"/playground/phone-lines/buy-phone-lines"},{"title":"List phone lines","sidebarTitle":"List phone lines","openapi":"openapi.json GET /v1/phone-lines","href":"/playground/phone-lines/list-phone-lines"},{"title":"Get phone line","sidebarTitle":"Get phone line","openapi":"openapi.json GET /v1/phone-lines/{id}","href":"/playground/phone-lines/get-phone-line"},{"title":"Cancel phone line","sidebarTitle":"Cancel phone line","openapi":"openapi.json DELETE /v1/phone-lines/{id}","href":"/playground/phone-lines/cancel-phone-line"},{"title":"Get holder verification","sidebarTitle":"Get holder verification","openapi":"openapi.json GET /v1/phone-lines/verification","href":"/playground/phone-lines/get-verification"},{"title":"Submit holder verification","sidebarTitle":"Submit holder verification","openapi":"openapi.json POST /v1/phone-lines/verification","href":"/playground/phone-lines/submit-verification"},{"title":"Send contact code","sidebarTitle":"Send contact code","openapi":"openapi.json POST /v1/phone-lines/verification/contact/{channel}/send","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","description":"⚠️ **This call is real**: it confirms a code of the workspace's identity verification, and the last one **decides** the verification.\n\nConfirms the 6-digit code received on that channel and answers **200** with the state. When it was the last required code and the document is in, the verification is decided in this same response — `APPROVED`, or `IN_REVIEW` when a person needs to look at it (**both let you buy**, `canPurchase: true`) — and the `phone_line.verification_updated` webhook event goes out.\n\nA code **expires 10 minutes** after it was sent (400 `CONTACT_CODE_EXPIRED`). A wrong code is 400 `CONTACT_CODE_INVALID` and counts as an attempt; after **5 wrong attempts** the code is locked (429 `CONTACT_CODE_TOO_MANY_ATTEMPTS`) — send a new one with `…/contact/{channel}/send`. A code is used once: retrying a confirm that already succeeded answers `CONTACT_CODE_INVALID` — read the state with `GET /v1/phone-lines/verification` instead. The only body field is `code`; the channel goes in the path. 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/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","description":"Gets the line ready to capture a NEW WhatsApp verification call — no body. WhatsApp verifies a landline **by calling it** and speaking a 6-digit code; this endpoint opens the capture window, it does **not** place the call. The line is reset at the carrier, so the recording of an earlier call can never be read as this one's code, and a request opens in `WAITING` until `pollDeadline` — **5 minutes** later. A call that arrives before this request exists is not captured.\n\nAfter the `201`, register the number in WhatsApp Business and choose the **phone call** option (\"Call me\") — the line is a landline and does not receive SMS. Then poll `GET /v1/phone-lines/activations/{activationId}` every few seconds (or listen for the `phone_line.code_received` webhook) and type `code` into WhatsApp.\n\nAllowed while the line is `ACTIVE` or `PAYMENT_PENDING`; a `SUSPENDED`, `RETURNED` or `CANCELED` line gets `409 LINE_NOT_ACTIVE`. **One waiting request per line:** while a request is `WAITING` and its `pollDeadline` is still ahead, another `POST` answers `409 ACTIVATION_IN_PROGRESS` — poll the one you have, or cancel it with `POST /v1/phone-lines/{id}/activations/{activationId}/cancel` to ask again right away. No limit on requests over time; each request that opens increments the line's `activationCount`. Sent with `Cache-Control: no-store`: the code is a credential.\n\n**Requires a tenant-scoped key** — a number-scoped key (or per-number OAuth grant) gets `403 NUMBER_SCOPE_NOT_ALLOWED`. Permission `phone_lines:read`: with an OAuth / MCP token the user must be an **Owner or Admin** (`403 PERMISSION_DENIED` otherwise).","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":"Send a new document - 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"]}