Documentação
API de jurisprudência

Erros e cotas

Códigos de erro, respostas reais e limites de consumo da API.

Ver Markdown

O acesso à API é liberado mediante contato com o Fontejus.

Os erros da API usam os campos erro (mensagem) e codigo (identificador). O bloqueio por IP ocorre antes da API e não usa esse JSON com codigo.

Códigos

HTTPCódigoSignificado
400PARAMETRO_INVALIDOParâmetro inválido, como uma data inexistente no calendário.
400CONSULTA_INVALIDAConsulta de texto inválida, como aspas ou parênteses abertos.
401NAO_AUTORIZADOChave ausente ou inválida.
404DECISAO_NAO_ENCONTRADARegistro não encontrado na base.
A confirmarROTA_NAO_ENCONTRADACaminho que não corresponde a uma rota. O código está documentado, mas não há resposta real fornecida para conferir seu status HTTP.
405METODO_NAO_PERMITIDOMétodo não permitido naquela rota.
A confirmarCOTA_ESGOTADACota diária da chave esgotada. O status HTTP está a confirmar nas fontes desta documentação.
A confirmarTEMPO_ESGOTADOTempo esgotado na leitura de um documento. O status HTTP está a confirmar nas fontes desta documentação.
429Sem codigo da APILimite de velocidade por IP excedido, com resposta gerada antes de chegar à API.

Uma base sem resposta durante a busca é indicada em bases_sem_resposta. Não confunda essa lista com TEMPO_ESGOTADO na leitura de documento.

Respostas reais

Data inexistente, HTTP 400

Chamada de origem: busca com q=ab e data_de=2024-02-31.

Arquivo de origem: erro-400-data-impossivel.json. Resposta real de 11/10/2026, versão 70e0123, sem abreviação.

{
  "erro": "datas no formato AAAA-MM-DD, existentes no calendário",
  "codigo": "PARAMETRO_INVALIDO"
}

Consulta de texto inválida, HTTP 400

Chamada de origem: busca com q="aberta.

Arquivo de origem: erro-400-consulta-invalida.json. Resposta real de 11/10/2026, versão 70e0123, sem abreviação.

{
  "erro": "consulta de texto inválida: confira aspas e parênteses",
  "codigo": "CONSULTA_INVALIDA"
}

Sem chave, HTTP 401

Chamada de origem: busca sem o cabeçalho Authorization.

Arquivo de origem: erro-401-sem-chave.json. Resposta real de 11/10/2026, versão 70e0123, sem abreviação.

{
  "erro": "chave de API ausente ou inválida",
  "codigo": "NAO_AUTORIZADO"
}

Decisão não encontrada, HTTP 404

Chamada de origem: GET /v1/jurisprudencia/tjmg:99999999.

Arquivo de origem: erro-404-decisao.json. Resposta real de 11/10/2026, versão 70e0123, sem abreviação.

{
  "erro": "decisão não encontrada",
  "codigo": "DECISAO_NAO_ENCONTRADA"
}

Método não permitido, HTTP 405

Chamada de origem: POST /v1/jurisprudencia/busca.

Arquivo de origem: erro-405-metodo.json. Resposta real de 11/10/2026, versão 70e0123, sem abreviação.

{
  "erro": "método não permitido nesta rota",
  "codigo": "METODO_NAO_PERMITIDO"
}

Cota diária e limite por IP

Busca e documento usam um contador de cota diária por chave. Não há número definitivo de cota publicado aqui.

O contador fica em memória e é zerado quando o serviço reinicia. A cota ainda não é persistente.

Além da cota por chave, existe um limite de velocidade por IP aplicado antes de a requisição chegar à API. Quando excedido, a resposta é HTTP 429, gerada nessa camada, sem o JSON com codigo da API. Nenhum valor desse limite é anunciado nesta documentação.

A confirmar

  • Status HTTP de ROTA_NAO_ENCONTRADA, COTA_ESGOTADA e TEMPO_ESGOTADO, sem exemplos reais fornecidos.
  • Valor da cota diária, horário de renovação e nomes dos cabeçalhos de cota.
  • Cabeçalhos da resposta 405, não registrados nos arquivos de exemplo.

Veja também os limites atuais.