Consultar Relatório
GET /api/v1/reports/{reportId} — polling do status e resultado. Retorna 404 para IDs de outras organizações, sem vazar informação.
Endpoint
/api/v1/reports/{reportId}Consulta o status e, quando pronto, o diagnóstico completo.
GET /api/v1/reports/{reportId}
Authorization: Bearer cnh_live_<prefix>_<secret>Prop
Type
Respostas
200 OK — relatório encontrado
O corpo tem a mesma forma do payload do webhook. Ver Shape do Payload para a tabela completa de campos.
{
"reportId": "clxyz...",
"externalRef": "driver-42",
"status": "DELIVERED",
"driver": {
"id": "cldrv...",
"cpf": "123.456.789-09",
"name": "João Silva",
"licenseNumber": "12345678901",
"licenseCategory": "AB",
"expiryDate": "2028-05-10",
"issueState": "SP"
},
"diagnosis": { "...": "..." },
"normalized": { "...": "..." },
"details": {
"personal": { "motherName": { "value": "MARIA ROSA ANDRADE", "formatted": "MARIA ROSA ANDRADE" }, "...": "..." },
"license": { "renachFormNumber": { "value": "SP377673285", "formatted": "SP377673285" }, "...": "..." },
"medicalExams": { "...": "..." },
"toxicological": { "...": "..." },
"courses": { "...": "..." },
"stateLookup": { "...": "..." }
},
"aiAnalysis": { "...": "..." },
"createdAt": "2026-06-01T12:00:00Z",
"deliveredAt": "2026-06-01T12:04:30Z"
}details traz a paridade de campos com o relatório — dados pessoais, habilitação completa, exames,
cursos e o histórico da consulta estadual. É null enquanto a consulta não respondeu, e não
enquanto o status for PROCESSING: uma entrega parcial reporta PROCESSING e já traz details e
diagnosis preenchidos. Ver Shape do Payload para os tipos de
cada seção.
Ciclo de vida do campo status
| Status | Descrição |
|---|---|
PROCESSING | Enfileirado, em processamento ou parcialmente entregue. Nos dois primeiros diagnosis e details são null; no terceiro já vêm preenchidos. Teste os campos, não o status. |
DELIVERED | Diagnóstico completo disponível em diagnosis |
ERROR | Pipeline falhou após todas as tentativas; crédito estornado |
404 Not Found
Retornado quando o reportId não existe ou pertence a outra organização.
O 404 é deliberado para não revelar a existência de dados de outro tenant.
{
"defined": false,
"code": "NOT_FOUND",
"status": 404,
"message": "Not Found"
}Polling recomendado com intervalo
Sondagens mais frequentes do que a cada 30 segundos podem ativar o rate limit. Use webhooks para eliminar a necessidade de polling.