Documentação da API
Três rotas, autenticação por chave e respostas em JSON. Endereço base: https://indices.calculojuridico.com.br.
Autenticação
Envie a chave no cabeçalho X-CJ-API-KEY em toda requisição, com Content-Type: application/json. Os parâmetros podem ir no corpo JSON ou na query string; a query string tem precedência. As rotas aceitam GET e POST.
/v1/list: listar os índices
Devolve a chave, o nome e a descrição de cada índice disponível para a sua chave.
| Parâmetro | Descrição |
|---|---|
show_last_available_competence | "true" para incluir a última competência publicada de cada índice |
include_daily_series | "true" para incluir também as séries diárias |
curl https://indices.calculojuridico.com.br/v1/list \
-H "Content-Type: application/json" \
-H "X-CJ-API-KEY: SUA_CHAVE" \
-d '{"show_last_available_competence": "true"}'
/v1/index: valores de um índice
Devolve, mês a mês, o fator, a variação percentual e o acumulado, mais o fator do período (resulting_factor). Só o mês das datas conta: elas viram competências.
| Parâmetro | Descrição |
|---|---|
index_kind | Obrigatório. A chave do índice, como está no catálogo |
start_date | Data inicial, DD/MM/AAAA ou AAAA-MM-DD |
end_date | Data final; o padrão é o mês atual |
fill_incomplete_months | Preenche com variação zero os meses ainda não publicados (padrão "true"). Os preenchidos vêm marcados com filled_automatically |
curl https://indices.calculojuridico.com.br/v1/index \
-H "Content-Type: application/json" \
-H "X-CJ-API-KEY: SUA_CHAVE" \
-d '{"index_kind": "ipcae", "start_date": "01/2020", "end_date": "12/2024"}'
Para saber se o índice do mês já saiu, use pending_competences: a lista das competências que você pediu e que ainda não foram publicadas. Os valores decimais vêm como texto ("1.0053") para não perder precisão; variation_sum vem como número.
/v1/daily_values: cotações diárias
Cotações dia a dia, como o dólar (index_kind: "dolar", o padrão). Aceita start_date, end_date e limit.
curl https://indices.calculojuridico.com.br/v1/daily_values \
-H "Content-Type: application/json" \
-H "X-CJ-API-KEY: SUA_CHAVE" \
-d '{"index_kind": "dolar", "start_date": "01/10/2026"}'
Erros
O corpo de erro traz errors (mensagem em português) e code (estável, para o seu sistema tratar), mais os dados do caso, como a última competência disponível.
| HTTP | code | Quando |
|---|---|---|
| 401 | invalid_api_key | Chave ausente ou inexistente |
| 401 | revoked_api_key | Chave revogada |
| 422 | missing_index_kind | index_kind não informado |
| 422 | invalid_index_kind | Índice desconhecido; a resposta lista os válidos em available_index_kinds |
| 422 | invalid_date | Data que não dá para interpretar; param diz qual |
| 422 | invalid_date_range | start_date depois de end_date |
| 422 | competence_not_published | O período começa depois da última competência publicada |
| 422 | no_data_for_period | O período não tem competências publicadas |
| 503 | database_unavailable | Base indisponível; tente de novo em instantes |
| 500 | internal_error | Erro não previsto; a resposta traz request_id para o suporte |
Cache
Toda resposta traz ETag, Last-Modified e Cache-Control: um dia para períodos já fechados e cinco minutos quando o período inclui o mês corrente. Em GET, reenviar o ETag em If-None-Match devolve 304 sem corpo.
Chave de teste
Chaves de teste podem ter o histórico limitado aos últimos cinco anos. Nesse caso a resposta traz "sandbox_mode": true e sandbox_start_competence com o mês a partir do qual os dados foram considerados.