Otros endpoints
Todos los endpoints se encuentran bajo https://calc.dev.emrgex.com/v1.
POST /v1/carry
Carry diario (de interés efectivo) para un conjunto de instrumentos ad-hoc y/o almacenados — por lotes. Cada
elemento de carries referencia un instrumento y proporciona un input y (opcionalmente) un horizonte carry_to
(vacío = próxima fecha de cupón).
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
Genera calendarios de flujos de caja para un conjunto de instrumentos ad-hoc y/o almacenados — por lotes.
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
Descubrimiento: cada rate_type y day_count que el motor soporta, cada uno con una descripción, además del
formato de calculation_code. Ver Convenciones.
curl https://calc.dev.emrgex.com/v1/admin/conventions
GET /v1/admin/instruments
Lista las características de los instrumentos almacenados (sin arreglos de flujos de caja a menos que with_cashflows=true;
cashflow_count siempre se incluye). Todos los filtros son opcionales y se combinan con AND.
| Parámetro de consulta | Coincidencia |
|---|---|
rate_type, day_count, calculation_code, currency, period_name | exacta |
issuer, rate_kind, name | subcadena (sin distinción de mayúsculas/minúsculas) |
q | subcadena en id / nemo / isin / issuer / name |
amortizing, callable | booleano |
maturity_from, maturity_to | rango de fechas inclusivo |
coupon_min, coupon_max | rango |
sort | id · nemo · issuer · maturity · coupon |
order | asc · desc |
limit (≤ 1000), offset | paginación; limit=0 devuelve solo el total |
with_cashflows | incluye el calendario almacenado de cada instrumento |
curl "https://calc.dev.emrgex.com/v1/admin/instruments?callable=true&sort=maturity&limit=10"
PATCH /v1/admin/instruments/{id}
Actualiza el coupon_rate y/o el coupon_type de un instrumento almacenado en el lugar — por ejemplo, un reseteo
de tasa flotante o una repactuação. El cambio es una sobrescritura en memoria (una recarga del catálogo restaura la
vista del archivo) e invalida la caché para que el siguiente cálculo lo refleje.
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
Recarga el repositorio de instrumentos (intercambio atómico, no fatal).
Sondas de salud
| Endpoint | Propósito |
|---|---|
GET /v1/health/livez | liveness (solo el proceso) |
GET /v1/health/readyz | readiness (falla mientras se está drenando) |
GET /v1/health/startupz | startup (carga en caliente completa) |
curl https://calc.dev.emrgex.com/v1/health/livez # {"status":"alive"}
Errores
Los errores usan RFC 7807 application/problem+json con
type, title, status y detail. En un lote, las fallas por elemento aparecen como el error de ese
elemento mientras el resto se procesa con éxito.