Pular para o conteúdo
ZapCar
Developersv1

Dicionário de campos

Cada objeto das respostas, campo a campo: tipo, obrigatoriedade, null e origem.

Cada objeto das respostas, campo a campo, lido da especificação OpenAPI que a API publica. Em cada campo: o tipo, se ele sempre vem ou pode não vir, se aceita null, a descrição e um exemplo.

Informação:

Origem do dado

Objetos marcados como normalizados pela ZapCar têm forma garantida pelo contrato (schema_version). O conteúdo de dados nas consultas espelha a base consultada e pode mudar quando a base muda: a ZapCar não garante a estabilidade de campos que vêm da fonte externa. Ver as três camadas de dado.

Consultas

ConsultaCriada

Resposta do POST /v1/consultas. status é sempre "processando": o resultado sai em GET /v1/consultas/{id}.

idstring (uuid)sempre presente

Exemplo: 6f1c2e2a-1b3d-4a9e-8f7c-2a1b3c4d5e6f

servicostringsempre presente
Valores:consultaconsulta-completaecv-premiumconsulta-veiculargravamerenajuddebitosdebitos-estadualhistorico-proprietarioscomunicacao-vendadecodificacao-chassidecodificacao-motorscore-creditosituacao-cpfcadastro-simples-cpfcadastro-completo-cpfcadastro-simples-cnpjcadastro-completo-cnpjcredito-unico-cpfcredito-biro-cpfcredito-unico-cnpjcredito-biro-cnpjcnh-nacionaldebitos-trabalhistasdivida-ativacodigo-segurancaatpveconsulta-nfecrlv

Exemplo: consulta

statusstringsempre presente
Valores:processando
ambientestringpode não vir
Presente SOMENTE em respostas do ambiente de teste. Ausente em produção.
Valores:test
cenariostringpode não vir
Só no ambiente de teste: o cenário que a placa reservada seleciona.
valor_cobradonumbersempre presente
Debitado agora, em reais. 0 quando a consulta foi reaproveitada.

Exemplo: 8.9

preco_basenumberpode não vir
Só quando um Grupo de Desconto foi aplicado.
descontoDescontopode não vir
Grupo de Desconto da API aplicado a esta conta.Formato: Desconto
saldo_restantenumbersempre presente

Exemplo: 465.01

resultado_urlstringsempre presente
Caminho para acompanhar o resultado.

Exemplo: /v1/consultas/6f1c2e2a-1b3d-4a9e-8f7c-2a1b3c4d5e6f

reaproveitadabooleanpode não vir
Só no HTTP 200: uma solicitação idêntica já estava em processamento e foi devolvida. Nada foi cobrado.
mensagemstringpode não vir
Só no HTTP 200 reaproveitado: explicação para exibir ao usuário.

ConsultaResponse

Resposta do GET /v1/consultas/{id}. Os blocos presentes dependem do status: dados/veiculo/pdf_url apenas em "concluido"; erro/erro_codigo/retryable apenas em "erro".

idstring (uuid)sempre presente
servicostringsempre presente
Valores:consultaconsulta-completaecv-premiumconsulta-veiculargravamerenajuddebitosdebitos-estadualhistorico-proprietarioscomunicacao-vendadecodificacao-chassidecodificacao-motorscore-creditosituacao-cpfcadastro-simples-cpfcadastro-completo-cpfcadastro-simples-cnpjcadastro-completo-cnpjcredito-unico-cpfcredito-biro-cpfcredito-unico-cnpjcredito-biro-cnpjcnh-nacionaldebitos-trabalhistasdivida-ativacodigo-segurancaatpveconsulta-nfecrlv
placastring · aceita nullpode não vir

Exemplo: ABC1D23

statusstringsempre presente
"processando" = siga o polling. "concluido" e "erro" são TERMINAIS: o mesmo id não muda mais.
Valores:processandoconcluidoerro
schema_versionstringsempre presente
Versão do contrato de resposta. Minor = só acréscimo de campo; major nunca sai sem aviso no changelog.

Exemplo: 1.0

ambientestringpode não vir
Presente SOMENTE em respostas do ambiente de teste. Ausente em produção.
Valores:test
cenariostringpode não vir
Só no ambiente de teste: o cenário que a placa reservada seleciona.
ufstringpode não vir
Só em crlv e debitos-estadual.
valor_cobradonumber · aceita nullpode não vir
criado_emstring (date-time) · aceita nullpode não vir
Fuso America/Sao_Paulo.
dadosDadosPessoa ou objeto · aceita nullpode não vir
Resultado como a base devolveu (camada de espelho, nomes no padrão da fonte). null em crlv e codigo-seguranca, que entregam só o PDF. Para dado com forma garantida, use veiculo. Na consulta-completa (desde 14/10/2026) vêm também: historicoKm ({ registros: [{ km, data, dataIso }], inconsistente }), historicoProprietarios ([{ nome, documento, anoExercicio, uf }]), rouboFurto ({ constaOcorrencia, ocorrenciaAtiva, ocorrencias: [{ ocorrencia, declaracao, data, boletim, municipio, uf }] }), leilao.score (avaliação do leiloeiro) e fotosLeilao ([{ indice, url }]). Em todos: null = não verificado, lista vazia = sem registro. Não vêm mais: renainf, imagensOutras, alertasSinistro, informacoesAvulsas; restricoes.recall, situacaoLicenciamento e licenciadoAte vêm null. O ecv-premium (desde 14/10/2026) tem o mesmo formato da consulta-completa, sem fotosLeilao, e acrescenta: remarketing ({ marcaModelo, situacaoChassi, segmento, subSegmento, checklist: { dataInspecao, itens: [{ parte, estado }], garantia, fotos } }), anuncios ([{ data, km, valor, opcionais, fotos }]) e codigosFipe ([string]). As passagens por leilão do remarketing entram em leilao.ocorrencias. Nas consultas de pessoa (cadastro-*, credito-*, cnh-nacional, debitos-trabalhistas, divida-ativa; desde 15/10/2026) dados segue o schema DadosPessoa, igual nos 11 serviços, e a resposta não traz placa, veiculo nem proprietario.
veiculoVeiculopode não vir
Contrato ZapCar normalizado, em snake_case: a camada ESTÁVEL da resposta. Mesma forma em consulta, consulta-completa, consulta-veicular, ecv-premium, gravame e renajud, independente do fornecedor. null em recall/sinistro/leilao significa NÃO VERIFICADO por este serviço: nunca "não consta".Formato: Veiculo
proprietarioProprietariopode não vir
Formato: Proprietario
ultimo_licenciamentointeger · aceita nullpode não vir

Exemplo: 2024

riscoobjetopode não vir
Índice de risco. Só na consulta-completa, o único serviço que verifica sinistro, leilão e roubo/furto juntos.
nao_verificadoarray de stringpode não vir
Só na consulta simples: categorias que a base NÃO checou nesta consulta. Campo vazio em dados que esteja nesta lista é ausência de VERIFICAÇÃO, não ausência de restrição. Desde 09/10/2026 a base tem campo próprio para todas as restrições, então a lista costuma vir vazia; um item aparece quando o estado não respondeu aquela categoria.

Exemplo: []

pdf_urlstringpode não vir
Caminho do documento. Só em "concluido".

Exemplo: /v1/consultas/6f1c2e2a-.../pdf

errostringpode não vir
Só em "erro": frase para o cliente, sem nome de fornecedor nem jargão técnico.
erro_codigostringpode não vir
Só em "erro": por que falhou. Ausente em consultas anteriores a 02/09/2026.
Valores:INVALID_PLATEINVALID_CHASSISINVALID_ENGINEINVALID_RENAVAMINVALID_DOCUMENTMISSING_REQUIRED_FIELDUF_UNAVAILABLEQUERY_NOT_FOUNDPROVIDER_TIMEOUTPROVIDER_UNAVAILABLEPROVIDER_INVALID_RESPONSEPROVIDER_AUTH_ERRORPROVIDER_ERRORPROVIDER_NO_DOCUMENTCIRCUIT_OPENQUEUE_UNAVAILABLEPROCESSING_INTERRUPTEDPDF_GENERATION_FAILEDADAPTER_ERRORCONFIG_ERRORINTERNAL_ERROR

Exemplo: PROVIDER_UNAVAILABLE

retryablebooleanpode não vir
Só em "erro". true = transitório, vale criar uma consulta NOVA depois de um backoff. false = definitivo. AUSENTE = a falha não foi classificada: trate como definitivo, não repita automaticamente.

Veículo (normalizado)

Veiculo

Normalizado pela ZapCar

Contrato ZapCar normalizado, em snake_case: a camada ESTÁVEL da resposta. Mesma forma em consulta, consulta-completa, consulta-veicular, ecv-premium, gravame e renajud, independente do fornecedor. null em recall/sinistro/leilao significa NÃO VERIFICADO por este serviço: nunca "não consta".

placastring · aceita nullsempre presente

Exemplo: ABC1D23

renavamstring · aceita nullpode não vir
chassistring · aceita nullpode não vir
marcastring · aceita nullpode não vir

Exemplo: VW

modelostring · aceita nullpode não vir

Exemplo: POLO SENSE

ano_fabricacaointeger · aceita nullpode não vir

Exemplo: 2019

ano_modelointeger · aceita nullpode não vir

Exemplo: 2020

corstring · aceita nullpode não vir
combustivelstring · aceita nullpode não vir
especiestring · aceita nullpode não vir
categoriastring · aceita nullpode não vir
municipiostring · aceita nullpode não vir
ufstring · aceita nullpode não vir
proprietarioProprietario · aceita nullpode não vir
Formato: Proprietario
Campos de proprietario
nomestring · aceita nullpode não vir

Exemplo: JOAO DA SILVA

documentostring · aceita nullpode não vir
CPF/CNPJ como a fonte devolveu (pode vir mascarado). null quando a base não liberou o documento; o nome pode vir mesmo assim.

Exemplo: 12345678901

historico_proprietariosarray de objeto · aceita nullpode não vir
Cadeia de titularidade (só consulta-completa e serviço dedicado). Ausente = o serviço não consulta; null = consulta e a base não respondeu; [] = sem registro.
Campos de historico_proprietarios
nomestring · aceita nullpode não vir
documentostring · aceita nullpode não vir
ano_exerciciointeger · aceita nullpode não vir
municipiostring · aceita nullpode não vir
ufstring · aceita nullpode não vir
ocorrenciastring · aceita nullpode não vir
situacaostring · aceita nullpode não vir

Exemplo: EM CIRCULACAO

baixadobooleanpode não vir
recallboolean · aceita nullpode não vir
null = este serviço não verifica recall.
sinistroboolean · aceita nullpode não vir
null = este serviço não verifica sinistro.
leilaoLeilaoInfo · aceita nullpode não vir
null = nenhuma das fontes de leilão respondeu.Formato: LeilaoInfo
Campos de leilao
constabooleansempre presente
ocorrenciasintegersempre presente
fotosintegerpode não vir
Imagens em pátio de leiloeiro. Prova positiva por si só, mesmo com ocorrencias: 0.
restricoesarray de Restricaosempre presente
Formato: array de Restricao
debitosarray de Debitosempre presente
Formato: array de Debito
debitos_total_centavosintegersempre presente
Soma dos débitos em centavos. Com algum item valor_informado: false, é um PISO.

Exemplo: 97617

ficha_pesadosobjeto · aceita nullpode não vir
Só preenchido em caminhão, ônibus e implemento.
Campos de ficha_pesados
eixosinteger · aceita nullpode não vir
capacidade_carga_kginteger · aceita nullpode não vir
peso_bruto_total_kginteger · aceita nullpode não vir
capacidade_maxima_tracao_kginteger · aceita nullpode não vir
capacidade_tanque_litrosinteger · aceita nullpode não vir
faturamentoobjeto · aceita nullpode não vir
Para quem a montadora faturou o veículo 0km.
Campos de faturamento
tipo_documentostring · aceita nullpode não vir

Exemplo: CNPJ

documentostring · aceita nullpode não vir
ufstring · aceita nullpode não vir
ultimo_licenciamentointeger · aceita nullpode não vir
Ano do último licenciamento.

Exemplo: 2024

_servicostringpode não vir
Metadado: serviço que originou o bloco.
_normalizado_emstring (date-time)pode não vir
Metadado: quando o bloco foi montado.
_fontestringpode não vir
Metadado. Sempre zapcar: o contrato público é nosso, não do fornecedor.

Exemplo: zapcar

Proprietario

Normalizado pela ZapCar
nomestring · aceita nullpode não vir

Exemplo: JOAO DA SILVA

documentostring · aceita nullpode não vir
CPF/CNPJ como a fonte devolveu (pode vir mascarado). null quando a base não liberou o documento; o nome pode vir mesmo assim.

Exemplo: 12345678901

Restricao

Normalizado pela ZapCar
tipostringsempre presente
Valores:FINANCEIRARENAJUDJUDICIALADMINISTRATIVATRIBUTARIAGUINCHOROUBO_FURTOCOMUNICACAO_VENDAOUTRA
ativabooleansempre presente
Fonte da verdade. Não inferir de texto.
descricaostring · aceita nullpode não vir

Debito

Normalizado pela ZapCar
tipostringsempre presente
Valores:IPVALICENCIAMENTODPVATMULTAOUTRO
descricaostring · aceita nullpode não vir
valor_centavosintegersempre presente
Valor em CENTAVOS inteiros (97617 = R$ 976,17).

Exemplo: 97617

valor_informadobooleanpode não vir
false = a fonte CONFIRMA o débito mas não devolveu o valor. valor_centavos é 0 e NÃO significa ausência de débito.

LeilaoInfo

Normalizado pela ZapCar
constabooleansempre presente
ocorrenciasintegersempre presente
fotosintegerpode não vir
Imagens em pátio de leiloeiro. Prova positiva por si só, mesmo com ocorrencias: 0.

Pessoa

DadosPessoa

Formato ZapCar, preenchimento da base

dados das consultas de pessoa (cadastro-simples-cpf, cadastro-completo-cpf, cadastro-simples-cnpj, cadastro-completo-cnpj, credito-unico-cpf, credito-unico-cnpj, credito-biro-cpf, credito-biro-cnpj, cnh-nacional, debitos-trabalhistas, divida-ativa). Datas em dd/mm/aaaa; valores em reais (número). Bloco null = a base não informou; lista vazia = a base respondeu sem ocorrência.

produtostringpode não vir

Exemplo: CREDITO_BIRO_CPF

documentostringpode não vir
Só dígitos.

Exemplo: 12345678909

tipo_documentostringpode não vir
Valores:CPFCNPJ
ufstring · aceita nullpode não vir

Exemplo: SP

identificacaoobjeto · aceita nullpode não vir
Campos de identificacao
nomestring · aceita nullpode não vir
data_nascimentostring · aceita nullpode não vir
idadeinteger · aceita nullpode não vir
sexostring · aceita nullpode não vir
nome_maestring · aceita nullpode não vir
rgstring · aceita nullpode não vir
uf_rgstring · aceita nullpode não vir
titulo_eleitorstring · aceita nullpode não vir
situacao_cpfstring · aceita nullpode não vir

Exemplo: REGULAR

data_situacao_cpfstring · aceita nullpode não vir
estado_civilstring · aceita nullpode não vir
escolaridadestring · aceita nullpode não vir
dependentesstring · aceita nullpode não vir
regiao_cpfstring · aceita nullpode não vir
empresaobjeto · aceita nullpode não vir
Campos de empresa
razao_socialstring · aceita nullpode não vir
nome_fantasiastring · aceita nullpode não vir
situacaostring · aceita nullpode não vir

Exemplo: ATIVA

data_situacaostring · aceita nullpode não vir
data_aberturastring · aceita nullpode não vir
natureza_juridicastring · aceita nullpode não vir
cnaestring · aceita nullpode não vir
atividade_secundariastring · aceita nullpode não vir
portestring · aceita nullpode não vir
faturamento_presumidostring · aceita nullpode não vir
funcionariosstring · aceita nullpode não vir
sitestring · aceita nullpode não vir
quantidade_filiaisstring · aceita nullpode não vir
nirestring · aceita nullpode não vir
renda_presumidastring · aceita nullpode não vir
enderecosarray de EnderecoPessoa · aceita nullpode não vir
Formato: array de EnderecoPessoa
telefonesarray de objeto · aceita nullpode não vir
Campos de telefones
numerostringpode não vir

Exemplo: (19) 99999-0000

tipostring · aceita nullpode não vir
Valores:CelularFixo
atualizado_emstring · aceita nullpode não vir
emailsarray de string · aceita nullpode não vir
sociosarray de objeto · aceita nullpode não vir
Campos de socios
nomestring · aceita nullpode não vir
documentostring · aceita nullpode não vir
qualificacaostring · aceita nullpode não vir
participacaostring · aceita nullpode não vir

Exemplo: 50%

entradastring · aceita nullpode não vir
saidastring · aceita nullpode não vir
relacaostringpode não vir
participacao = empresa em que o CONSULTADO é sócio.
Valores:socioadministradorparticipacao
filiaisarray de objeto · aceita nullpode não vir
Campos de filiais
nomestring · aceita nullpode não vir
cidadestring · aceita nullpode não vir
scoreobjeto · aceita nullpode não vir
Campos de score
valorinteger · aceita nullpode não vir

Exemplo: 812

riscostring · aceita nullpode não vir

Exemplo: BAIXO

mensagem_riscostring · aceita nullpode não vir
probabilidade_pagamentostring · aceita nullpode não vir

Exemplo: 94%

mensagem_probabilidadestring · aceita nullpode não vir
razoesarray de stringpode não vir
pendencias_financeirasobjeto · aceita nullpode não vir
Campos de pendencias_financeiras
quantidadeintegerpode não vir
valor_totalnumber · aceita nullpode não vir
itensarray de OcorrenciaFinanceirapode não vir
Formato: array de OcorrenciaFinanceira
protestosobjeto · aceita nullpode não vir
Campos de protestos
quantidadeintegerpode não vir
valor_totalnumber · aceita nullpode não vir
itensarray de objetopode não vir
Campos de itens
cartoriostring · aceita nullpode não vir
cidadestring · aceita nullpode não vir
ufstring · aceita nullpode não vir
datastring · aceita nullpode não vir
valornumber · aceita nullpode não vir
quantidadeinteger · aceita nullpode não vir
cheques_sem_fundoarray de objeto · aceita nullpode não vir
Campos de cheques_sem_fundo
bancostring · aceita nullpode não vir
agenciastring · aceita nullpode não vir
quantidadeinteger · aceita nullpode não vir
datastring · aceita nullpode não vir
motivostring · aceita nullpode não vir
acoes_judiciaisobjeto · aceita nullpode não vir
Campos de acoes_judiciais
totalinteger · aceita nullpode não vir
como_autorinteger · aceita nullpode não vir
como_reuinteger · aceita nullpode não vir
outrasinteger · aceita nullpode não vir
Participação que não é autor nem réu (advogado, defensor, perito…): não indica dívida.
segredo_justicainteger · aceita nullpode não vir
ultimos_365_diasinteger · aceita nullpode não vir
primeira_emstring · aceita nullpode não vir
ultima_emstring · aceita nullpode não vir
itensarray de AcaoJudicialPessoapode não vir
Réu primeiro, depois autor, depois o resto.Formato: array de AcaoJudicialPessoa
resumo_ocorrenciasarray de objeto · aceita nullpode não vir
Campos de resumo_ocorrencias
descricaostringpode não vir
quantidadeinteger · aceita nullpode não vir
valornumber · aceita nullpode não vir
consultas_anterioresobjeto · aceita nullpode não vir
Quantas vezes empresas consultaram o crédito deste documento.
Campos de consultas_anteriores
ultimos_30_diasinteger · aceita nullpode não vir
de_31_a_60_diasinteger · aceita nullpode não vir
de_61_a_90_diasinteger · aceita nullpode não vir
mais_de_90_diasinteger · aceita nullpode não vir
debitos_trabalhistasobjeto · aceita nullpode não vir
Certidão de Débitos Trabalhistas (TST). O PDF da certidão, quando a base envia, vai anexo ao PDF da consulta.
Campos de debitos_trabalhistas
certidaostring · aceita nullpode não vir
situacaostring · aceita nullpode não vir
Valores:NEGATIVAPOSITIVAPOSITIVA_EFEITO_NEGATIVA
emitida_emstring · aceita nullpode não vir
validadestring · aceita nullpode não vir
nomestring · aceita nullpode não vir
divida_ativaobjeto · aceita nullpode não vir
Campos de divida_ativa
quantidade_ativasintegerpode não vir
valor_ativonumber · aceita nullpode não vir
itensarray de objetopode não vir
Ativas primeiro.
Campos de itens
inscricaostring · aceita nullpode não vir
situacaostring · aceita nullpode não vir
tipo_situacaostring · aceita nullpode não vir
regularidadestring · aceita nullpode não vir
tipo_devedorstring · aceita nullpode não vir
devedorstring · aceita nullpode não vir
unidadestring · aceita nullpode não vir
processostring · aceita nullpode não vir
valornumber · aceita nullpode não vir
extintabooleanpode não vir
Paga ou cancelada: histórico, não débito em aberto.
cnhobjeto · aceita nullpode não vir
Campos de cnh
categoriastring · aceita nullpode não vir

Exemplo: AB

numero_registrostring · aceita nullpode não vir
renachstring · aceita nullpode não vir
espelhostring · aceita nullpode não vir
emissaostring · aceita nullpode não vir
validadestring · aceita nullpode não vir

Exemplo: 16/03/2033

primeira_habilitacaostring · aceita nullpode não vir
ufstring · aceita nullpode não vir
orgao_expedidorstring · aceita nullpode não vir
impedimentostring · aceita nullpode não vir
bloqueiosarray de stringpode não vir
observacoesarray de stringpode não vir
pontosinteger · aceita nullpode não vir
infracoes_12_mesesstring · aceita nullpode não vir
toxicologicoobjeto · aceita nullpode não vir
Campos de toxicologico
coletastring · aceita nullpode não vir
situacaostring · aceita nullpode não vir
vencimentostring · aceita nullpode não vir
examesarray de objetopode não vir
cursosarray de objetopode não vir

EnderecoPessoa

Formato ZapCar, preenchimento da base
logradourostring · aceita nullpode não vir

Exemplo: RUA DAS FLORES

numerostring · aceita nullpode não vir

Exemplo: 100

complementostring · aceita nullpode não vir
bairrostring · aceita nullpode não vir
cidadestring · aceita nullpode não vir

Exemplo: CAMPINAS

ufstring · aceita nullpode não vir

Exemplo: SP

cepstring · aceita nullpode não vir

Exemplo: 13010-000

atualizado_emstring · aceita nullpode não vir
dd/mm/aaaa, quando a base informa.

OcorrenciaFinanceira

Formato ZapCar, preenchimento da base

Uma negativação. A mesma dívida informada por duas bases (mesma data e valor) aparece uma vez só.

fontestringpode não vir

Exemplo: Pefin

tipostring · aceita nullpode não vir

Exemplo: FINANCIAMENTO

credorstring · aceita nullpode não vir

Exemplo: BANCO EXEMPLO S.A.

contratostring · aceita nullpode não vir
datastring · aceita nullpode não vir

Exemplo: 15/01/2023

valornumber · aceita nullpode não vir

Exemplo: 2378.38

cidadestring · aceita nullpode não vir
ufstring · aceita nullpode não vir
avalistaboolean · aceita nullpode não vir
sem_detalhebooleanpode não vir
true = a base contou ocorrências sem mandar o detalhe; quantidade diz quantas.
quantidadeintegerpode não vir

AcaoJudicialPessoa

Formato ZapCar, preenchimento da base

Um processo. Só o PAPEL do consultado é entregue: nomes e documentos das outras partes não vêm.

numerostring · aceita nullpode não vir
tipostring · aceita nullpode não vir

Exemplo: PROCEDIMENTO COMUM CIVEL

assuntostring · aceita nullpode não vir
tribunalstring · aceita nullpode não vir

Exemplo: TJSP

comarcastring · aceita nullpode não vir
orgaostring · aceita nullpode não vir
ufstring · aceita nullpode não vir
statusstring · aceita nullpode não vir

Exemplo: ARQUIVADO

distribuida_emstring · aceita nullpode não vir

Exemplo: 19/09/2024

ultima_movimentacaostring · aceita nullpode não vir
valornumber · aceita nullpode não vir
Valor da causa; null = não informado.
papelstring · aceita nullpode não vir
AUTOR, REU, EXECUTADO, ADVOGADO, DEFENSOR PUBLICO… null = não identificado.

Exemplo: REU

polostring · aceita nullpode não vir
Valores:ativopassivooutro

Catálogo e saldo

CatalogoServicos

servicosarray de Servicosempre presente
Formato: array de Servico
desconto_apiobjeto · aceita nullpode não vir
Grupo de Desconto da API da conta, quando houver.
Campos de desconto_api
grupostringpode não vir
percentualnumberpode não vir

Servico

servicostringsempre presente
Slug usado no campo servico do POST /v1/consultas.
Valores:consultaconsulta-completaecv-premiumconsulta-veiculargravamerenajuddebitosdebitos-estadualhistorico-proprietarioscomunicacao-vendadecodificacao-chassidecodificacao-motorscore-creditosituacao-cpfcadastro-simples-cpfcadastro-completo-cpfcadastro-simples-cnpjcadastro-completo-cnpjcredito-unico-cpfcredito-biro-cpfcredito-unico-cnpjcredito-biro-cnpjcnh-nacionaldebitos-trabalhistasdivida-ativacodigo-segurancaatpveconsulta-nfecrlv

Exemplo: consulta-completa

nomestringsempre presente

Exemplo: Consulta Completa

requerarray de stringsempre presente
Campos obrigatórios no corpo da criação.

Exemplo: ["placa"]

preconumberpode não vir
Preço que SERÁ debitado (já com preço personalizado e desconto). Ausente quando o preço é por UF.

Exemplo: 29.99

preco_basenumberpode não vir
Preço antes do Grupo de Desconto (só quando há desconto).
preco_tabelanumberpode não vir
Preço de tabela quando há promoção vigente (preco já é o promocional).
promocaobooleanpode não vir
Há promoção vigente neste serviço.
descontoDescontopode não vir
Grupo de Desconto da API aplicado a esta conta.Formato: Desconto
observacaostring · aceita nullpode não vir
preco_por_ufarray de objetopode não vir
Só no CRLV: preço e campos exigidos por estado.
Campos de preco_por_uf
ufstringpode não vir

Exemplo: SP

preconumberpode não vir
requerarray de stringpode não vir
disponivelbooleanpode não vir
preco_basenumberpode não vir
descontoDescontopode não vir
Grupo de Desconto da API aplicado a esta conta.Formato: Desconto
campos_por_ufarray de objetopode não vir
Serviços estaduais (debitos-estadual): as UFs atendidas (as 27) e os campos que cada uma exige, desde 09/10/2026, só uf + placa em todas. UF fora desta lista → 400 UF_INDISPONIVEL, também no sandbox.
Campos de campos_por_uf
ufstringpode não vir
requerarray de stringpode não vir
opcionaisobjetopode não vir
Adicionais do serviço (ex.: incluir_fipe na consulta-completa).
sincronobooleanpode não vir
true = a resposta vem na mesma chamada (sem polling). Só a FIPE.
endpointstringpode não vir
Endpoint próprio do serviço, quando não é POST /v1/consultas.

Exemplo: /v1/fipe

codigostringsempre presente
Código interno do serviço.

Exemplo: CONSULTA_COMPLETA

categoriastringsempre presente

Exemplo: CONSULTAS

descricaostringsempre presente
prazostring · aceita nullpode não vir

Exemplo: Poucos minutos.

nota_precosstring · aceita nullpode não vir
pagina_sitestring · aceita nullpode não vir
disponivel_painelbooleanpode não vir
disponivel_apibooleansempre presente
ordemintegersempre presente
ufs_suportadasarray de string · aceita nullpode não vir
null = todas as UFs.

Desconto

Grupo de Desconto da API aplicado a esta conta.

grupostring · aceita nullpode não vir

Exemplo: Parceiro Ouro

percentualnumberpode não vir

Exemplo: 10

valornumberpode não vir
Valor descontado, em reais.

Exemplo: 1.5

SaldoResponse

saldonumbersempre presente
Saldo da carteira, em reais.

Exemplo: 465.01

FIPE

FipeResponse

idstring (uuid)sempre presente
Id desta cobrança (não há consulta para acompanhar: o endpoint é síncrono).
servicostringsempre presente
Valores:fipe
placastringsempre presente

Exemplo: ABC1D23

veiculoobjetopode não vir
Campos de veiculo
marcastring · aceita nullpode não vir
modelostring · aceita nullpode não vir
ano_modelostring · aceita nullpode não vir
fipearray de FipeItemsempre presente
Formato: array de FipeItem
valor_cobradonumbersempre presente
preco_basenumberpode não vir
descontoDescontopode não vir
Grupo de Desconto da API aplicado a esta conta.Formato: Desconto
saldo_restantenumbersempre presente

FipeItem

Uma versão do veículo na tabela FIPE. Valores como a FIPE publica (texto em reais).

codigo_fipestring · aceita nullpode não vir

Exemplo: 005340-6

marcastring · aceita nullpode não vir
modelostring · aceita nullpode não vir
ano_modelostring · aceita nullpode não vir
combustivelstring · aceita nullpode não vir
sigla_combustivelstring · aceita nullpode não vir
valorstring · aceita nullpode não vir

Exemplo: R$ 98.000,00

mes_referenciastring · aceita nullpode não vir

Exemplo: setembro de 2026

referencia_fipeinteger · aceita nullpode não vir
scorenumber · aceita nullpode não vir
Aderência desta versão à placa consultada.
codigo_marcastring · aceita nullpode não vir
codigo_modelostring · aceita nullpode não vir
tipo_modelointeger · aceita nullpode não vir
historicoarray de FipeHistoricoPonto · aceita nullpode não vir
Últimos meses da tabela para esta versão, do mais recente para o mais antigo (o primeiro é o mês de valor). null = histórico não obtido.Formato: array de FipeHistoricoPonto
fonte_valorstringpode não vir
"fipe" = valor é o da referência FIPE vigente. "placas" = a fonte de valor atual falhou e valor/mes_referencia são os da base de identificação (podem ser de um mês antigo).
Valores:fipeplacas

FipeTabelaResponse

idstring (uuid)sempre presente
Id desta cobrança (endpoint síncrono: não há consulta para acompanhar).
servicostringsempre presente
Valores:fipe-tabela
tipostringsempre presente
Valores:carrosmotoscaminhoes
referenciastring · aceita nullpode não vir
Código do mês pedido; null = o vigente.
veiculoFipeTabelaVeiculosempre presente
valorstringsempre presente
Como a FIPE publica.

Exemplo: R$ 85.179,00

valor_numericonumber · aceita nullpode não vir

Exemplo: 85179

mes_referenciastringsempre presente

Exemplo: setembro de 2026

historicoarray de FipeHistoricoPonto · aceita nullpode não vir
Só quando historico: true. Do mês mais recente para o mais antigo. null = pedido, mas a fonte não devolveu (o valor foi entregue e cobrado normalmente).Formato: array de FipeHistoricoPonto
valor_cobradonumbersempre presente
preco_basenumberpode não vir
descontoDescontopode não vir
Grupo de Desconto da API aplicado a esta conta.Formato: Desconto
saldo_restantenumbersempre presente

FipeTabelaVeiculo

codigo_fipestringsempre presente

Exemplo: 005340-6

marcastringsempre presente

Exemplo: VW - VolksWagen

modelostringsempre presente

Exemplo: AMAROK High.CD 2.0 16V TDI 4x4 Dies. Aut

ano_modelointegersempre presente

Exemplo: 2014

anostringsempre presente
Id do ano na tabela (ano-combustível).

Exemplo: 2014-3

combustivelstringpode não vir

Exemplo: Diesel

sigla_combustivelstringpode não vir

Exemplo: D

FipeHistoricoPonto

valorstringsempre presente

Exemplo: R$ 85.608,00

valor_numericonumber · aceita nullpode não vir

Exemplo: 85608

mes_referenciastringsempre presente

Exemplo: agosto de 2026

referenciastringsempre presente

Exemplo: 336

FipeReferencias

referenciasarray de FipeReferenciasempre presente
Do mês mais recente para o mais antigo.Formato: array de FipeReferencia

FipeReferencia

codigostringsempre presente

Exemplo: 337

messtringsempre presente

Exemplo: setembro/2026

FipeMarcas

tipostringsempre presente
Valores:carrosmotoscaminhoes
referenciastring · aceita nullpode não vir
marcasarray de FipeOpcaosempre presente
Formato: array de FipeOpcao

FipeModelos

tipostringsempre presente
Valores:carrosmotoscaminhoes
marcastringsempre presente
referenciastring · aceita nullpode não vir
modelosarray de FipeOpcaosempre presente
Formato: array de FipeOpcao

FipeAnos

tipostringsempre presente
Valores:carrosmotoscaminhoes
marcastringpode não vir
modelostringpode não vir
codigo_fipestringpode não vir
referenciastring · aceita nullpode não vir
anosarray de FipeOpcaosempre presente
Formato: array de FipeOpcao

FipeOpcao

Item de uma lista da Tabela FIPE (marca, modelo ou ano). Use codigo na chamada seguinte.

codigostringsempre presente
Marca/modelo: numérico. Ano: "AAAA-C" (ano-combustível); 32000 = zero km.

Exemplo: 59

nomestringsempre presente

Exemplo: VW - VolksWagen

Erros e webhooks

ApiError

Envelope único de erro da API pública. erro é frase para humano (pode mudar de redação); codigo é o identificador estável em que se programa; retryable diz se repetir a MESMA chamada pode dar certo.

errostringsempre presente

Exemplo: Placa em formato inválido.

codigostringsempre presente

Exemplo: PLACA_INVALIDA

retryablebooleansempre presente
true = falha transitória (provedor/rede/limite). false = corrija o pedido antes de repetir.

Exemplo: false

request_idstringpode não vir
Id de correlação desta requisição nos logs da ZapCar.

Exemplo: 9f2c1b7e-4d52-4a1f-9d3e-7c8a5b2e1f04

detalhesarray de objeto · aceita nullpode não vir
Só em VALIDATION_ERROR: o que falhou, por campo.
Campos de detalhes
campostringpode não vir

Exemplo: placa

mensagemstringpode não vir

Exemplo: Obrigatório

saldonumber · aceita nullpode não vir
Só em SALDO_INSUFICIENTE: saldo atual da carteira, em reais.

Exemplo: 12.5

Erro

errostringsempre presente

Exemplo: Placa em formato inválido.

codigostringsempre presente

Exemplo: PLACA_INVALIDA

retryablebooleansempre presente
true = falha transitória (provedor/rede/limite). false = corrija o pedido antes de repetir.

Exemplo: false

request_idstringpode não vir
Id de correlação desta requisição nos logs da ZapCar.

Exemplo: 9f2c1b7e-4d52-4a1f-9d3e-7c8a5b2e1f04

detalhesarray de objeto · aceita nullpode não vir
Só em VALIDATION_ERROR: o que falhou, por campo.
Campos de detalhes
campostringpode não vir

Exemplo: placa

mensagemstringpode não vir

Exemplo: Obrigatório

saldonumber · aceita nullpode não vir
Só em SALDO_INSUFICIENTE: saldo atual da carteira, em reais.

Exemplo: 12.5

WebhookPayload

Corpo do POST que a ZapCar envia ao seu endpoint. NÃO carrega o resultado da consulta: dado sensível sai só por chamada autenticada com a sua chave.

idstring (uuid)sempre presente
Id do EVENTO. Use para deduplicar: um retry reenvia o mesmo id.
typestringsempre presente
Valores:webhook.testquery.completedquery.failedvehicle.restriction.createdvehicle.gravame.createdvehicle.gravame.removedvehicle.debt.createdvehicle.document.changed

Exemplo: query.completed

created_atstring (date-time)sempre presente
dataobjetosempre presente
Em query.*: { id, servico, status }, o id é o da consulta, para GET /v1/consultas/{id}; servico e status são os nomes INTERNOS (decida pelo type). Em vehicle.*: { placa, tipo, titulo, detalhe }. Em webhook.test: { mensagem, webhook_id }.
Campos de data
idstring (uuid)pode não vir
servicostringpode não vir

Exemplo: CONSULTA_COMPLETA

statusstringpode não vir

Exemplo: CONCLUIDO