Zum Hauptinhalt springen

Weitere Endpunkte

Alle Endpunkte liegen unter https://calc.dev.emrgex.com/v1.

POST /v1/carry

Täglicher Carry (Effektivzins) für einen Pool aus Ad-hoc- und/oder gespeicherten Instrumenten — als Batch. Jeder carries-Eintrag verweist auf ein Instrument und gibt einen Input sowie (optional) einen carry_to-Horizont an (leer = nächster Kupontermin).

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

Erzeugt Cashflow-Zeitpläne für einen Pool aus Ad-hoc- und/oder gespeicherten Instrumenten — als Batch.

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

Discovery: jeder vom Engine unterstützte rate_type und day_count, jeweils mit einer Beschreibung, sowie das Format des calculation_code. Siehe Konventionen.

curl https://calc.dev.emrgex.com/v1/admin/conventions

GET /v1/admin/instruments

Listet die Merkmale gespeicherter Instrumente auf (keine Cashflow-Arrays, sofern nicht with_cashflows=true; cashflow_count ist immer enthalten). Alle Filter sind optional und werden mit UND verknüpft.

Query-ParameterAbgleich
rate_type, day_count, calculation_code, currency, period_nameexakt
issuer, rate_kind, nameTeilzeichenkette (Groß-/Kleinschreibung wird ignoriert)
qTeilzeichenkette über id / nemo / isin / issuer / name
amortizing, callableBoolescher Wert
maturity_from, maturity_toinklusiver Datumsbereich
coupon_min, coupon_maxBereich
sortid · nemo · issuer · maturity · coupon
orderasc · desc
limit (≤ 1000), offsetPaginierung; limit=0 liefert nur die Gesamtanzahl
with_cashflowsinkludiert den gespeicherten Zeitplan jedes Instruments
curl "https://calc.dev.emrgex.com/v1/admin/instruments?callable=true&sort=maturity&limit=10"

PATCH /v1/admin/instruments/{id}

Aktualisiert den coupon_rate und/oder coupon_type eines gespeicherten Instruments direkt — z. B. bei einem Zinsanpassungstermin eines variabel verzinslichen Instruments oder einer repactuação. Die Änderung ist ein In-Memory-Override (ein Neuladen des Katalogs stellt die Dateiansicht wieder her) und invalidiert den Cache, sodass die nächste Berechnung sie berücksichtigt.

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

Lädt das Instrumenten-Repository neu (atomarer Austausch, nicht fatal).

Health-Probes

EndpunktZweck
GET /v1/health/livezLiveness (nur Prozess)
GET /v1/health/readyzReadiness (schlägt während des Draining fehl)
GET /v1/health/startupzStartup (Warm-Load abgeschlossen)
curl https://calc.dev.emrgex.com/v1/health/livez # {"status":"alive"}

Fehler

Fehler verwenden RFC 7807 application/problem+json mit type, title, status und detail. In einem Batch erscheinen Fehler einzelner Einträge als deren error, während die übrigen erfolgreich verarbeitet werden.