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":[{"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":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"validacoes/troca-de-chip","slug":"/validacoes/troca-de-chip","pageMetadata":{"title":"Criar validação de troca de chip","sidebarTitle":"Troca de chip","openapi":"POST /validations/sim-swap","description":"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com `status` igual a `completed`.","href":"/validacoes/troca-de-chip"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com \", _jsx(_components.code, {\n children: \"status\"\n }), \" igual a \", _jsx(_components.code, {\n children: \"completed\"\n }), \".\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Criar validação de troca de chip","sidebarTitle":"Troca de chip","openapi":"POST /validations/sim-swap","description":"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com `status` igual a `completed`.","href":"/validacoes/troca-de-chip"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createSimSwapValidation","tags":["Validações"],"summary":"Cria uma validação de troca de chip.","description":"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com `status` igual a `completed`.","parameters":["3a5871e1-b56c-4039-99a0-d68d59bc6a0d"],"requestBody":"e6e5245d-10ba-4a19-b69b-ec0f67a5fecc","responses":{"200":"2b360ef9-b255-4b6a-9acd-81be4f000d42","400":"871fc050-2430-4831-b90b-cad6da064c96","401":"016f3a0e-14c5-4219-be78-1a678ae10ea7","402":"2574e3d9-a153-4ad8-9c52-ce0bfa891859","403":"7bec5700-735a-4da4-b187-775207917cd0","409":"3fe07652-990d-4b88-b3f8-16bc92143164","413":"6575c8f6-4b9f-4ebc-a98a-f0f4386ed0fe","422":"3b4d6eee-feb0-4580-93e2-dc68219c45bb","429":"6df63a51-ead6-4b08-82f1-8fed0cdca8f0","500":"1fe8dfd2-f765-4ef5-8eb1-2200bfb68e17"},"method":"post","type":"path","servers":["8578c117-ec9f-4895-a029-9e2ef053789c"],"security":["c4ac1360-f2fc-4ced-9d81-c6f177d76462"],"path":"/validations/sim-swap","baseUrlOptions":["https://api.id.zapsign.com.br/v1"],"title":"Cria uma validação de troca de chip.","codeSamples":[],"requestExampleLanguages":["bash","node","python","go","php","ruby"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.phone":"+5511999998888","body.consent":true},{"body.phone":"+5511999998888","body.consent":true,"body.max_age_hours":24,"body.external_id":"pedido_12345"}]},"dependencies":{"parameters":{"3a5871e1-b56c-4039-99a0-d68d59bc6a0d":{"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":"Dados para criar uma validação de troca de chip.","required":["phone","consent"],"properties":{"phone":{"type":"string","description":"Telefone celular brasileiro do titular, em formato E.164.","example":"+5511999998888","isRequired":true,"uniqueKey":"phone","typeLabel":"string"},"consent":{"type":"boolean","const":true,"description":"Confirma que o titular consentiu com a consulta. Precisa ser `true`.","isRequired":true,"uniqueKey":"consent","typeLabel":"boolean"},"max_age_hours":{"type":"integer","minimum":1,"maximum":2400,"description":"Janela, em horas, para considerar uma troca de chip como recente.","example":24,"uniqueKey":"max_age_hours","typeLabel":"integer"},"external_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,256}$","minLength":1,"maxLength":256,"description":"Sua referência de correlação. Volta em todas as respostas desta validação.","example":"pedido_12345","uniqueKey":"external_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"minimo":{"title":"minimo","value":{"phone":"+5511999998888","consent":true}},"janela_curta":{"title":"janela_curta","value":{"phone":"+5511999998888","consent":true,"max_age_hours":24,"external_id":"pedido_12345"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"2b360ef9-b255-4b6a-9acd-81be4f000d42":{"description":"Validação concluída.","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":{"no_recent_swap":{"title":"no_recent_swap","value":{"object":"validation","id":"val_0E3XNW9EDJZ571YX1HCFZQFV2D","type":"sim_swap","status":"completed","result":"no_recent_swap","reason_code":null,"external_id":"pedido_12345","created_at":"2026-08-07T14:10:00Z","resolved_at":"2026-08-07T14:10:01Z","validation_url":null,"expires_at":null,"attempts_remaining":null,"details":null}},"recent_swap":{"title":"recent_swap","value":{"object":"validation","id":"val_7T8NJBXBQS926XR06MK5RWRT5D","type":"sim_swap","status":"completed","result":"recent_swap","reason_code":null,"external_id":null,"created_at":"2026-08-07T14:12:30Z","resolved_at":"2026-08-07T14:12:31Z","validation_url":null,"expires_at":null,"attempts_remaining":null,"details":null}}},"exampleType":"examples"}},"exampleType":"examples"},"871fc050-2430-4831-b90b-cad6da064c96":{"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"},"016f3a0e-14c5-4219-be78-1a678ae10ea7":{"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"},"2574e3d9-a153-4ad8-9c52-ce0bfa891859":{"description":"Saldo insuficiente para executar a validação.","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":"payment_error","code":"insufficient_balance","message":"Insufficient balance for this validation.","doc_url":"https://docs.id.zapsign.com.br/insufficient_balance","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"payment_error","code":"insufficient_balance","message":"Insufficient balance for this validation.","doc_url":"https://docs.id.zapsign.com.br/insufficient_balance","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"7bec5700-735a-4da4-b187-775207917cd0":{"description":"OAuth: user_verification_required quando o usuário do grant não confirmou seu CPF e telefone no painel. Escopos e participação atual na conta continuam obrigatórios. API keys não exigem confirmação pessoal.","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":"user_verification_required","message":"Verify your CPF and phone in the dashboard before starting validations with OAuth.","doc_url":"https://docs.id.zapsign.com.br/user_verification_required","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request","code":"user_verification_required","message":"Verify your CPF and phone in the dashboard before starting validations with OAuth.","doc_url":"https://docs.id.zapsign.com.br/user_verification_required","request_id":"req_3PK3TA2H0MEMTDSAPREHSY4QC4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"3fe07652-990d-4b88-b3f8-16bc92143164":{"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"},"6575c8f6-4b9f-4ebc-a98a-f0f4386ed0fe":{"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"},"3b4d6eee-feb0-4580-93e2-dc68219c45bb":{"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"},"6df63a51-ead6-4b08-82f1-8fed0cdca8f0":{"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"},"1fe8dfd2-f765-4ef5-8eb1-2200bfb68e17":{"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":"Criar validação de troca de chip - ID ZapSign","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-11T20:28:08.187Z","originalFileLocation":"validacoes/troca-de-chip.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=\"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com status igual a completed.\">\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=\"Criar validação de troca de chip - ID ZapSign\">\u003cmeta data-mint-head property=\"og:description\" content=\"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com status igual a completed.\">\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/troca-de-chip\">\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=Criar+valida%C3%A7%C3%A3o+de+troca+de+chip\u0026amp;description=Detecta+troca+recente+de+chip+%28SIM+swap%29+no+n%C3%BAmero+informado.+%C3%89+s%C3%ADncrona%3A+a+resposta+j%C3%A1+traz+o+resultado%2C+com+%60status%60+igual+a+%60completed%60.\u0026amp;theme=aa9e1dc9ae25c9b78edb9c62\u0026amp;signature=bfd9d8dfbf3b82f5760e3036bf1839e1d3f5a782999e5670b751aa4089aafe7e\">\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=\"Criar validação de troca de chip - ID ZapSign\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com status igual a completed.\">\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=Criar+valida%C3%A7%C3%A3o+de+troca+de+chip\u0026amp;description=Detecta+troca+recente+de+chip+%28SIM+swap%29+no+n%C3%BAmero+informado.+%C3%89+s%C3%ADncrona%3A+a+resposta+j%C3%A1+traz+o+resultado%2C+com+%60status%60+igual+a+%60completed%60.\u0026amp;theme=aa9e1dc9ae25c9b78edb9c62\u0026amp;signature=bfd9d8dfbf3b82f5760e3036bf1839e1d3f5a782999e5670b751aa4089aafe7e\">\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/troca-de-chip\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/validacoes/troca-de-chip.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/troca-de-chip#webpage\",\"url\":\"https://docs.id.zapsign.com.br/validacoes/troca-de-chip\",\"name\":\"Criar validação de troca de chip\",\"description\":\"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com status igual a completed.\",\"dateModified\":\"2026-08-11T20:28:08.187Z\",\"isPartOf\":{\"@id\":\"https://docs.id.zapsign.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.id.zapsign.com.br/validacoes/troca-de-chip#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.id.zapsign.com.br/validacoes/troca-de-chip#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\":\"Criar validação de troca de chip\",\"item\":\"https://docs.id.zapsign.com.br/validacoes/troca-de-chip\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.id.zapsign.com.br/validacoes/troca-de-chip#apireference\",\"headline\":\"Criar validação de troca de chip\",\"name\":\"Criar validação de troca de chip\",\"description\":\"Detecta troca recente de chip (SIM swap) no número informado. É síncrona: a resposta já traz o resultado, com status igual a completed.\",\"url\":\"https://docs.id.zapsign.com.br/validacoes/troca-de-chip\",\"mainEntityOfPage\":{\"@id\":\"https://docs.id.zapsign.com.br/validacoes/troca-de-chip#webpage\"},\"dateModified\":\"2026-08-11T20:28:08.187Z\",\"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","description":"Verifica se o telefone pertence ao titular do CPF. É síncrona: a resposta já traz o resultado, com `status` igual a `completed`.","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","description":"Confirma que o titular é uma pessoa real e dono do documento que apresenta. É hospedada e assíncrona: a resposta vem com `status` igual a `pending` e traz a `validation_url` para onde você redireciona o titular. O resultado chega depois, via `GET /validations/{id}`.","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","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}","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":"Criar validação de troca de chip - 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"]}