admin
curl "$OMS_URL/admin/accounts" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/accounts" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"broker_connection_code": "",
"code": "",
"external_account_ref": "",
"portfolio_id": null,
"status": ""
}'
curl "$OMS_URL/admin/accounts/{id}" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/accounts/{id}" \
-X PATCH \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"broker_connection_code": null,
"code": null,
"external_account_ref": null,
"portfolio_id": null,
"status": null
}'
curl "$OMS_URL/admin/broker-connections" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/broker-connections" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"broker_code": "",
"code": "",
"environment": "",
"status": ""
}'
curl "$OMS_URL/admin/broker-connections/{code}" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/broker-connections/{code}" \
-X PATCH \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"broker_code": null,
"environment": null,
"status": null
}'
What is configured for one broker connection, with every secret withheld.
curl "$OMS_URL/admin/broker-connections/{code}/credentials" \
--header "Authorization: Bearer $OMS_TOKEN"
Save (create or edit) a broker connection's credential.
curl "$OMS_URL/admin/broker-connections/{code}/credentials" \
-X PUT \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"FIELD_NAME": "VALUE"
}'
Clear a broker connection's stored credential.
curl "$OMS_URL/admin/broker-connections/{code}/credentials" \
-X DELETE \
--header "Authorization: Bearer $OMS_TOKEN"
Test the credential already stored for a broker connection, changing
curl "$OMS_URL/admin/broker-connections/{code}/credentials/test" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN"
Re-read the credential store and apply what can be applied without a
curl "$OMS_URL/admin/connections/reload" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN"
The configured feed connections themselves (rows), distinct from
curl "$OMS_URL/admin/feed-connections" \
--header "Authorization: Bearer $OMS_TOKEN"
What is configured for one feed connection, with every secret withheld.
curl "$OMS_URL/admin/feed-connections/{code}/credentials" \
--header "Authorization: Bearer $OMS_TOKEN"
Save (create or edit) a feed connection's credential. See
curl "$OMS_URL/admin/feed-connections/{code}/credentials" \
-X PUT \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"FIELD_NAME": "VALUE"
}'
Clear a feed connection's stored credential. See
curl "$OMS_URL/admin/feed-connections/{code}/credentials" \
-X DELETE \
--header "Authorization: Bearer $OMS_TOKEN"
Test the credential already stored for a feed connection, changing
curl "$OMS_URL/admin/feed-connections/{code}/credentials/test" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN"
The configured data feeds: the ranked market-data source policy plus how many
curl "$OMS_URL/admin/feeds" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/instruments" \
--header "Authorization: Bearer $OMS_TOKEN"
Run the instrument expiry pass now, instead of waiting for the hourly tick.
curl "$OMS_URL/admin/instruments/expiry-sweep" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/orders" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/orders/{id}/events" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/portfolios" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/portfolios" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"base_currency": null,
"code": "",
"default_account_id": null,
"name": "",
"status": ""
}'
curl "$OMS_URL/admin/portfolios/{id}" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/portfolios/{id}" \
-X PATCH \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"base_currency": null,
"code": null,
"default_account_id": null,
"name": null,
"status": null
}'
curl "$OMS_URL/admin/principals" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/principals" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"code": "",
"display_name": null,
"external_subject": null,
"principal_type": "",
"status": ""
}'
curl "$OMS_URL/admin/principals/{id}" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/principals/{id}" \
-X PATCH \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"code": null,
"display_name": null,
"external_subject": null,
"principal_type": null,
"status": null
}'
curl "$OMS_URL/admin/principals/{id}/grants" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/principals/{id}/grants" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"can_allocate": false,
"can_trade": false,
"can_view": false,
"portfolio_id": ""
}'
curl "$OMS_URL/admin/principals/{id}/grants/{grant_id}" \
-X PATCH \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"can_allocate": false,
"can_trade": false,
"can_view": false
}'
curl "$OMS_URL/admin/principals/{id}/grants/{grant_id}" \
-X DELETE \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/principals/{id}/keys" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/principals/{id}/keys" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": null
}'
curl "$OMS_URL/admin/principals/{id}/keys/{key_id}" \
-X DELETE \
--header "Authorization: Bearer $OMS_TOKEN"
Cut a principal off immediately: revoke every one of its live sessions.
curl "$OMS_URL/admin/principals/{id}/sessions" \
-X DELETE \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/risk-limits" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/risk-limits" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"instrument_id": "",
"max_order_notional": 0,
"max_order_quantity": 0,
"max_position_notional": 0,
"max_position_quantity": 0,
"portfolio_id": "",
"trading_state": null
}'
curl "$OMS_URL/admin/risk-limits/{id}" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/risk-limits/{id}" \
-X PATCH \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"max_order_notional": 0,
"max_order_quantity": 0,
"max_position_notional": 0,
"max_position_quantity": 0,
"trading_state": null
}'
curl "$OMS_URL/admin/risk-limits/{id}" \
-X DELETE \
--header "Authorization: Bearer $OMS_TOKEN"
What is left to configure. Reuses `credentials::load_brokers`/`load_feeds`
curl "$OMS_URL/admin/setup-status" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/symbology/backfill" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"limit": 0
}'
curl "$OMS_URL/admin/symbology/resolve" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"cusip": null,
"exch_code": null,
"figi": null,
"isin": null,
"mic": null,
"ticker": null
}'
curl "$OMS_URL/admin/trading-tokens" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/admin/trading-tokens" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"label": null,
"portfolio_id": null,
"principal_id": ""
}'
curl "$OMS_URL/admin/trading-tokens/{key_id}" \
-X DELETE \
--header "Authorization: Bearer $OMS_TOKEN"
auth
Completes a login: validates the callback, exchanges the code, resolves
curl "$OMS_URL/auth/callback"
Starts a login: mints `state`/`nonce`/a PKCE verifier, remembers them in
curl "$OMS_URL/auth/login"
Local logout only: revokes our session and clears our cookie. The IdP's
curl "$OMS_URL/auth/logout" \
-X POST
Who the caller is signed in as, and what they can act on.
curl "$OMS_URL/auth/me" \
--header "Authorization: Bearer $OMS_TOKEN"
handlers
curl "$OMS_URL/health"
orders
curl "$OMS_URL/instruments" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/instruments/options/chain" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/instruments/options/expiries" \
--header "Authorization: Bearer $OMS_TOKEN"
The caller's own blotter.
curl "$OMS_URL/orders" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/orders/cancel" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"order_id": "",
"reason": null
}'
curl "$OMS_URL/orders/submit" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"account_id": null,
"client_order_id": "my-ref-001",
"instrument_id": null,
"limit_price": null,
"order_id": "3f6b1c2e-8a4d-4e5f-9b21-1c2d3e4f5a6b",
"order_type": "market",
"portfolio_id": "b2c3d4e5-6f70-4812-93a4-556677889900",
"quantity": 1,
"side": "buy",
"symbol": "SPY260918C00770000@OPRA",
"time_in_force": "day",
"venue": null
}'
curl "$OMS_URL/orders/{id}" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/orders/{id}/allocations" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/orders/{id}/allocations" \
-X POST \
--header "Authorization: Bearer $OMS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"splits": [
{
"portfolio_id": "",
"qty": 0
}
]
}'
curl "$OMS_URL/orders/{id}/events" \
--header "Authorization: Bearer $OMS_TOKEN"
The portfolios this principal may act on.
curl "$OMS_URL/portfolios" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/portfolios/{id}/positions" \
--header "Authorization: Bearer $OMS_TOKEN"
curl "$OMS_URL/portfolios/{id}/venues" \
--header "Authorization: Bearer $OMS_TOKEN"