Прочие эндпоинты
Все эндпоинты доступны по адресу https://calc.dev.emrgex.com/v1.
POST /v1/carry
Дневной carry (по методу эффективной процентной ставки) для пула ad-hoc и/или сохранённых инструментов — пакетный режим. Каждый элемент carries ссылается на инструмент и задаёт входное значение и (опционально) горизонт carry_to (пусто = дата следующего купона).
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
Генерация графиков денежных потоков для пула ad-hoc и/или сохранённых инструментов — пакетный режим.
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
Обнаружение возможностей: все значения rate_type и day_count, поддерживаемые движком, каждое с описанием, а также формат calculation_code. См. Соглашения.
curl https://calc.dev.emrgex.com/v1/admin/conventions
GET /v1/admin/instruments
Список характеристик сохранённых инструментов (без массивов денежных потоков, если не указано with_cashflows=true; cashflow_count включается всегда). Все фильтры опциональны и объединяются по логике AND.
| Query param | Match |
|---|---|
rate_type, day_count, calculation_code, currency, period_name | точное совпадение |
issuer, rate_kind, name | подстрока (без учёта регистра) |
q | подстрока по id / nemo / isin / issuer / name |
amortizing, callable | булево значение |
maturity_from, maturity_to | включающий диапазон дат |
coupon_min, coupon_max | диапазон |
sort | id · nemo · issuer · maturity · coupon |
order | asc · desc |
limit (≤ 1000), offset | пагинация; limit=0 возвращает только общее количество |
with_cashflows | включить сохранённый график каждого инструмента |
curl "https://calc.dev.emrgex.com/v1/admin/instruments?callable=true&sort=maturity&limit=10"
PATCH /v1/admin/instruments/{id}
Обновление coupon_rate и/или coupon_type сохранённого инструмента на месте — например, при сбросе плавающей ставки или repactuação. Изменение представляет собой переопределение в оперативной памяти (перезагрузка каталога восстанавливает представление из файла) и инвалидирует кэш, чтобы следующий расчёт его учитывал.
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
Перезагрузка репозитория инструментов (атомарная подмена, некритичная).
Health probes
| Endpoint | Purpose |
|---|---|
GET /v1/health/livez | liveness (только процесс) |
GET /v1/health/readyz | readiness (даёт сбой во время дренирования) |
GET /v1/health/startupz | startup (прогревочная загрузка завершена) |
curl https://calc.dev.emrgex.com/v1/health/livez # {"status":"alive"}
Ошибки
Ошибки используют формат RFC 7807 application/problem+json с полями type, title, status и detail. В пакетном запросе сбои по отдельным элементам отображаются как error соответствующего элемента, тогда как остальные обрабатываются успешно.