Quando você criou a validação em posse de telefone por WhatsApp, a pessoa recebeu um código no WhatsApp. Peça esse código na sua tela e mande aqui o que ela digitou, com o id daquela validação no path.Ela tem 3 tentativas e 10 minutos. Toda resposta traz attempts_remaining e expires_at, então leia esses campos em vez de contar do seu lado.Só validações de posse de telefone se confirmam por código. Qualquer outro tipo responde 422 validation_not_verifiable.
Um code que não seja só dígitos é recusado antes de chegar ao provedor, com 400 invalid_param_value. Um erro de digitação não custa uma tentativa da pessoa.Um 500 é erro nosso, não resposta da pessoa. Repita a chamada com o mesmo Idempotency-Key e o mesmo código.
Duas credenciais são aceitas no cabeçalho Authorization: Bearer ...: sua chave de API (prefixo sk_, criada no painel ou pelos endpoints de Chaves de API) ou um access token OAuth 2.1 do ZapSign ID (Authorization Code + PKCE S256, emissor https://id.zapsign.com.br, audiência https://api.id.zapsign.com.br/v1). Tokens OAuth carregam os escopos validations:read (consultas) e validations:write (criação e verificação) e não têm acesso aos endpoints de Chaves de API — esses exigem chave sk_ com full_access. Token OAuth rejeitado responde 401 com code invalid_token; escopo insuficiente responde 403 com code insufficient_scope e o cabeçalho WWW-Authenticate indicando o escopo exigido. Descoberta: https://id.zapsign.com.br/.well-known/oauth-authorization-server (servidor de autorização, RFC 8414) e https://api.id.zapsign.com.br/.well-known/oauth-protected-resource/v1 (recurso protegido, RFC 9728). Disponibilidade: o OAuth entra em produção na próxima publicação da plataforma; antes de integrar, confirme que os URLs de descoberta respondem JSON (e não 404) e, enquanto isso, autentique com a chave sk_.
Por que o resultado foi o que foi. É null quando o resultado não precisa de explicação. Acompanha unknown na maioria dos casos, e também not_passed quando a validação foi recusada por um motivo específico.
Valor
O que é
liveness_failed
Prova de vida não confirmada
face_mismatch
O rosto não corresponde ao documento
spoof_detected
Suspeita de fraude na captura
document_tampered
Indícios de adulteração no documento
document_invalid
Documento inválido ou não aceito
document_unreadable
O documento não pôde ser lido
cpf_reference_not_found
CPF não encontrado na base de referência
data_unavailable
Dados indisponíveis na fonte consultada
phone_not_covered
Telefone sem cobertura para a consulta
invalid_code
O código enviado não confere, e as tentativas acabaram
Quantas chamadas de verificação ainda serão aceitas. Preenchida nos tipos que enviam um código para a pessoa devolver (hoje só phone_ownership) e null nos demais.
Vale 0 assim que a validação é resolvida, em qualquer desfecho, porque nenhuma outra tentativa será aceita.
Dados extraídos, agrupados pela chave do type. Hoje só liveness_document_match produz detalhes, e só com status igual a completed. Nos demais casos é null.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ID ZapSign","description":"Referência da API de validações de identidade da ID ZapSign.","colors":{"primary":"#1F5EF4","light":"#89D4F7","dark":"#1A3A9E"},"logo":{"light":"https://mintcdn.com/id-zap-sign/4-2HWG_2MeHmhdau/logo/light.svg?fit=max\u0026auto=format\u0026n=4-2HWG_2MeHmhdau\u0026q=85\u0026s=348423109b942a8df252f7a7e32e34f3","dark":"https://mintcdn.com/id-zap-sign/4-2HWG_2MeHmhdau/logo/dark.svg?fit=max\u0026auto=format\u0026n=4-2HWG_2MeHmhdau\u0026q=85\u0026s=5fcd50b9b02a17c1e359149d94d3bdf1","href":"https://id.zapsign.com.br"},"favicon":"https://mintcdn.com/id-zap-sign/U5iEChn6IAUgyl7t/favicon.svg?fit=max\u0026auto=format\u0026n=U5iEChn6IAUgyl7t\u0026q=85\u0026s=8212c7541e61c849dc7f47df9f7fb3fa","api":{"openapi":"api-reference/openapi.json","playground":{"display":"interactive"},"examples":{"languages":["bash","node","python","go","php","ruby"],"prefill":true},"mdx":{"auth":{"method":"bearer"}}},"navbar":{"links":[{"href":"https://id.zapsign.com.br/app/login?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=docs","label":"Entrar"}],"primary":{"type":"button","label":"Testar grátis","href":"https://id.zapsign.com.br/app/sign-up?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=docs\u0026utm_term=testar_gratis"}},"footer":{"socials":{"website":"https://id.zapsign.com.br?utm_source=docs\u0026utm_medium=footer\u0026utm_campaign=docs\u0026utm_term=website","linkedin":"https://www.linkedin.com/company/zapsign-br","facebook":"https://www.facebook.com/zapsignbrasil","instagram":"https://www.instagram.com/zapsignoficial"},"links":[{"header":"Suporte","items":[{"label":"Suporte","href":"https://wa.me/5511955028590"},{"label":"Testar grátis","href":"https://id.zapsign.com.br/app/sign-up?utm_source=docs\u0026utm_medium=footer\u0026utm_campaign=docs\u0026utm_term=testar_gratis"}]}]},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"integrations":{"clarity":{"projectId":"xonergymn6"},"gtm":{"tagId":"GTM-TQ4J8W98"}},"contextual":{"options":["copy","download-spec","chatgpt","claude","view","assistant","cursor","vscode"],"display":"header"},"markdown":{"schema":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"id-zap-sign","hasAudioNarration":false,"actualSubdomain":"id-zap-sign","customDomains":["docs.id.zapsign.com.br"],"gitSource":{"type":"github","owner":"zapsign","repo":"zlabs-id-zapsign","deployBranch":"main","contentDirectory":"artifacts/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad63aad1ad95aeaf3749d2a","collectionId":"a1fdf3a5-5259-427d-9113-5267f001d499","liveDeploymentHistoryId":"6ad63aad1ad95aeaf3749d2a","schemaVersion":"v3"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad63aad1ad95aeaf3749d2a","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Validações","count":7},{"language":"default","tag":"Referência da API","count":4},{"language":"default","tag":"Chaves de API","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"id@zapsign.com.br"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"validacoes/confirmar-codigo","slug":"/validacoes/confirmar-codigo","pageMetadata":{"title":"Confirmar o código de uma validação","sidebarTitle":"Confirmar código","openapi":"POST /validations/{id}/verify","description":"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.","href":"/validacoes/confirmar-codigo"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`o-código-que-a-pessoa-digitou`,children:`O código que a pessoa digitou`}),`\n`,_jsxs(_components.p,{children:[`Quando você criou a validação em `,_jsx(_components.a,{href:`/validacoes/posse-de-telefone-whatsapp`,children:`posse de telefone por WhatsApp`}),`, a pessoa recebeu um código no WhatsApp. Peça esse código na sua tela e mande aqui o que ela digitou, com o `,_jsx(_components.code,{children:`id`}),` daquela validação no path.`]}),`\n`,_jsxs(_components.p,{children:[`Ela tem 3 tentativas e 10 minutos. Toda resposta traz `,_jsx(_components.code,{children:`attempts_remaining`}),` e `,_jsx(_components.code,{children:`expires_at`}),`, então leia esses campos em vez de contar do seu lado.`]}),`\n`,_jsxs(_components.p,{children:[`Só validações de posse de telefone se confirmam por código. Qualquer outro tipo responde `,_jsx(_components.a,{href:`/erros#validation_not_verifiable`,children:_jsx(_components.code,{children:`422 validation_not_verifiable`})}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`como-ler-o-desfecho`,children:`Como ler o desfecho`}),`\n`,_jsxs(_components.p,{children:[`Um código errado também responde `,_jsx(_components.code,{children:`200`}),`. O que aconteceu está no corpo:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.th,{children:_jsx(_components.code,{children:`result`})}),_jsx(_components.th,{children:`O que aconteceu`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pending`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`null`})}),_jsx(_components.td,{children:`Código errado, ainda há tentativas`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`completed`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`passed`})}),_jsx(_components.td,{children:`O telefone é da pessoa`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`completed`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`not_passed`})}),_jsx(_components.td,{children:`As tentativas acabaram`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`expired`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`null`})}),_jsx(_components.td,{children:`Os 10 minutos venceram`})]})]})]}),`\n`,_jsx(_components.p,{children:`Sobre uma validação já resolvida, a resposta repete o estado atual.`}),`\n`,_jsx(Heading,{level:`3`,id:`o-que-não-gasta-tentativa`,children:`O que não gasta tentativa`}),`\n`,_jsxs(_components.p,{children:[`Um `,_jsx(_components.code,{children:`code`}),` que não seja só dígitos é recusado antes de chegar ao provedor, com `,_jsx(_components.a,{href:`/erros#invalid_param_value`,children:_jsx(_components.code,{children:`400 invalid_param_value`})}),`. Um erro de digitação não custa uma tentativa da pessoa.`]}),`\n`,_jsxs(_components.p,{children:[`Um `,_jsx(_components.code,{children:`500`}),` é erro nosso, não resposta da pessoa. Repita a chamada com o mesmo `,_jsx(_components.code,{children:`Idempotency-Key`}),` e o mesmo código.`]})]})}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":"Confirmar o código de uma validação","sidebarTitle":"Confirmar código","openapi":"POST /validations/{id}/verify","description":"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.","href":"/validacoes/confirmar-codigo"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"O código que a pessoa digitou","slug":"o-código-que-a-pessoa-digitou","depth":2,"children":[{"title":"Como ler o desfecho","slug":"como-ler-o-desfecho","depth":3,"children":[]},{"title":"O que não gasta tentativa","slug":"o-que-não-gasta-tentativa","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"verifyValidation","tags":["Validações"],"summary":"Confirma o código que a pessoa recebeu.","description":"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.","parameters":["1d722ba3-5091-4301-ae07-0fa4ae8bb329","ae23ca21-7a5b-45a2-b4c6-ba9d0fde858a"],"requestBody":"09053cf0-4ec3-4b42-bc02-8655c3c1689e","responses":{"200":"2f56a390-633d-4ef1-ad9c-759424c59df7","400":"fdf7570b-ec61-4486-abd3-eaf742db5410","401":"680e0f4d-be70-4ba1-9ebb-2999a410dee3","404":"963f1715-23de-4748-8a05-f10d6585807c","409":"32059305-73dc-4a3f-9d47-3ef089347d4a","413":"6eac064c-a606-4d4b-9f2a-4fd02cfb0806","422":"af3efa51-6311-43c6-add3-1ae212dc8cc5","429":"0c0655ae-72fc-414e-9463-38aa87002755","500":"c78bb378-b0a2-4238-93d7-edee21204405"},"method":"post","type":"path","servers":["8578c117-ec9f-4895-a029-9e2ef053789c"],"security":["c4ac1360-f2fc-4ced-9d81-c6f177d76462"],"path":"/validations/{id}/verify","baseUrlOptions":["https://api.id.zapsign.com.br/v1"],"title":"Confirma o código que a pessoa recebeu.","codeSamples":[],"requestExampleLanguages":["bash","node","python","go","php","ruby"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.code":"483920"}]},"dependencies":{"parameters":{"1d722ba3-5091-4301-ae07-0fa4ae8bb329":{"name":"id","in":"path","required":true,"description":"Identificador da validação.","schema":{"type":"string","isRequired":true,"description":"Identificador da validação.","uniqueKey":"","typeLabel":"string"},"example":"val_2W7HJ9RC4XKQ0ZB58NDT3PMFY6"},"ae23ca21-7a5b-45a2-b4c6-ba9d0fde858a":{"name":"Idempotency-Key","in":"header","required":false,"description":"Torna a operação segura para retentativa. Reenviar a mesma chave repete a resposta original em vez de executar a operação de novo.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,256}$","minLength":1,"maxLength":256,"isRequired":false,"description":"Torna a operação segura para retentativa. Reenviar a mesma chave repete a resposta original em vez de executar a operação de novo.","uniqueKey":"","typeLabel":"string"},"example":"a3f1c9e2-7b64-4d18-9a02-5c6e8f0b1d34"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Código que a pessoa recebeu, para confirmar uma validação.","required":["code"],"properties":{"code":{"type":"string","pattern":"^[0-9]+$","description":"Código recebido, apenas dígitos.","example":"483920","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"codigo":{"title":"codigo","value":{"code":"483920"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"2f56a390-633d-4ef1-ad9c-759424c59df7":{"description":"Recurso da validação depois da tentativa, em qualquer desfecho.","headers":{"Idempotent-Replayed":{"description":"Vem com o valor `true` quando a resposta é a repetição de uma requisição idempotente anterior, e não uma criação nova.","schema":{"type":"string","enum":["true"]}}},"content":{"application/json":{"schema":{"type":"object","description":"Resultado de uma validação.","required":["object","id","type","status","result","reason_code","external_id","created_at","resolved_at","validation_url","expires_at","attempts_remaining","details"],"properties":{"object":{"type":"string","enum":["validation"],"description":"Sempre `validation`.","isRequired":true,"uniqueKey":"object","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Identificador único da validação.","example":"val_0NQW3MVYJYQ453E95V3V1T76AV","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"type":{"type":"string","enum":["liveness_document_match","liveness_cpf_match","cpf_phone_match","sim_swap","telco_financial_capacity","phone_ownership"],"description":"Tipo da validação.\n\n| Valor | O que é |\n| --- | --- |\n| `cpf_phone_match` | Vínculo entre CPF e telefone |\n| `sim_swap` | Troca de chip |\n| `liveness_document_match` | Prova de vida + documento |\n| `phone_ownership` | Posse do telefone, por código no WhatsApp |\n| `liveness_cpf_match` | Prova de vida + CPF |\n| `telco_financial_capacity` | Capacidade financeira via operadora |\n\nOs quatro primeiros têm endpoint de criação. Os outros dois podem aparecer em consultas e listagens de contas que os usam por outros canais.","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","completed","failed","expired"],"description":"Estado atual.\n\n| Valor | O que é |\n| --- | --- |\n| `pending` | Criada, aguardando o titular concluir o fluxo hospedado ou devolver o código |\n| `completed` | Resolvida; veja `result` |\n| `failed` | Não foi possível concluir |\n| `expired` | O prazo venceu sem conclusão |","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"result":{"oneOf":[{"type":"string","description":"Resultado de negócio. É `null` enquanto `status` for `pending`.\n\n| Valor | Aparece em |\n| --- | --- |\n| `match` / `no_match` | `cpf_phone_match` |\n| `recent_swap` / `no_recent_swap` | `sim_swap` |\n| `passed` / `not_passed` | `liveness_document_match`, `liveness_cpf_match`, `phone_ownership` |\n| `high_capacity` / `moderate_capacity` / `low_capacity` | `telco_financial_capacity` |\n| `unknown` | Qualquer tipo, quando a fonte não deu uma resposta conclusiva. O motivo vem em `reason_code`. |","enum":["passed","not_passed","match","no_match","recent_swap","no_recent_swap","high_capacity","moderate_capacity","low_capacity","unknown"],"isRequired":true,"uniqueKey":"result.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Resultado de negócio. É `null` enquanto `status` for `pending`.\n\n| Valor | Aparece em |\n| --- | --- |\n| `match` / `no_match` | `cpf_phone_match` |\n| `recent_swap` / `no_recent_swap` | `sim_swap` |\n| `passed` / `not_passed` | `liveness_document_match`, `liveness_cpf_match`, `phone_ownership` |\n| `high_capacity` / `moderate_capacity` / `low_capacity` | `telco_financial_capacity` |\n| `unknown` | Qualquer tipo, quando a fonte não deu uma resposta conclusiva. O motivo vem em `reason_code`. |","isRequired":true,"uniqueKey":"result.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result","typeLabel":"enum\u003cstring> | null"},"reason_code":{"oneOf":[{"type":"string","description":"Por que o resultado foi o que foi. É `null` quando o resultado não precisa de explicação. Acompanha `unknown` na maioria dos casos, e também `not_passed` quando a validação foi recusada por um motivo específico.\n\n| Valor | O que é |\n| --- | --- |\n| `liveness_failed` | Prova de vida não confirmada |\n| `face_mismatch` | O rosto não corresponde ao documento |\n| `spoof_detected` | Suspeita de fraude na captura |\n| `document_tampered` | Indícios de adulteração no documento |\n| `document_invalid` | Documento inválido ou não aceito |\n| `document_unreadable` | O documento não pôde ser lido |\n| `cpf_reference_not_found` | CPF não encontrado na base de referência |\n| `data_unavailable` | Dados indisponíveis na fonte consultada |\n| `phone_not_covered` | Telefone sem cobertura para a consulta |\n| `invalid_code` | O código enviado não confere, e as tentativas acabaram |","enum":["liveness_failed","face_mismatch","spoof_detected","document_tampered","document_invalid","document_unreadable","cpf_reference_not_found","data_unavailable","phone_not_covered","invalid_code"],"isRequired":true,"uniqueKey":"reason_code.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Por que o resultado foi o que foi. É `null` quando o resultado não precisa de explicação. Acompanha `unknown` na maioria dos casos, e também `not_passed` quando a validação foi recusada por um motivo específico.\n\n| Valor | O que é |\n| --- | --- |\n| `liveness_failed` | Prova de vida não confirmada |\n| `face_mismatch` | O rosto não corresponde ao documento |\n| `spoof_detected` | Suspeita de fraude na captura |\n| `document_tampered` | Indícios de adulteração no documento |\n| `document_invalid` | Documento inválido ou não aceito |\n| `document_unreadable` | O documento não pôde ser lido |\n| `cpf_reference_not_found` | CPF não encontrado na base de referência |\n| `data_unavailable` | Dados indisponíveis na fonte consultada |\n| `phone_not_covered` | Telefone sem cobertura para a consulta |\n| `invalid_code` | O código enviado não confere, e as tentativas acabaram |","isRequired":true,"uniqueKey":"reason_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"reason_code","typeLabel":"enum\u003cstring> | null"},"external_id":{"oneOf":[{"type":"string","description":"A referência de correlação que você enviou na criação.","isRequired":true,"uniqueKey":"external_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"A referência de correlação que você enviou na criação.","isRequired":true,"uniqueKey":"external_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"external_id","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","description":"Data de criação em ISO-8601.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"resolved_at":{"oneOf":[{"type":"string","format":"date-time","description":"Data de resolução em ISO-8601. É `null` enquanto não resolvida.","isRequired":true,"uniqueKey":"resolved_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Data de resolução em ISO-8601. É `null` enquanto não resolvida.","isRequired":true,"uniqueKey":"resolved_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"resolved_at","typeLabel":"string\u003cdate-time> | null"},"validation_url":{"oneOf":[{"type":"string","description":"URL para onde redirecionar o titular. Preenchida nas validações hospedadas; `null` nas síncronas.","isRequired":true,"uniqueKey":"validation_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"URL para onde redirecionar o titular. Preenchida nas validações hospedadas; `null` nas síncronas.","isRequired":true,"uniqueKey":"validation_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"validation_url","typeLabel":"string | null"},"expires_at":{"oneOf":[{"type":"string","format":"date-time","description":"Quando a validação vence, em ISO-8601. Preenchida nas validações hospedadas e nas que enviam um código; `null` nas síncronas.","isRequired":true,"uniqueKey":"expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Quando a validação vence, em ISO-8601. Preenchida nas validações hospedadas e nas que enviam um código; `null` nas síncronas.","isRequired":true,"uniqueKey":"expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"expires_at","typeLabel":"string\u003cdate-time> | null"},"attempts_remaining":{"oneOf":[{"type":"integer","description":"Quantas chamadas de verificação ainda serão aceitas. Preenchida nos tipos que enviam um código para a pessoa devolver (hoje só `phone_ownership`) e `null` nos demais.\n\nVale `0` assim que a validação é resolvida, em qualquer desfecho, porque nenhuma outra tentativa será aceita.","isRequired":true,"uniqueKey":"attempts_remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Quantas chamadas de verificação ainda serão aceitas. Preenchida nos tipos que enviam um código para a pessoa devolver (hoje só `phone_ownership`) e `null` nos demais.\n\nVale `0` assim que a validação é resolvida, em qualquer desfecho, porque nenhuma outra tentativa será aceita.","isRequired":true,"uniqueKey":"attempts_remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"attempts_remaining","typeLabel":"integer | null"},"details":{"oneOf":[{"type":"object","description":"Dados extraídos, agrupados pela chave do `type`. Hoje só `liveness_document_match` produz detalhes, e só com `status` igual a `completed`. Nos demais casos é `null`.","properties":{"liveness_document_match":{"type":"object","description":"Dados lidos do documento e da pessoa. Os dez campos vêm sempre, e cada um é `null` quando o provedor não conseguiu extraí-lo.","additionalProperties":false,"required":["full_name","sex","cpf","date_of_birth","document_type","document_number","document_country","document_version","document_issued_at","document_expires_at"],"properties":{"full_name":{"oneOf":[{"type":"string","description":"Nome completo como consta no documento.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.full_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Nome completo como consta no documento.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.full_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.full_name","typeLabel":"string | null"},"sex":{"oneOf":[{"type":"string","description":"Sexo como consta no documento. Valores fora de `M` e `F` viram `null`.","enum":["M","F"],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.sex.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Sexo como consta no documento. Valores fora de `M` e `F` viram `null`.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.sex.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.sex","typeLabel":"enum\u003cstring> | null"},"cpf":{"oneOf":[{"type":"string","pattern":"^\\d{11}$","description":"CPF lido do documento, só dígitos.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.cpf.oneOf.0","typeLabel":"string"},{"type":"null","pattern":"^\\d{11}$","description":"CPF lido do documento, só dígitos.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.cpf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.cpf","typeLabel":"string | null"},"date_of_birth":{"oneOf":[{"type":"string","format":"date","description":"Data de nascimento no formato `YYYY-MM-DD`.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.date_of_birth.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Data de nascimento no formato `YYYY-MM-DD`.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.date_of_birth.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.date_of_birth","typeLabel":"string\u003cdate> | null"},"document_type":{"oneOf":[{"type":"string","description":"Categoria do documento, independente do país emissor. Tipos que não caem no mapa viram `other`.\n\n| Valor | O que é |\n| --- | --- |\n| `id_card` | Documento de identidade |\n| `drivers_license` | Carteira de motorista |\n| `passport` | Passaporte |\n| `other` | Outro tipo reconhecido pelo provedor |","enum":["id_card","drivers_license","passport","other"],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Categoria do documento, independente do país emissor. Tipos que não caem no mapa viram `other`.\n\n| Valor | O que é |\n| --- | --- |\n| `id_card` | Documento de identidade |\n| `drivers_license` | Carteira de motorista |\n| `passport` | Passaporte |\n| `other` | Outro tipo reconhecido pelo provedor |","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_type","typeLabel":"enum\u003cstring> | null"},"document_number":{"oneOf":[{"type":"string","description":"Número como consta no documento.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Número como consta no documento.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_number.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_number","typeLabel":"string | null"},"document_country":{"oneOf":[{"type":"string","description":"País emissor em ISO 3166-1 alpha-2, por exemplo `BR`.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_country.oneOf.0","typeLabel":"string"},{"type":"null","description":"País emissor em ISO 3166-1 alpha-2, por exemplo `BR`.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_country.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_country","typeLabel":"string | null"},"document_version":{"oneOf":[{"type":"string","description":"Versão ou modelo do documento, segundo o provedor.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_version.oneOf.0","typeLabel":"string"},{"type":"null","description":"Versão ou modelo do documento, segundo o provedor.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_version","typeLabel":"string | null"},"document_issued_at":{"oneOf":[{"type":"string","format":"date","description":"Data de emissão no formato `YYYY-MM-DD`.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_issued_at.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Data de emissão no formato `YYYY-MM-DD`.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_issued_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_issued_at","typeLabel":"string\u003cdate> | null"},"document_expires_at":{"oneOf":[{"type":"string","format":"date","description":"Vencimento do documento no formato `YYYY-MM-DD`, ou `null` se não expira. Não confundir com o `expires_at` da raiz, que é o prazo da sessão hospedada.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_expires_at.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Vencimento do documento no formato `YYYY-MM-DD`, ou `null` se não expira. Não confundir com o `expires_at` da raiz, que é o prazo da sessão hospedada.","isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details.oneOf.0.liveness_document_match.document_expires_at","typeLabel":"string\u003cdate> | null"}},"uniqueKey":"details.oneOf.0.liveness_document_match","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"details.oneOf.0","typeLabel":"object"},{"type":"null","description":"Dados extraídos, agrupados pela chave do `type`. Hoje só `liveness_document_match` produz detalhes, e só com `status` igual a `completed`. Nos demais casos é `null`.","isRequired":true,"uniqueKey":"details.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"details","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"aprovada":{"title":"aprovada","value":{"object":"validation","id":"val_2W7HJ9RC4XKQ0ZB58NDT3PMFY6","type":"phone_ownership","status":"completed","result":"passed","reason_code":null,"external_id":"pedido_12345","created_at":"2026-08-07T14:00:00Z","resolved_at":"2026-08-07T14:02:11Z","validation_url":null,"expires_at":"2026-08-07T14:10:00Z","attempts_remaining":0,"details":null}},"codigo_errado":{"title":"codigo_errado","value":{"object":"validation","id":"val_2W7HJ9RC4XKQ0ZB58NDT3PMFY6","type":"phone_ownership","status":"pending","result":null,"reason_code":null,"external_id":"pedido_12345","created_at":"2026-08-07T14:00:00Z","resolved_at":null,"validation_url":null,"expires_at":"2026-08-07T14:10:00Z","attempts_remaining":2,"details":null}},"tentativas_esgotadas":{"title":"tentativas_esgotadas","value":{"object":"validation","id":"val_2W7HJ9RC4XKQ0ZB58NDT3PMFY6","type":"phone_ownership","status":"completed","result":"not_passed","reason_code":"invalid_code","external_id":"pedido_12345","created_at":"2026-08-07T14:00:00Z","resolved_at":"2026-08-07T14:04:38Z","validation_url":null,"expires_at":"2026-08-07T14:10:00Z","attempts_remaining":0,"details":null}},"vencida":{"title":"vencida","value":{"object":"validation","id":"val_2W7HJ9RC4XKQ0ZB58NDT3PMFY6","type":"phone_ownership","status":"expired","result":null,"reason_code":null,"external_id":"pedido_12345","created_at":"2026-08-07T14:00:00Z","resolved_at":"2026-08-07T14:10:03Z","validation_url":null,"expires_at":"2026-08-07T14:10:00Z","attempts_remaining":0,"details":null}}},"exampleType":"examples"}},"exampleType":"examples"},"fdf7570b-ec61-4486-abd3-eaf742db5410":{"description":"Requisição inválida (corpo, parâmetro ou chave de idempotência).","content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request","code":"missing_required_param","message":"A required parameter is missing.","param":"cpf","doc_url":"https://docs.id.zapsign.com.br/missing_required_param","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"missing_required_param","message":"A required parameter is missing.","param":"cpf","doc_url":"https://docs.id.zapsign.com.br/missing_required_param","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"680e0f4d-be70-4ba1-9ebb-2999a410dee3":{"description":"Chave de API ausente ou inválida.","content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"authentication_error","code":"invalid_api_key","message":"The API key provided is invalid.","doc_url":"https://docs.id.zapsign.com.br/invalid_api_key","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authentication_error","code":"invalid_api_key","message":"The API key provided is invalid.","doc_url":"https://docs.id.zapsign.com.br/invalid_api_key","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"963f1715-23de-4748-8a05-f10d6585807c":{"description":"Recurso não encontrado.","content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"not_found","code":"not_found","message":"No such resource.","doc_url":"https://docs.id.zapsign.com.br/not_found","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"not_found","code":"not_found","message":"No such resource.","doc_url":"https://docs.id.zapsign.com.br/not_found","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"32059305-73dc-4a3f-9d47-3ef089347d4a":{"description":"Outra requisição com a mesma chave de idempotência ainda está em andamento.","content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"idempotency_error","code":"idempotency_in_progress","message":"A request with the same Idempotency-Key is still in progress.","doc_url":"https://docs.id.zapsign.com.br/idempotency_in_progress","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"idempotency_error","code":"idempotency_in_progress","message":"A request with the same Idempotency-Key is still in progress.","doc_url":"https://docs.id.zapsign.com.br/idempotency_in_progress","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"6eac064c-a606-4d4b-9f2a-4fd02cfb0806":{"description":"Corpo da requisição maior que o limite permitido.","content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request","code":"request_too_large","message":"The request body is too large.","doc_url":"https://docs.id.zapsign.com.br/request_too_large","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"request_too_large","message":"The request body is too large.","doc_url":"https://docs.id.zapsign.com.br/request_too_large","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"af3efa51-6311-43c6-add3-1ae212dc8cc5":{"description":"Valor semanticamente inválido (regra de negócio).","content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request","code":"invalid_cpf","message":"The value provided is invalid.","param":"cpf","doc_url":"https://docs.id.zapsign.com.br/invalid_cpf","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"invalid_cpf","message":"The value provided is invalid.","param":"cpf","doc_url":"https://docs.id.zapsign.com.br/invalid_cpf","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"0c0655ae-72fc-414e-9463-38aa87002755":{"description":"Limite de requisições excedido. Veja [Limites de uso](/limites-de-uso).","headers":{"Retry-After":{"description":"Segundos a aguardar antes de tentar de novo. Presente em todo 429.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"Teto de requisições da classe para a conta. Só no 429 de taxa.","schema":{"type":"integer","minimum":1}},"RateLimit-Remaining":{"description":"Requisições restantes na janela atual. Só no 429 de taxa.","schema":{"type":"integer","minimum":0}},"RateLimit-Reset":{"description":"Segundos até o limite se restabelecer por completo. Só no 429 de taxa.","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"rate_limit_error","code":"rate_limit_exceeded","message":"Too many requests. Please retry after the indicated delay.","doc_url":"https://docs.id.zapsign.com.br/rate_limit_exceeded","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"rate_limit_error","code":"rate_limit_exceeded","message":"Too many requests. Please retry after the indicated delay.","doc_url":"https://docs.id.zapsign.com.br/rate_limit_exceeded","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"c78bb378-b0a2-4238-93d7-edee21204405":{"description":"Erro interno inesperado.","content":{"application/json":{"schema":{"type":"object","description":"Formato único de erro. Toda falha da API responde neste formato. A lista completa de `code` está em [Erros](/erros).","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","doc_url","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request","authentication_error","not_found","api_error","idempotency_error","payment_error","rate_limit_error"],"description":"Categoria do erro. Serve para tratar famílias inteiras sem enumerar cada `code`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Código estável do erro. É o que você deve usar para ramificar no seu código.","example":"missing_required_param","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Descrição legível, em inglês. É para diagnóstico, não para mostrar ao usuário final.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"doc_url":{"type":"string","description":"Link direto para este código nesta documentação.","example":"https://docs.id.zapsign.com.br/missing_required_param","isRequired":true,"uniqueKey":"error.doc_url","typeLabel":"string"},"request_id":{"type":"string","description":"Identificador da requisição. Inclua no contato com o suporte.","example":"req_3PK3TA2H0MEMTDSAPREHSY4QC4","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"param":{"type":"string","description":"O campo que causou o erro, quando aplicável.","example":"cpf","uniqueKey":"error.param","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"api_error","code":"api_error","message":"An internal error occurred.","doc_url":"https://docs.id.zapsign.com.br/api_error","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"api_error","code":"api_error","message":"An internal error occurred.","doc_url":"https://docs.id.zapsign.com.br/api_error","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"c4ac1360-f2fc-4ced-9d81-c6f177d76462":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Duas credenciais são aceitas no cabeçalho `Authorization: Bearer ...`: sua chave de API (prefixo `sk_`, criada no painel ou pelos endpoints de Chaves de API) ou um access token OAuth 2.1 do ZapSign ID (Authorization Code + PKCE S256, emissor `https://id.zapsign.com.br`, audiência `https://api.id.zapsign.com.br/v1`). Tokens OAuth carregam os escopos `validations:read` (consultas) e `validations:write` (criação e verificação) e não têm acesso aos endpoints de Chaves de API — esses exigem chave `sk_` com `full_access`. Token OAuth rejeitado responde `401` com code `invalid_token`; escopo insuficiente responde `403` com code `insufficient_scope` e o cabeçalho `WWW-Authenticate` indicando o escopo exigido. Descoberta: `https://id.zapsign.com.br/.well-known/oauth-authorization-server` (servidor de autorização, RFC 8414) e `https://api.id.zapsign.com.br/.well-known/oauth-protected-resource/v1` (recurso protegido, RFC 9728). Disponibilidade: o OAuth entra em produção na próxima publicação da plataforma; antes de integrar, confirme que os URLs de descoberta respondem JSON (e não 404) e, enquanto isso, autentique com a chave `sk_`.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"8578c117-ec9f-4895-a029-9e2ef053789c":{"url":"https://api.id.zapsign.com.br/v1","description":"Produção"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Duas credenciais são aceitas no cabeçalho `Authorization: Bearer ...`: sua chave de API (prefixo `sk_`, criada no painel ou pelos endpoints de Chaves de API) ou um access token OAuth 2.1 do ZapSign ID (Authorization Code + PKCE S256, emissor `https://id.zapsign.com.br`, audiência `https://api.id.zapsign.com.br/v1`). Tokens OAuth carregam os escopos `validations:read` (consultas) e `validations:write` (criação e verificação) e não têm acesso aos endpoints de Chaves de API — esses exigem chave `sk_` com `full_access`. Token OAuth rejeitado responde `401` com code `invalid_token`; escopo insuficiente responde `403` com code `insufficient_scope` e o cabeçalho `WWW-Authenticate` indicando o escopo exigido. Descoberta: `https://id.zapsign.com.br/.well-known/oauth-authorization-server` (servidor de autorização, RFC 8414) e `https://api.id.zapsign.com.br/.well-known/oauth-protected-resource/v1` (recurso protegido, RFC 9728). Disponibilidade: o OAuth entra em produção na próxima publicação da plataforma; antes de integrar, confirme que os URLs de descoberta respondem JSON (e não 404) e, enquanto isso, autentique com a chave `sk_`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Duas credenciais são aceitas no cabeçalho `Authorization: Bearer ...`: sua chave de API (prefixo `sk_`, criada no painel ou pelos endpoints de Chaves de API) ou um access token OAuth 2.1 do ZapSign ID (Authorization Code + PKCE S256, emissor `https://id.zapsign.com.br`, audiência `https://api.id.zapsign.com.br/v1`). Tokens OAuth carregam os escopos `validations:read` (consultas) e `validations:write` (criação e verificação) e não têm acesso aos endpoints de Chaves de API — esses exigem chave `sk_` com `full_access`. Token OAuth rejeitado responde `401` com code `invalid_token`; escopo insuficiente responde `403` com code `insufficient_scope` e o cabeçalho `WWW-Authenticate` indicando o escopo exigido. Descoberta: `https://id.zapsign.com.br/.well-known/oauth-authorization-server` (servidor de autorização, RFC 8414) e `https://api.id.zapsign.com.br/.well-known/oauth-protected-resource/v1` (recurso protegido, RFC 9728). Disponibilidade: o OAuth entra em produção na próxima publicação da plataforma; antes de integrar, confirme que os URLs de descoberta respondem JSON (e não 404) e, enquanto isso, autentique com a chave `sk_`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"id-zap-sign","siteName":"ID ZapSign","title":"Confirmar o código de uma validação - ID ZapSign","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-20T05:32:03.848Z","originalFileLocation":"validacoes/confirmar-codigo.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ID ZapSign\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Confirmar o código de uma validação - ID ZapSign\">\u003cmeta data-mint-head property=\"og:description\" content=\"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ID ZapSign\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://id-zap-sign.mintlify.site/_mintlify/api/og/v2?division=Valida%C3%A7%C3%B5es\u0026amp;title=Confirmar+o+c%C3%B3digo+de+uma+valida%C3%A7%C3%A3o\u0026amp;description=Confirma+o+c%C3%B3digo+que+a+pessoa+recebeu+no+WhatsApp+e+fecha+a+valida%C3%A7%C3%A3o+de+posse+de+telefone.\u0026amp;theme=aa9e1dc9ae25c9b78edb9c62\u0026amp;signature=414fce5b7e97db8eeb6d291beb71d48b8be31fd262c475bec0efd42585d4457f\">\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=\"Confirmar o código de uma validação - ID ZapSign\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://id-zap-sign.mintlify.site/_mintlify/api/og/v2?division=Valida%C3%A7%C3%B5es\u0026amp;title=Confirmar+o+c%C3%B3digo+de+uma+valida%C3%A7%C3%A3o\u0026amp;description=Confirma+o+c%C3%B3digo+que+a+pessoa+recebeu+no+WhatsApp+e+fecha+a+valida%C3%A7%C3%A3o+de+posse+de+telefone.\u0026amp;theme=aa9e1dc9ae25c9b78edb9c62\u0026amp;signature=414fce5b7e97db8eeb6d291beb71d48b8be31fd262c475bec0efd42585d4457f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/id-zap-sign/noYYQ4J0rn4_W5tw/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ID ZapSign\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1F5EF4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/validacoes/confirmar-codigo.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.id.zapsign.com.br/#organization\",\"name\":\"ID ZapSign\",\"url\":\"https://docs.id.zapsign.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/id-zap-sign/4-2HWG_2MeHmhdau/logo/light.svg?fit=max\u0026auto=format\u0026n=4-2HWG_2MeHmhdau\u0026q=85\u0026s=348423109b942a8df252f7a7e32e34f3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.id.zapsign.com.br#website\",\"name\":\"ID ZapSign\",\"url\":\"https://docs.id.zapsign.com.br\",\"publisher\":{\"@id\":\"https://docs.id.zapsign.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo#webpage\",\"url\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo\",\"name\":\"Confirmar o código de uma validação\",\"description\":\"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.\",\"dateModified\":\"2026-08-20T05:32:03.848Z\",\"isPartOf\":{\"@id\":\"https://docs.id.zapsign.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Validações\",\"item\":\"https://docs.id.zapsign.com.br/validacoes/vinculo-cpf-telefone\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Confirmar o código de uma validação\",\"item\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo#apireference\",\"headline\":\"Confirmar o código de uma validação\",\"name\":\"Confirmar o código de uma validação\",\"description\":\"Confirma o código que a pessoa recebeu no WhatsApp e fecha a validação de posse de telefone.\",\"url\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo\",\"mainEntityOfPage\":{\"@id\":\"https://docs.id.zapsign.com.br/validacoes/confirmar-codigo#webpage\"},\"dateModified\":\"2026-08-20T05:32:03.848Z\",\"publisher\":{\"@id\":\"https://docs.id.zapsign.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.id.zapsign.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ID ZapSign\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ID ZapSign","nav":{"global":null,"groups":[{"group":"Referência da API","pages":[{"title":"Introdução à API ID ZapSign: autenticação e uso","sidebarTitle":"Introdução","href":"/introducao"},{"title":"Paginação por cursor na API ID ZapSign","sidebarTitle":"Paginação","href":"/paginacao"},{"title":"Limites de uso e rate limiting da API ID ZapSign","sidebarTitle":"Limites de uso","href":"/limites-de-uso"},{"title":"Códigos de erro da API ID ZapSign e formato da resposta","sidebarTitle":"Erros","href":"/erros"}]},{"group":"Validações","pages":[{"title":"Criar validação de vínculo entre CPF e telefone","sidebarTitle":"Vínculo entre CPF e telefone","openapi":"POST /validations/cpf-phone-match","href":"/validacoes/vinculo-cpf-telefone"},{"title":"Criar validação de troca de chip","sidebarTitle":"Troca de chip","openapi":"POST /validations/sim-swap","href":"/validacoes/troca-de-chip"},{"title":"Criar validação de prova de vida + documento","sidebarTitle":"Prova de vida + documento","openapi":"POST /validations/liveness-document-match","href":"/validacoes/prova-de-vida-documento"},{"title":"Criar validação de posse de telefone por código no WhatsApp","sidebarTitle":"Posse de telefone por WhatsApp","openapi":"POST /validations/phone-ownership","description":"Confirma que a pessoa tem em mãos o telefone informado. É assíncrona: o resultado chega quando você confirma o código em `POST /validations/{id}/verify`.","href":"/validacoes/posse-de-telefone-whatsapp"},{"title":"Confirmar o código de uma validação","sidebarTitle":"Confirmar código","openapi":"POST /validations/{id}/verify","href":"/validacoes/confirmar-codigo"},{"title":"Consultar validação","sidebarTitle":"Consultar validação","openapi":"GET /validations/{id}","description":"Use nas validações hospedadas para saber quando o titular terminou o fluxo e qual foi o resultado.","href":"/validacoes/consultar"},{"title":"Listar validações","sidebarTitle":"Listar validações","openapi":"GET /validations","href":"/validacoes/listar"}]},{"group":"Chaves de API","pages":[{"title":"Criar chave de API","sidebarTitle":"Criar chave","openapi":"POST /api-keys","href":"/chaves-de-api/criar"},{"title":"Listar chaves de API","sidebarTitle":"Listar chaves","openapi":"GET /api-keys","href":"/chaves-de-api/listar"},{"title":"Revogar chave de API","sidebarTitle":"Revogar chave","openapi":"DELETE /api-keys/{id}","href":"/chaves-de-api/revogar"}]}]},"basePath":"","title":"Confirmar o código de uma validação - ID ZapSign","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}