Documentação

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

GET/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

StatusDescrição
PROCESSINGEnfileirado, 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.
DELIVEREDDiagnóstico completo disponível em diagnosis
ERRORPipeline 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.