DEV · local workspace

Execution algo records

The desk-scoped API supports bounded parent instructions, child-order history and lifecycle controls. Each parent carries its target, strategy, limits and account identity. Child execution uses the configured execution path and remains subject to account, instrument, risk and lifecycle controls.

Operational scope

POST /api/v1/algos validates the request, creates a parent record and returns its identity with the initial lifecycle state.

Sending { "action": "resume" } to PATCH /api/v1/algos/{id} resumes a paused parent after its account, instrument and execution limits are checked.

Price ladders

The desk-scoped Price Ladder controls a bounded set of price levels used by ladder-driven strategies. POST /api/v1/price-brackets creates the aggregate and all levels atomically; GET /api/v1/price-brackets and GET /api/v1/price-brackets/{id} read the selected desk's ladders; and PATCH /api/v1/price-brackets/{id} accepts activate or deactivate.

Creation requires an Idempotency-Key header (1–128 bytes, no control characters), an Active desk, an instrument, BUY or SELL, one through 64 unique tick-aligned levels, positive token sizes compatible with the instrument lot, a positive max_open_tokens, and an optional positive budget_usd. A one-sided ladder omits spread_bps; a two-sided ladder requires it from 1 through 10,000. Reusing the same account-scoped key and unchanged intent returns the existing aggregate; changing the intent returns an idempotency conflict.

The ladder response reports open and filled token quantities, USD spend and each level's filled quantity, active state and resting child order. These counters are reconciled from venue fills and are read-only to the caller. Deactivation is risk-reducing, but waits for live child orders to be gone; activation rechecks instrument and desk authority.

Existing records

GET /api/v1/algos pages the desk's existing parent records. It accepts optional state and instrument_symbol filters.

GET /api/v1/algos/{id}/children pages the child orders already associated with one parent, oldest first. The records expose requested target, released progress, filled progress, state, price limit, strategy, and strategy parameters for review.

Both reads require the browser session and x-mm-account-id. A parent outside that desk's account scope returns 404.

Record controls

PATCH /api/v1/algos/{id} accepts one action:

<span><span style="color: var(--shiki-color-text)">{ </span><span style="color: var(--shiki-token-keyword)">&quot;action&quot;</span><span style="color: var(--shiki-token-punctuation)">:</span><span style="color: var(--shiki-color-text)"> </span><span style="color: var(--shiki-token-string-expression)">&quot;pause&quot;</span><span style="color: var(--shiki-color-text)"> }</span></span>
<span></span>

pause applies to PENDING or RUNNING records. cancel applies to PENDING, RUNNING, or PAUSED records. Other state/action combinations return 400 with the documented problem type.

These controls change only the lifecycle state. The strategy, target, price limit, and parameters remain the identity of the existing parent.