API
Consultar uma verificação
GET /public/validations-persons/: uma verificação pelo public_id, com os dados do titular e o resultado de cada etapa.
GET
/
public
/
validations-persons
/
{public_id}
curl https://api-core.legitimuz.com/public/validations-persons/019f0000-0000-7000-8000-000000000001 \
-H "X-API-Key: $LEGITIMUZ_API_KEY"
{
"public_id": "019f0000-0000-7000-8000-000000000001",
"ref_id": "pedido-4471",
"person_name": "M**** O*******",
"document": "***.000.000-**",
"document_type": "cpf",
"flow": { "public_id": "019f0000-0000-7000-8000-0000000000f1", "name": "Onboarding" },
"integration": { "public_id": "019f0000-0000-7000-8000-0000000000a1", "name": "Loja online" },
"identity_score": 100,
"risk_score": 0,
"status": "review",
"journey": "onboarding",
"created_at": "2026-09-14T17:30:12.000Z",
"updated_at": "2026-09-14T17:31:03.000Z",
"decided_at": "2026-09-14T17:30:58.000Z",
"manual_decision": null,
"person": {
"name": "M**** O*******",
"birthdate": "1990-**-**",
"mother_name": "A** O*******",
"gender": null,
"situation": null,
"pep": true,
"pep_origin": "holder",
"deceased": false
},
"restrictive_lists": [
{ "public_id": "019f0000-0000-7000-8000-0000000000c1", "name": "Fraude confirmada" }
],
"steps": {
"ocr": {
"state": "approved",
"name_match": true,
"document_match": true,
"birthdate_match": true,
"document_type": "rg",
"notices": [
{ "code": "name_found", "severity": "info", "label": "Nome encontrado no documento" }
]
},
"liveness": { "state": "approved", "score": 98, "notices": [] },
"facematch": { "state": "approved", "similarity": 97, "notices": [] },
"documentoscopy": { "state": "pending", "result": null, "score": null, "notices": [] },
"biometric": { "state": "pending", "score": null, "notices": [] }
},
"attempts": { "document": 1, "liveness": 1 },
"notices": [
{ "code": "pep_manual_review", "severity": "alerta", "label": "Titular é pessoa exposta politicamente" }
]
}
Devolve uma verificação pelo
Corpo de erro: erros da API.
public_id, com os mesmos campos de cada item de
listar verificações.
curl https://api-core.legitimuz.com/public/validations-persons/019f0000-0000-7000-8000-000000000001 \
-H "X-API-Key: $LEGITIMUZ_API_KEY"
Requisitos
| Requisito | Detalhe |
|---|---|
| Autenticação | Header X-API-Key com a chave da integração (lz_...). Veja autenticação |
| Permissão | Ver verificações. Baixar imagens exige também Ver mídia da verificação. Nascem desmarcadas: veja como conceder |
| IP liberado | Só IPs liberados pela Legitimuz. De outro IP, a chamada é barrada antes de chegar à API, com 403, mesmo com chave e permissão corretas. Para liberar, fale com o suporte e informe o IP fixo ou a faixa CIDR |
| Alcance | Só as verificações da integração da chave, no ambiente dela. As de outra integração da conta não aparecem |
Parâmetros
A rota não aceita query string: qualquer parâmetro responde
400 E_VALIDATION_FAILURE.
Resposta
200 com a verificação, sem envelope. Header Cache-Control: no-store.
Os campos são os de cada item de listar verificações, menos
verifications_count e last_verification_at, que só existem na listagem por titular:
- Verificação: status, jornada, fluxo, integração, scores, datas e decisão manual.
- Titular: os dados cadastrais e a máscara.
- Listas restritivas da sua conta em que o documento aparece.
- Etapas e avisos.
{
"public_id": "019f0000-0000-7000-8000-000000000001",
"ref_id": "pedido-4471",
"person_name": "M**** O*******",
"document": "***.000.000-**",
"document_type": "cpf",
"flow": { "public_id": "019f0000-0000-7000-8000-0000000000f1", "name": "Onboarding" },
"integration": { "public_id": "019f0000-0000-7000-8000-0000000000a1", "name": "Loja online" },
"identity_score": 100,
"risk_score": 0,
"status": "review",
"journey": "onboarding",
"created_at": "2026-09-14T17:30:12.000Z",
"updated_at": "2026-09-14T17:31:03.000Z",
"decided_at": "2026-09-14T17:30:58.000Z",
"manual_decision": null,
"person": {
"name": "M**** O*******",
"birthdate": "1990-**-**",
"mother_name": "A** O*******",
"gender": null,
"situation": null,
"pep": true,
"pep_origin": "holder",
"deceased": false
},
"restrictive_lists": [
{ "public_id": "019f0000-0000-7000-8000-0000000000c1", "name": "Fraude confirmada" }
],
"steps": {
"ocr": {
"state": "approved",
"name_match": true,
"document_match": true,
"birthdate_match": true,
"document_type": "rg",
"notices": [
{ "code": "name_found", "severity": "info", "label": "Nome encontrado no documento" }
]
},
"liveness": { "state": "approved", "score": 98, "notices": [] },
"facematch": { "state": "approved", "similarity": 97, "notices": [] },
"documentoscopy": { "state": "pending", "result": null, "score": null, "notices": [] },
"biometric": { "state": "pending", "score": null, "notices": [] }
},
"attempts": { "document": 1, "liveness": 1 },
"notices": [
{ "code": "pep_manual_review", "severity": "alerta", "label": "Titular é pessoa exposta politicamente" }
]
}
Códigos de resposta
| HTTP | Código | Quando |
|---|---|---|
200 | — | Verificação devolvida |
400 | E_VALIDATION_FAILURE | public_id fora do formato UUID, ou qualquer parâmetro na query string |
401 | E_UNAUTHORIZED_ACCESS | Chave ausente, inválida, expirada ou revogada |
403 | E_FORBIDDEN | Chave sem a permissão Ver verificações. IP não liberado também recebe 403, mas antes de chegar à API: veja requisitos |
404 | E_NOT_FOUND | Verificação inexistente, de outra integração, de outra conta ou do outro ambiente. Mesma resposta em todos os casos |
429 | E_RATE_LIMITED | Teto de chamadas por minuto na mesma chave, hoje de 500. Respeite Retry-After. Veja limites |
500 | E_INTERNAL_SERVER_ERROR | Falha inesperada |
Próximo passo
Baixar imagens
A selfie e o documento desta verificação, por URL assinada.
Listar verificações
A verificação mais recente de cada titular, com filtros e paginação.
⌘I
curl https://api-core.legitimuz.com/public/validations-persons/019f0000-0000-7000-8000-000000000001 \
-H "X-API-Key: $LEGITIMUZ_API_KEY"
{
"public_id": "019f0000-0000-7000-8000-000000000001",
"ref_id": "pedido-4471",
"person_name": "M**** O*******",
"document": "***.000.000-**",
"document_type": "cpf",
"flow": { "public_id": "019f0000-0000-7000-8000-0000000000f1", "name": "Onboarding" },
"integration": { "public_id": "019f0000-0000-7000-8000-0000000000a1", "name": "Loja online" },
"identity_score": 100,
"risk_score": 0,
"status": "review",
"journey": "onboarding",
"created_at": "2026-09-14T17:30:12.000Z",
"updated_at": "2026-09-14T17:31:03.000Z",
"decided_at": "2026-09-14T17:30:58.000Z",
"manual_decision": null,
"person": {
"name": "M**** O*******",
"birthdate": "1990-**-**",
"mother_name": "A** O*******",
"gender": null,
"situation": null,
"pep": true,
"pep_origin": "holder",
"deceased": false
},
"restrictive_lists": [
{ "public_id": "019f0000-0000-7000-8000-0000000000c1", "name": "Fraude confirmada" }
],
"steps": {
"ocr": {
"state": "approved",
"name_match": true,
"document_match": true,
"birthdate_match": true,
"document_type": "rg",
"notices": [
{ "code": "name_found", "severity": "info", "label": "Nome encontrado no documento" }
]
},
"liveness": { "state": "approved", "score": 98, "notices": [] },
"facematch": { "state": "approved", "similarity": 97, "notices": [] },
"documentoscopy": { "state": "pending", "result": null, "score": null, "notices": [] },
"biometric": { "state": "pending", "score": null, "notices": [] }
},
"attempts": { "document": 1, "liveness": 1 },
"notices": [
{ "code": "pep_manual_review", "severity": "alerta", "label": "Titular é pessoa exposta politicamente" }
]
}