Endpoints e recursos
Cinco endpoints; toda requisição autenticada e assinada. Respostas de erro em application/problem+json.
Endpoints
/v1/consultasCria uma consulta
Serviços síncronos (30, 40, 50, 70, 90): responde 200 (ou 206 quando alguma seção não pôde ser obtida) com dados no schema Lanet do serviço. Se o processamento passar de 25 s, responde 202 com Location — acompanhe em GET /v1/consultas/{id} (ou receba consulta.concluida no webhook). Consulta Veicular Completa (30) normalmente excede os 25 s: trate o 202 como caminho normal (conclusão típica entre 30 s e 4 min). Serviços assíncronos (10): sempre 202. Serviço 70: decodificação do veículo pela placa + valor de referência de tabela de preços (~10 s). Serviço 90 (pacote 70 + 50): duas consultas na origem de dados em uma só chamada, um preço; as duas partes são obrigatórias — se uma falhar, a consulta falha e não é cobrada. formato=pdf gera também o laudo em PDF (laudo.url pré-assinada, 5 min) quando a integração permite — no 90, um único laudo com as seções dos dois serviços. Serviço sem preço vigente no seu contrato → 422 LAN-422-PRICING-REQUIRED, antes de qualquer processamento. Integrações dedicadas ao Arquivo de Tabela de Preços (criadas com service_code: 60) não realizam consultas: respondem 403 LAN-403-SERVICE-DISABLED antes de qualquer processamento (sem idempotência, sem cobrança) — use uma integração de consultas (json/pdf).
Parâmetros
| Nome | Onde | Obrig. | Descrição |
|---|---|---|---|
| Idempotency-Key | header | Sim | Obrigatório em POST. Até 128 caracteres imprimíveis; recomendado UUID v4 ou ULID. |
| X-Lanet-Timestamp | header | Sim | Unix time (segundos). Tolerância ±300 s. |
| X-Lanet-Signature | header | Sim |
Corpo da requisição (NovaConsulta)
{
"query": 30,
"parametros": {
"placa": "ABC1D23"
}
}
{
"query": 10,
"parametros": {
"placa": "ABC1D23",
"renavam": "00123456789",
"uf": "SC"
},
"callback": "https://hooks.empresa.com.br/lanet"
}
{
"query": 50,
"parametros": {
"placa": "ABC1D23"
},
"formato": "pdf"
}
{
"query": 70,
"parametros": {
"placa": "ABC1D23"
}
}
{
"query": 90,
"parametros": {
"placa": "ABC1D23"
}
}
{
"query": 90,
"parametros": {
"placa": "ABC1D23"
},
"formato": "pdf"
}
Respostas
| HTTP | Descrição |
|---|---|
| 200 | Consulta concluída. |
| 202 | Em processamento. `Location` aponta para `GET /v1/consultas/{id}`; consulte após `Retry-After` segundos. |
| 206 | Consulta concluída **parcialmente** — `secoes_indisponiveis` lista o que faltou. Cobrada. |
| 400 | Requisição malformada (`LAN-400`), JSON inválido, `Idempotency-Key` ausente (`LAN-400-IDEMPOTENCY-KEY-REQUIRED`). |
| 401 | Autenticação: `LAN-401` (headers ausentes/malformados), `LAN-401-KEY` (chave desconhecida, revogada ou fora da graça), `LAN-401-TIMESTAMP` (fora de ±300 s), `LAN-401-SIGNATURE` (assinatura não confere). |
| 402 | Teto diário de gasto (`LAN-402-LIMIT`) ou limite de crédito (`LAN-402-CREDIT-LIMIT`). Não cobrada; nenhum dado é consultado. |
| 403 | `LAN-403-IP` (IP não aprovado), `LAN-403-SUSPENDED-IP`/`-CONTRACT`/`-MANUAL`/`-DELINQUENCY` (integração suspensa — `suspension_reasons` no corpo), `LAN-403-SERVICE-DISABLED` (serviço indisponível para clientes externos; rota de arquivos chamada por integração sem assinatura ativa do serviço 60; ou `POST /v1/consultas` chamado por uma integração **dedicada ao Arquivo de Tabela de Preços** — ela não realiza consultas: use `GET /v1/files`). |
| 404 | Serviço inexistente no catálogo (`LAN-404-SERVICE`). |
| 409 | Mesma `Idempotency-Key` ainda em processamento (`LAN-409-IDEMPOTENCY-IN-PROGRESS`) — repita após `Retry-After`. |
| 413 | Corpo acima de 8 KB (`LAN-413`). |
| 422 | `LAN-422-PARAMETERS` (parâmetros inválidos para o serviço; `errors[]`), `LAN-422-IDEMPOTENCY-REUSE`, `LAN-422-FORMAT` (formato não permitido para a integração), `LAN-422-PRICING-REQUIRED` (serviço sem preço vigente no seu contrato — `service_code` na extensão; nada é cobrado nem consultado). |
| 429 | Limite de requisições do serviço (`LAN-429`). Não cobrada. |
| 502 | Falha ao obter os dados na origem (`LAN-502-UPSTREAM`). **Não cobrada.** A consulta fica registrada como `falhou`. |
| 503 | Capacidade temporariamente esgotada (`LAN-503-UPSTREAM-BUSY`) ou serviço indisponível (`LAN-503`). Não cobrada. |
| 504 | Tempo limite na origem (`LAN-504-UPSTREAM-TIMEOUT`). **Não cobrada.** |
/v1/consultas/{id}Consulta o resultado (polling)
Parâmetros
| Nome | Onde | Obrig. | Descrição |
|---|---|---|---|
| id | path | Sim | |
| X-Lanet-Timestamp | header | Sim | Unix time (segundos). Tolerância ±300 s. |
| X-Lanet-Signature | header | Sim |
Respostas
| HTTP | Descrição |
|---|---|
| 200 | Concluída (ou `falhou`, com `erro` preenchido). |
| 202 | Ainda em processamento. |
| 206 | Concluída parcialmente. |
| 401 | Autenticação: `LAN-401` (headers ausentes/malformados), `LAN-401-KEY` (chave desconhecida, revogada ou fora da graça), `LAN-401-TIMESTAMP` (fora de ±300 s), `LAN-401-SIGNATURE` (assinatura não confere). |
| 403 | `LAN-403-IP` (IP não aprovado), `LAN-403-SUSPENDED-IP`/`-CONTRACT`/`-MANUAL`/`-DELINQUENCY` (integração suspensa — `suspension_reasons` no corpo), `LAN-403-SERVICE-DISABLED` (serviço indisponível para clientes externos; rota de arquivos chamada por integração sem assinatura ativa do serviço 60; ou `POST /v1/consultas` chamado por uma integração **dedicada ao Arquivo de Tabela de Preços** — ela não realiza consultas: use `GET /v1/files`). |
| 404 | Consulta não encontrada para esta integração (`LAN-404-CONSULTA`). |
| 429 | Limite de requisições do serviço (`LAN-429`). Não cobrada. |
/v1/eventosEventos emitidos para a integração (replay)
Ordem crescente por id (ULID — equivale à ordem de criação) por padrão; ordem=desc devolve os mais recentes primeiro (útil para "o que saiu por último" sem paginar tudo). Retenção de 90 dias; sem desde, devolve as últimas 24 h. Paginação por cursor (opaco; siga next_cursor com os mesmos filtros e a mesma ordem). Inclui os eventos arquivo_tabela_precos.* das integrações do serviço 60 (dados = EventoArquivoTabelaPrecos). entrega.status = aguardando_verificacao indica que o evento espera a verificação do endpoint de webhook (handshake) — nenhuma tentativa é consumida até lá.
Parâmetros
| Nome | Onde | Obrig. | Descrição |
|---|---|---|---|
| X-Lanet-Timestamp | header | Sim | Unix time (segundos). Tolerância ±300 s. |
| X-Lanet-Signature | header | Sim | |
| desde | query | Não | Início (inclusive). Default = 24 h atrás. |
| ate | query | Não | Fim (exclusivo). Default = agora. |
| tipo | query | Não | |
| cursor | query | Não | |
| limit | query | Não | |
| ordem | query | Não | `asc` (padrão) = do mais antigo ao mais recente; `desc` = mais recentes primeiro. |
Respostas
| HTTP | Descrição |
|---|---|
| 200 | OK |
| 400 | Requisição malformada (`LAN-400`), JSON inválido, `Idempotency-Key` ausente (`LAN-400-IDEMPOTENCY-KEY-REQUIRED`). |
| 401 | Autenticação: `LAN-401` (headers ausentes/malformados), `LAN-401-KEY` (chave desconhecida, revogada ou fora da graça), `LAN-401-TIMESTAMP` (fora de ±300 s), `LAN-401-SIGNATURE` (assinatura não confere). |
| 403 | `LAN-403-IP` (IP não aprovado), `LAN-403-SUSPENDED-IP`/`-CONTRACT`/`-MANUAL`/`-DELINQUENCY` (integração suspensa — `suspension_reasons` no corpo), `LAN-403-SERVICE-DISABLED` (serviço indisponível para clientes externos; rota de arquivos chamada por integração sem assinatura ativa do serviço 60; ou `POST /v1/consultas` chamado por uma integração **dedicada ao Arquivo de Tabela de Preços** — ela não realiza consultas: use `GET /v1/files`). |
| 429 | Limite de requisições do serviço (`LAN-429`). Não cobrada. |
/v1/filesArquivos mensais publicados (Arquivo de Tabela de Preços — assinatura)
Lista os arquivos publicados visíveis à integração — exige assinatura ativa do serviço 60 (integração criada com service_code: 60; caso contrário 403 LAN-403-SERVICE-DISABLED). Ordem: mês de referência decrescente, versão decrescente. mes=YYYY-MM restringe a um mês (todas as versões dele). A versão mais recente de cada mês tem status=publicado; versões anteriores ficam substituido e continuam baixáveis. Paginação por cursor.
Parâmetros
| Nome | Onde | Obrig. | Descrição |
|---|---|---|---|
| X-Lanet-Timestamp | header | Sim | Unix time (segundos). Tolerância ±300 s. |
| X-Lanet-Signature | header | Sim | |
| mes | query | Não | Mês de referência (`YYYY-MM`). Ausente = todos os meses. |
| cursor | query | Não | |
| limit | query | Não |
Respostas
| HTTP | Descrição |
|---|---|
| 200 | OK |
| 400 | Requisição malformada (`LAN-400`), JSON inválido, `Idempotency-Key` ausente (`LAN-400-IDEMPOTENCY-KEY-REQUIRED`). |
| 401 | Autenticação: `LAN-401` (headers ausentes/malformados), `LAN-401-KEY` (chave desconhecida, revogada ou fora da graça), `LAN-401-TIMESTAMP` (fora de ±300 s), `LAN-401-SIGNATURE` (assinatura não confere). |
| 403 | `LAN-403-IP` (IP não aprovado), `LAN-403-SUSPENDED-IP`/`-CONTRACT`/`-MANUAL`/`-DELINQUENCY` (integração suspensa — `suspension_reasons` no corpo), `LAN-403-SERVICE-DISABLED` (serviço indisponível para clientes externos; rota de arquivos chamada por integração sem assinatura ativa do serviço 60; ou `POST /v1/consultas` chamado por uma integração **dedicada ao Arquivo de Tabela de Preços** — ela não realiza consultas: use `GET /v1/files`). |
| 429 | Limite de requisições do serviço (`LAN-429`). Não cobrada. |
/v1/files/{file_id}Download do arquivo — redireciona para uma URL temporária (5 min)
Responde `302` com Location = URL temporária de download, válida por 5 minutos, sem corpo. Siga o redirecionamento com GET sem reenviar os headers de autenticação Lanet (a URL já está assinada; muitos clientes HTTP fazem isso automaticamente — desligue o reenvio de Authorization no redirecionamento) e confira o sha256 do arquivo recebido com o valor informado no evento ou em GET /v1/files.
Exige assinatura ativa do serviço 60 (403 LAN-403-SERVICE-DISABLED caso contrário — verificado antes de procurar o arquivo). Arquivo inexistente, não publicado ou rejeitado → 404 LAN-404-FILE. Versões substituido continuam baixáveis. Cada chamada gera um registro de download (rastreio/auditoria) e uma linha de uso com valor 0 — o Arquivo de Tabela de Preços é um item fixo mensal da assinatura, nunca cobrado por download.
Parâmetros
| Nome | Onde | Obrig. | Descrição |
|---|---|---|---|
| file_id | path | Sim | |
| X-Lanet-Timestamp | header | Sim | Unix time (segundos). Tolerância ±300 s. |
| X-Lanet-Signature | header | Sim |
Respostas
| HTTP | Descrição |
|---|---|
| 302 | Redirecionamento para a URL temporária (5 min). Sem corpo. |
| 401 | Autenticação: `LAN-401` (headers ausentes/malformados), `LAN-401-KEY` (chave desconhecida, revogada ou fora da graça), `LAN-401-TIMESTAMP` (fora de ±300 s), `LAN-401-SIGNATURE` (assinatura não confere). |
| 403 | `LAN-403-IP` (IP não aprovado), `LAN-403-SUSPENDED-IP`/`-CONTRACT`/`-MANUAL`/`-DELINQUENCY` (integração suspensa — `suspension_reasons` no corpo), `LAN-403-SERVICE-DISABLED` (serviço indisponível para clientes externos; rota de arquivos chamada por integração sem assinatura ativa do serviço 60; ou `POST /v1/consultas` chamado por uma integração **dedicada ao Arquivo de Tabela de Preços** — ela não realiza consultas: use `GET /v1/files`). |
| 404 | Arquivo não encontrado ou não publicado (`LAN-404-FILE`). |
| 429 | Limite de requisições do serviço (`LAN-429`). Não cobrada. |
Códigos de erro (tabela fechada)
Formato RFC 9457: type = https://api.lanet.com.br/errors/<código em minúsculas>, title/detail em português, code desta tabela e request_id (igual ao header X-Lanet-Request-Id).
| Código | HTTP | Significado |
|---|---|---|
| LAN-400 | 400 | Requisição inválida |
| LAN-400-IDEMPOTENCY-KEY-REQUIRED | 400 | Idempotency-Key obrigatório em POST |
| LAN-401 | 401 | Headers de autenticação ausentes ou malformados |
| LAN-401-KEY | 401 | Credencial desconhecida, revogada ou fora da graça |
| LAN-401-TIMESTAMP | 401 | Timestamp fora da janela de ±300 s |
| LAN-401-SIGNATURE | 401 | Assinatura HMAC não confere |
| LAN-402-LIMIT | 402 | Teto diário de gasto atingido |
| LAN-402-CREDIT-LIMIT | 402 | Limite de crédito atingido |
| LAN-403 | 403 | Acesso negado |
| LAN-403-IP | 403 | IP de origem não aprovado |
| LAN-403-SUSPENDED-IP | 403 | Integração suspensa: nenhum IP aprovado ao fim do aprendizado |
| LAN-403-SUSPENDED-CONTRACT | 403 | Integração suspensa: contrato pendente |
| LAN-403-SUSPENDED-MANUAL | 403 | Integração suspensa manualmente |
| LAN-403-SUSPENDED-DELINQUENCY | 403 | Integração suspensa: pendência financeira |
| LAN-403-SERVICE-DISABLED | 403 | Serviço indisponível para clientes externos |
| LAN-404 | 404 | Recurso não encontrado |
| LAN-404-SERVICE | 404 | Código de serviço inexistente |
| LAN-404-CONSULTA | 404 | Consulta não encontrada para esta integração |
| LAN-404-FILE | 404 | Arquivo não encontrado ou não publicado (Arquivo de Tabela de Preços) |
| LAN-405 | 405 | Método não permitido |
| LAN-409 | 409 | Conflito |
| LAN-409-IDEMPOTENCY-IN-PROGRESS | 409 | Mesma Idempotency-Key ainda em processamento |
| LAN-413 | 413 | Corpo acima de 8 KB |
| LAN-415 | 415 | Use application/json |
| LAN-422 | 422 | Conteúdo não processável |
| LAN-422-PARAMETERS | 422 | Parâmetros inválidos para o serviço (errors[]) |
| LAN-422-FORMAT | 422 | Formato não permitido para a integração |
| LAN-422-IDEMPOTENCY-REUSE | 422 | Idempotency-Key reutilizada com corpo diferente |
| LAN-422-PRICING-REQUIRED | 422 | Serviço sem preço vigente no seu contrato — nada é processado nem cobrado |
| LAN-429 | 429 | Limite de requisições excedido (Retry-After) |
| LAN-500 | 500 | Erro interno (informe o request_id) |
| LAN-502-UPSTREAM | 502 | Falha ao obter os dados — não cobrada |
| LAN-503 | 503 | Serviço indisponível |
| LAN-503-UPSTREAM-BUSY | 503 | Capacidade temporariamente esgotada — não cobrada |
| LAN-504-UPSTREAM-TIMEOUT | 504 | Tempo limite na origem — não cobrada |
Recursos
NovaConsulta
| Campo | Tipo | Obrig. | Descrição e regras |
|---|---|---|---|
| query | integer | Sim | Código do serviço (20 e 60 não são solicitados por este endpoint). 70 = dados do veículo + valor de referência de tabela de preços; 90 = pacote 70 + 50. 10 | 30 | 40 | 50 | 70 | 90 |
| parametros | ParametrosDebitos|ParametrosPlaca | Sim | Depende de query (ver schemas por serviço). |
| formato | string | Não | pdf só em integrações com formato PDF habilitado. json | pdf · padrão: "json" |
| callback | string (uri) | Não | URL https: pública para receber consulta.concluida|falhou desta consulta (além do webhook da integração, se houver). |
Consulta
| Campo | Tipo | Obrig. | Descrição e regras |
|---|---|---|---|
| id | Ulid | Sim | |
| query | integer | Sim | 10 | 30 | 40 | 50 | 70 | 90 |
| servico | string | Sim | ex.: "Consulta Veicular Completa" |
| status | StatusConsulta | Sim | |
| modo | string | Sim | live | test |
| formato | string | Sim | json | pdf |
| parametros | object | Sim | |
| encontrado | boolean | null | Sim | false quando a origem não tem registro para os parâmetros (cobrada mesmo assim); null enquanto processa ou se falhou. |
| dados | DadosDebitos|DadosVeiculoCompleto|DadosProprietario|DadosFichaTecnica|DadosVeiculoReferencia|DadosPacoteVeiculo|null | Sim | |
| secoes_indisponiveis | array<string> | Sim | Seções não obtidas (status parcial). |
| laudo | object | null | Sim | Laudo em PDF (formato=pdf, integrações com formato PDF): URL pré-assinada válida por 5 minutos — peça o recurso de novo (GET /v1/consultas/{id}) para obter uma URL nova. null em json, enquanto processa ou se falhou. |
| |||
| erro | object | null | Sim | |
| |||
| cobrada | boolean | Sim | |
| criada_em | string (date-time) | Sim | |
| concluida_em | string | null (date-time) | Sim | |
| request_id | Ulid | Sim | |
Evento
Sem redirecionamentos: respostas 3xx são tratadas como falha
A Lanet não segue redirecionamentos ao entregar eventos ao seu endpoint: qualquer resposta 3xx conta como falha de entrega (entra na escada de retentativas — 1 min, 5 min, 30 min, 2 h e 12 h — e, após 24 h de falhas, o endpoint é marcado como failing). Responda 2xx diretamente na URL cadastrada, com https, host público e sem redirecionar para outra URL.
O mesmo vale para o evento integracao.verificacao: o desafio precisa ser respondido em 2xx na própria URL, em até 10 s.
| Campo | Tipo | Obrig. | Descrição e regras |
|---|---|---|---|
| id | Ulid | Sim | |
| tipo | TipoEvento | Sim | |
| criado_em | string (date-time) | Sim | |
| dados | object | Sim | Para consulta.*, o recurso Consulta; para integracao.ip_detectado, {ip, estado, detectado_em}; para arquivo_tabela_precos.*, EventoArquivoTabelaPrecos. |
| entrega | object | null | Sim | null para integrações sem webhook. |
| |||
ArquivoTabelaPrecos
Arquivo mensal publicado (formato Lanet .xlsx).
| Campo | Tipo | Obrig. | Descrição e regras |
|---|---|---|---|
| id | Ulid | Sim | |
| mes_referencia | MesReferencia | Sim | |
| versao | integer | Sim | Versão dentro do mês (republicações incrementam). intervalo 1–∞ |
| status | string | Sim | publicado = versão vigente do mês; substituido = há versão mais nova (o arquivo continua disponível). publicado | substituido |
| nome | string | Sim | ex.: "lanet-tabela-precos-2026-08-v1.xlsx" |
| tamanho_bytes | integer (int64) | Sim | |
| sha256 | string | Sim | SHA-256 (hex) do arquivo .xlsx — confira após o download. padrão ^[0-9a-f]{64}$ |
| sha256_tabela | Sha256Tabela | Não | |
| codigo_verificacao | CodigoVerificacao | Não | |
| linhas | integer | Sim | Linhas de dados na aba Tabela. |
| publicado_em | string (date-time) | Sim | |
| download | ArquivoTabelaPrecosDownload | Sim |
Problem
| Campo | Tipo | Obrig. | Descrição e regras |
|---|---|---|---|
| type | string (uri) | Sim | |
| title | string | Sim | |
| status | integer | Sim | |
| detail | string | Sim | |
| code | string | Sim | LAN-400 | LAN-400-IDEMPOTENCY-KEY-REQUIRED | LAN-401 | LAN-401-KEY | LAN-401-TIMESTAMP | LAN-401-SIGNATURE | LAN-402-LIMIT | LAN-402-CREDIT-LIMIT | LAN-403 | LAN-403-IP | LAN-403-SUSPENDED-IP | LAN-403-SUSPENDED-CONTRACT | LAN-403-SUSPENDED-MANUAL | LAN-403-SUSPENDED-DELINQUENCY | LAN-403-SERVICE-DISABLED | LAN-404 | LAN-404-SERVICE | LAN-404-CONSULTA | LAN-404-FILE | LAN-405 | LAN-409 | LAN-409-IDEMPOTENCY-IN-PROGRESS | LAN-413 | LAN-415 | LAN-422 | LAN-422-PARAMETERS | LAN-422-FORMAT | LAN-422-IDEMPOTENCY-REUSE | LAN-422-PRICING-REQUIRED | LAN-429 | LAN-500 | LAN-502-UPSTREAM | LAN-503 | LAN-503-UPSTREAM-BUSY | LAN-504-UPSTREAM-TIMEOUT |
| request_id | Ulid | Sim | |
| consulta_id | Ulid | Não | Presente quando a consulta chegou a ser registrada (ex.: 502/504). |
| errors | array<object> | Não | |
| |||
| suspension_reasons | array<string> | Não | |
| service_code | integer | Não | Serviço da requisição recusada (ex.: LAN-422-PRICING-REQUIRED). |
Exemplo: consulta concluída
{
"id": "01J9Z4A0V5K0Y9Q0Z6X7K8M2R0",
"query": 30,
"servico": "Consulta Veicular Completa",
"status": "concluida",
"modo": "live",
"formato": "json",
"parametros": {
"placa": "ABC1D23"
},
"encontrado": true,
"dados": {
"veiculo": {
"placa": "ABC1D23",
"renavam": "00123456789",
"chassi": "9BD00000000000000",
"marca": "FIAT",
"modelo": "ARGO DRIVE 1.0",
"versao": null,
"ano_fabricacao": 2020,
"ano_modelo": 2021,
"cor": "BRANCA",
"combustivel": "FLEX",
"municipio": "FLORIANOPOLIS",
"uf": "SC",
"categoria": "PARTICULAR",
"tipo": "AUTOMOVEL",
"especie": "PASSAGEIRO",
"procedencia": "NACIONAL",
"situacao": "regular"
},
"restricoes": [],
"gravame": null,
"roubo_furto": {
"indicio": false,
"ocorrencias": []
},
"leilao": {
"indicio": false,
"registros": []
},
"sinistro": {
"indicio": false,
"registros": []
},
"historico": {
"proprietarios": 2,
"ultimo_licenciamento": 2026
},
"referencia_mercado": {
"codigo": "001523-4",
"valor_cents": 6890000,
"mes_referencia": "2026-09"
}
},
"secoes_indisponiveis": [],
"laudo": null,
"erro": null,
"cobrada": true,
"criada_em": "2026-09-07T20:59:10.512Z",
"concluida_em": "2026-09-07T20:59:12.345Z",
"request_id": "01J9Z4A0V5K0Y9Q0Z6X7K8M2R0"
}
Exemplo: consulta do serviço 70 (dados do veículo + valor de referência) concluída
Uma consulta síncrona por placa; o dados traz veiculo e referencia (valor de referência de tabela de preços, com competência, código e histórico). Ver o schema do serviço 70.
{
"id": "01J9Z4A0V5K0Y9Q0Z6X7K8M2R3",
"query": 70,
"servico": "Dados do Veículo + valor de referência de tabela de preços (leitura de placa)",
"status": "concluida",
"modo": "live",
"formato": "json",
"parametros": {
"placa": "ABC1D23"
},
"encontrado": true,
"dados": {
"veiculo": {
"placa": "ABC1D23",
"renavam": null,
"chassi": "9BD00000000000000",
"marca": "MARCA EXEMPLO",
"modelo": "MODELO EXEMPLO 1.0",
"versao": "DRIVE 1.0 6V FLEX",
"ano_fabricacao": 2020,
"ano_modelo": 2021,
"cor": "BRANCA",
"combustivel": "FLEX",
"municipio": null,
"uf": null,
"tipo": "AUTOMOVEL",
"especie": "PASSAGEIRO",
"carroceria": "HATCH",
"portas": 4,
"eixos": 2,
"motor": {
"potencia_cv": 77,
"cilindradas_cm3": 999,
"tipo": "3 cilindros em linha",
"numero": "MTR0004321"
},
"cambio": "manual",
"tracao": "dianteira",
"pbt": 1450,
"capacidade_maxima_tracao": 1450,
"capacidade_passageiros": 5,
"capacidade_carga": null,
"procedencia": "NACIONAL",
"pais": "BRASIL",
"local_fabricacao": "Betim / MG",
"categoria": "PARTICULAR"
},
"referencia": {
"codigo_referencia": "001523-4",
"competencia": "2026-08",
"valor_referencia_cents": 6890000,
"observacao": null,
"versoes": [
{
"codigo_referencia": "001523-4",
"marca": "Marca Exemplo",
"modelo": "Modelo Exemplo",
"versao": "DRIVE 1.0 6V FLEX",
"combustivel": "FLEX",
"ano_modelo": 2021,
"valor_cents": 6890000,
"historico": [
{
"competencia": "2026-06",
"valor_cents": 6931000,
"previsto": false
},
{
"competencia": "2026-07",
"valor_cents": 6904000,
"previsto": false
},
{
"competencia": "2026-08",
"valor_cents": 6890000,
"previsto": false
},
{
"competencia": "2026-09",
"valor_cents": 6875000,
"previsto": true
}
]
}
],
"candidatos": [
{
"codigo_referencia": "001523-4",
"marca": "Marca Exemplo",
"modelo": "Modelo Exemplo 4P (2020 => 2023)",
"versao": "Drive 1.0 6v Flex"
}
]
}
},
"secoes_indisponiveis": [],
"laudo": null,
"erro": null,
"cobrada": true,
"criada_em": "2026-09-11T12:10:00.100Z",
"concluida_em": "2026-09-11T12:10:09.900Z",
"request_id": "01J9Z4A0V5K0Y9Q0Z6X7K8M2R3"
}
Exemplo: consulta do pacote (query 90) concluída
Duas consultas na origem de dados em uma só chamada e uma cobrança; o dados traz as seções dos serviços 70 e 50 unidas — inclusive referencia (valor de referência de tabela de preços). Ver o schema do pacote.
{
"id": "01J9Z4A0V5K0Y9Q0Z6X7K8M2R2",
"query": 90,
"servico": "Dados do Veículo + Ficha Técnica + Valor de Referência de Tabela de Preços",
"status": "concluida",
"modo": "live",
"formato": "json",
"parametros": {
"placa": "ABC1D23"
},
"encontrado": true,
"dados": {
"veiculo": {
"placa": "ABC1D23",
"renavam": null,
"chassi": "9BD00000000000000",
"marca": "MARCA EXEMPLO",
"modelo": "MODELO EXEMPLO 1.0",
"versao": "DRIVE 1.0 6V FLEX",
"ano_fabricacao": 2020,
"ano_modelo": 2021,
"cor": "BRANCA",
"combustivel": "FLEX",
"municipio": null,
"uf": null,
"tipo": "AUTOMOVEL",
"especie": "PASSAGEIRO",
"carroceria": "HATCH",
"portas": 4,
"eixos": 2,
"motor": {
"potencia_cv": 77,
"cilindradas_cm3": 999,
"tipo": "3 cilindros em linha",
"numero": "MTR0004321"
},
"cambio": "manual",
"tracao": "dianteira",
"pbt": 1450,
"capacidade_maxima_tracao": 1450,
"capacidade_passageiros": 5,
"capacidade_carga": null,
"procedencia": "NACIONAL",
"pais": "BRASIL",
"local_fabricacao": "Betim / MG",
"categoria": "PARTICULAR"
},
"referencia": {
"codigo_referencia": "001523-4",
"competencia": "2026-08",
"valor_referencia_cents": 6890000,
"observacao": null,
"versoes": [
{
"codigo_referencia": "001523-4",
"marca": "Marca Exemplo",
"modelo": "Modelo Exemplo",
"versao": "DRIVE 1.0 6V FLEX",
"combustivel": "FLEX",
"ano_modelo": 2021,
"valor_cents": 6890000,
"historico": [
{
"competencia": "2026-07",
"valor_cents": 6904000,
"previsto": false
},
{
"competencia": "2026-08",
"valor_cents": 6890000,
"previsto": false
}
]
}
],
"candidatos": [
{
"codigo_referencia": "001523-4",
"marca": "Marca Exemplo",
"modelo": "Modelo Exemplo 4P (2020 => 2023)",
"versao": "Drive 1.0 6v Flex"
}
]
},
"ficha_tecnica": {
"motor": {
"cilindradas_cm3": 999,
"potencia_cv": 77,
"torque_kgfm": 10.9,
"cilindros": 3,
"valvulas": 12,
"alimentacao": "injeção eletrônica",
"combustivel": "FLEX"
},
"cambio": {
"tipo": "Manual",
"marchas": 5
},
"tracao": "Dianteira",
"carroceria": {
"tipo": "Hatch",
"portas": 4,
"lugares": 5
},
"dimensoes_mm": {
"comprimento": 3998,
"largura": 1724,
"altura": 1507,
"entre_eixos": 2521
},
"peso_kg": 1035,
"tanque_litros": 48,
"porta_malas_litros": 300,
"desempenho": {
"velocidade_maxima_kmh": 168,
"aceleracao_0_100_s": 13.1
},
"consumo_kml": {
"urbano": 9.4,
"rodoviario": 10.6
}
},
"equipamentos": [
"ar-condicionado",
"direção elétrica",
"airbag duplo",
"freios ABS"
]
},
"secoes_indisponiveis": [],
"laudo": null,
"erro": null,
"cobrada": true,
"criada_em": "2026-09-10T12:10:00.100Z",
"concluida_em": "2026-09-10T12:10:09.900Z",
"request_id": "01J9Z4A0V5K0Y9Q0Z6X7K8M2R2"
}