Cancel Order
Request and response reference for POST /v1/exchange/markets/{market}/orders/{order}/cancel.
/v1/exchange/markets/{market}/orders/{order}/cancelRequest
This interface uses an approved institutional session, not a financial API key. Session writes also need Origin and CSRF protection. Use the JavaScript sample within an authorized browser integration.
curl -X POST "$OSAI_CONSOLE_BASE_URL/v1/exchange/markets/$MARKET_ID/orders/$ORDER_ID/cancel" \
-H "Content-Type: application/json" \
-H "Origin: $OSAI_APP_ORIGIN" \
-H "X-CSRF-Token: $OSAI_CSRF_TOKEN" \
--cookie "$OSAI_SESSION_COOKIE_FILE" \
--data '{
"command_id": "<command_id>",
"account_id": "<account_id>",
"expected_version": "1"
}'Parameters
| Name | Location | Requirement | Description |
|---|---|---|---|
market | path · string | Required | Use the value defined for this resource. |
order | path · string | Required | Use the value defined for this resource. |
Origin | header · string | Required | Use the value defined for this resource. |
X-CSRF-Token | header · string | Required | Use the value defined for this resource. |
Request body
Send JSON with Content-Type: application/json. Nested field names identify their parent object; required markers apply within that object. Replace template values using the relevant resource and configured instrument rules.
| Field | Type | Description & constraints |
|---|---|---|
command_idRequired in parent object | string | Defined by the resource contract. |
account_idRequired in parent object | string | Defined by the resource contract. |
expected_versionRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
Responses
Inspect HTTP status before parsing a body. These tables describe client response fields rather than invented successful transaction payloads.
200 · HTTP 200 response
| Field | Type | Description & constraints |
|---|---|---|
orderRequired in parent object | object | Defined by the resource contract. |
order.order_idRequired in parent object | string | Defined by the resource contract. |
order.instructionRequired in parent object | object | Defined by the resource contract. |
order.instruction.institution_idRequired in parent object | string | Defined by the resource contract. |
order.instruction.account_idRequired in parent object | string | Defined by the resource contract. |
order.instruction.actor_idRequired in parent object | string | Defined by the resource contract. |
order.instruction.client_order_idRequired in parent object | string | Defined by the resource contract. |
order.instruction.sideRequired in parent object | string | Defined by the resource contract. |
order.instruction.typeRequired in parent object | string | Defined by the resource contract. |
order.instruction.time_in_forceRequired in parent object | string | Defined by the resource contract. |
order.instruction.quantityRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.instruction.limit_priceRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.instruction.protection_priceRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.terms_hashRequired in parent object | string | Defined by the resource contract. |
order.acceptance_sequenceRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.versionRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.accepted_atRequired in parent object | stringdate-time | Defined by the resource contract. |
order.remaining_quantityRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.filled_quantityRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.statusRequired in parent object | string | Defined by the resource contract. |
order.fee_snapshotRequired in parent object | object | Defined by the resource contract. |
order.fee_snapshot.schedule_idRequired in parent object | string | Defined by the resource contract. |
order.fee_snapshot.versionRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.fee_snapshot.effective_fromRequired in parent object | stringdate-time | Defined by the resource contract. |
order.fee_snapshot.effective_untilRequired in parent object | stringdate-time | Defined by the resource contract. |
order.fee_snapshot.makerRequired in parent object | object | Defined by the resource contract. |
order.fee_snapshot.maker.currencyRequired in parent object | string | Defined by the resource contract. |
order.fee_snapshot.maker.minor_scaleRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.fee_snapshot.maker.numeratorRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.fee_snapshot.maker.denominatorRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.fee_snapshot.maker.roundingRequired in parent object | string | Defined by the resource contract.Values: FLOOR, CEILING |
order.fee_snapshot.takerRequired in parent object | object | Defined by the resource contract. |
order.fee_snapshot.taker.currencyRequired in parent object | string | Defined by the resource contract. |
order.fee_snapshot.taker.minor_scaleRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.fee_snapshot.taker.numeratorRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.fee_snapshot.taker.denominatorRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
order.fee_snapshot.taker.roundingRequired in parent object | string | Defined by the resource contract.Values: FLOOR, CEILING |
last_event_sequenceRequired in parent object | string | Exact nonnegative base-10 integer; never a JSON number.Pattern: ^(0|[1-9][0-9]*)$ |
replayedRequired in parent object | boolean | Defined by the resource contract. |
400 · Invalid bounded instruction
No client body fields are defined for this response.
401 · Authentication required
No client body fields are defined for this response.
403 · Permission, recent verified MFA or CSRF denied
No client body fields are defined for this response.
409 · Version, preview, instruction or capacity conflict
No client body fields are defined for this response.
503 · Unavailable or unknown commit outcome; query the original command before retrying
No client body fields are defined for this response.
Retries & recovery
Keep the original request identifiers and any required idempotency key. A timeout does not establish failure. Read the original resource or command before another financial write; use expected versions for concurrent changes.