Skip to content

Re-read the credential store and apply what can be applied without a

POST
/admin/connections/reload
curl --request POST \
--url http://localhost:3001/admin/connections/reload \
--header 'Authorization: Bearer <token>'

Process restart.

Returns 200 even when some connections could not be reloaded: a FIX credential (IBKR, or Binance running FIX) always reports RestartRequired — that is the expected outcome, not a failure — and a non-2xx would make the cockpit treat normal operation as an error. The per-connection outcomes in the body carry the detail, never the credential itself.

Reports 500 and leaves the running registry exactly as it was, without swapping, in three cases: a database error reading either store; a master key that is configured but invalid; or — the case boot itself already refuses to start in, via the same nothing_decrypted predicate — every stored credential across both stores failing to decrypt under the resolved key while nothing at all decoded. That last case is this endpoint’s own headline scenario: oms config rotate-key re-seals every row from a separate process while this server still holds the old key in memory (config::load is memoized, so an edit to oms.toml after boot is never picked up by this endpoint either — restart to pick up a changed master key itself). POSTing a reload right after a rotation, instead of restarting, is exactly the workflow this endpoint exists to avoid a restart for; without this gate it would swap in a registry with every broker unregistered and still report 200.

Per-connection reload report (codes and outcomes only — no credential material)

The credential store could not be read, the master key is invalid, or nothing at all decrypted; nothing was changed