Outros endpoints
Todos os endpoints estão sob https://calc.dev.emrgex.com/v1.
POST /v1/carry
Carrego diário (juros efetivos) para um conjunto de instrumentos ad-hoc e/ou armazenados — em lote. Cada
item de carries referencia um instrumento e fornece uma entrada e (opcionalmente) um horizonte carry_to
(vazio = próxima data de cupom).
curl -s https://calc.dev.emrgex.com/v1/carry -H 'content-type: application/json' -d '{
"carries": [
{ "instrument_id": "MH12034", "input_kind": "yield", "input_value": 0.10,
"settlement_date": "2026-06-09", "carry_to": "2026-09-09" }
]
}'
POST /v1/generate_cash_flows
Gera cronogramas de fluxos de caixa para um conjunto de instrumentos ad-hoc e/ou armazenados — em lote.
curl -s https://calc.dev.emrgex.com/v1/generate_cash_flows -H 'content-type: application/json' -d '{
"schedules": [ { "instrument_id": "MH12034" } ]
}'
GET /v1/admin/conventions
Descoberta: cada rate_type e day_count que o motor suporta, cada um com uma descrição, mais o
formato de calculation_code. Veja Convenções.
curl https://calc.dev.emrgex.com/v1/admin/conventions
GET /v1/admin/instruments
Lista as características dos instrumentos armazenados (sem arrays de fluxos de caixa, a menos que with_cashflows=true;
cashflow_count é sempre incluído). Todos os filtros são opcionais e combinados com AND.
| Parâmetro de query | Correspondência |
|---|---|
rate_type, day_count, calculation_code, currency, period_name | exata |
issuer, rate_kind, name | substring (sem distinção entre maiúsculas e minúsculas) |
q | substring em id / nemo / isin / issuer / name |
amortizing, callable | booleano |
maturity_from, maturity_to | intervalo de datas inclusivo |
coupon_min, coupon_max | intervalo |
sort | id · nemo · issuer · maturity · coupon |
order | asc · desc |
limit (≤ 1000), offset | paginação; limit=0 retorna apenas o total |
with_cashflows | inclui o cronograma armazenado de cada instrumento |
curl "https://calc.dev.emrgex.com/v1/admin/instruments?callable=true&sort=maturity&limit=10"
PATCH /v1/admin/instruments/{id}
Atualiza o coupon_rate e/ou coupon_type de um instrumento armazenado no local — por exemplo, uma
redefinição de taxa flutuante ou repactuação. A alteração é uma sobrescrita em memória (um recarregamento
do catálogo restaura a visão do arquivo) e invalida o cache para que o próximo cálculo a reflita.
curl -s -X PATCH https://calc.dev.emrgex.com/v1/admin/instruments/MH12034 \
-H 'content-type: application/json' -d '{ "coupon_rate": 0.12 }'
POST /v1/admin/cache/reload
Recarrega o repositório de instrumentos (troca atômica, não fatal).
Sondas de saúde
| Endpoint | Finalidade |
|---|---|
GET /v1/health/livez | liveness (apenas o processo) |
GET /v1/health/readyz | readiness (falha durante a drenagem) |
GET /v1/health/startupz | startup (carga a quente concluída) |
curl https://calc.dev.emrgex.com/v1/health/livez # {"status":"alive"}
Erros
Os erros usam RFC 7807 application/problem+json com
type, title, status e detail. Em um lote, falhas por item aparecem como o error daquele item
enquanto os demais têm sucesso.