API
Baixar imagens da verificação
GET /public/validations-persons//files: as URLs assinadas da selfie e do documento de uma verificação.
GET
/
public
/
validations-persons
/
{public_id}
/
files
curl https://api-core.legitimuz.com/public/validations-persons/019f0000-0000-7000-8000-000000000001/files \
-H "X-API-Key: $LEGITIMUZ_API_KEY"
{
"selfie": {
"url": "<URL_ASSINADA_DA_SELFIE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b1",
"type": "image/jpeg",
"size": "245831",
"created_at": "2026-09-14T17:30:40.000Z",
"document_type": null
}
},
"document_front": {
"url": "<URL_ASSINADA_DA_FRENTE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b2",
"type": "image/jpeg",
"size": "512044",
"created_at": "2026-09-14T17:30:25.000Z",
"document_type": "rg"
}
},
"document_back": {
"url": "<URL_ASSINADA_DO_VERSO>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b3",
"type": "image/jpeg",
"size": "498120",
"created_at": "2026-09-14T17:30:31.000Z",
"document_type": "rg"
}
}
}
{
"selfie": null,
"document_front": {
"url": "<URL_ASSINADA_DA_FRENTE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b2",
"type": "image/jpeg",
"size": "512044",
"created_at": "2026-09-14T17:30:25.000Z",
"document_type": "cnh"
}
},
"document_back": null
}
Devolve URLs assinadas da selfie e do documento (frente e verso) de uma verificação. Cada URL abre um
único arquivo e vale por
A rota não aceita query string: qualquer parâmetro, inclusive CPF, responde
Corpo de erro: erros da API.
expires_in segundos.
curl https://api-core.legitimuz.com/public/validations-persons/019f0000-0000-7000-8000-000000000001/files \
-H "X-API-Key: $LEGITIMUZ_API_KEY"
As imagens são dado biométrico do titular. Quem tem a URL lê o arquivo até ela vencer: não a
registre em log nem em analytics, e não a repasse ao browser do titular. Guarde as imagens só pelo
prazo da sua base legal.
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
| Parâmetro | Onde | Formato | Descrição |
|---|---|---|---|
public_id | Caminho | UUID, obrigatório | public_id da verificação. Ache-o em listar verificações |
400 E_VALIDATION_FAILURE.
Resposta
200 com selfie, document_front e document_back, cada um um arquivo ou null. Header Cache-Control: no-store.
Campos
| Campo | Conteúdo | É null quando |
|---|---|---|
selfie | Selfie da tentativa aceita na prova de vida | A prova de vida não foi aprovada, ou ainda não aconteceu |
document_front | Captura mais recente da frente. Documento digital em PDF sai aqui, com file.type application/pdf | Não há arquivo da frente |
document_back | Captura mais recente do verso | Não há captura do verso |
Formato de cada arquivo
| Campo | Tipo | Descrição |
|---|---|---|
url | string | URL assinada |
expires_in | integer | Segundos de validade. Hoje, 300 |
expires_at | string | Vencimento da URL. ISO 8601 em UTC |
file.public_id | string | Identificador do arquivo |
file.type | string | null | Tipo do arquivo, como image/jpeg ou application/pdf |
file.size | string | null | Tamanho em bytes, como texto: "245831" |
file.created_at | string | Criação do arquivo. ISO 8601 em UTC |
file.document_type | string | null | Família do documento lido naquele lado (cnh, rg, cin; mesmos valores de captured_document_type). null na selfie e quando o lado ainda não tem leitura |
{
"selfie": {
"url": "<URL_ASSINADA_DA_SELFIE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b1",
"type": "image/jpeg",
"size": "245831",
"created_at": "2026-09-14T17:30:40.000Z",
"document_type": null
}
},
"document_front": {
"url": "<URL_ASSINADA_DA_FRENTE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b2",
"type": "image/jpeg",
"size": "512044",
"created_at": "2026-09-14T17:30:25.000Z",
"document_type": "rg"
}
},
"document_back": {
"url": "<URL_ASSINADA_DO_VERSO>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b3",
"type": "image/jpeg",
"size": "498120",
"created_at": "2026-09-14T17:30:31.000Z",
"document_type": "rg"
}
}
}
{
"selfie": null,
"document_front": {
"url": "<URL_ASSINADA_DA_FRENTE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b2",
"type": "image/jpeg",
"size": "512044",
"created_at": "2026-09-14T17:30:25.000Z",
"document_type": "cnh"
}
},
"document_back": null
}
Códigos de resposta
| HTTP | Código | Quando |
|---|---|---|
200 | — | Arquivos devolvidos. Os que não existem vêm null |
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 Ver verificações ou sem Ver mídia da verificação. 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
Consultar verificação
Os dados e o resultado de cada etapa da mesma verificação.
Dados e privacidade
O que é coletado numa verificação, quem responde pelo quê e o que isso exige de você.
⌘I
curl https://api-core.legitimuz.com/public/validations-persons/019f0000-0000-7000-8000-000000000001/files \
-H "X-API-Key: $LEGITIMUZ_API_KEY"
{
"selfie": {
"url": "<URL_ASSINADA_DA_SELFIE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b1",
"type": "image/jpeg",
"size": "245831",
"created_at": "2026-09-14T17:30:40.000Z",
"document_type": null
}
},
"document_front": {
"url": "<URL_ASSINADA_DA_FRENTE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b2",
"type": "image/jpeg",
"size": "512044",
"created_at": "2026-09-14T17:30:25.000Z",
"document_type": "rg"
}
},
"document_back": {
"url": "<URL_ASSINADA_DO_VERSO>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b3",
"type": "image/jpeg",
"size": "498120",
"created_at": "2026-09-14T17:30:31.000Z",
"document_type": "rg"
}
}
}
{
"selfie": null,
"document_front": {
"url": "<URL_ASSINADA_DA_FRENTE>",
"expires_in": 300,
"expires_at": "2026-09-14T17:36:03.000Z",
"file": {
"public_id": "019f0000-0000-7000-8000-0000000000b2",
"type": "image/jpeg",
"size": "512044",
"created_at": "2026-09-14T17:30:25.000Z",
"document_type": "cnh"
}
},
"document_back": null
}