Orders
/v1/orders — place, list, get, and cancel equity orders. Create and cancel are signed money endpoints.
The order object
| Field | Type | Notes |
|---|---|---|
order_id | string | ord_… |
client_order_id | string? | tenant-unique idempotency key, if supplied |
investor_id | string | |
market_id | string | EGX |
symbol | string | |
asset_class | string | egx_equity |
side | string | buy | sell |
type | string | market | limit |
order_class | string | simple |
time_in_force | string | day | gtc | ioc | fok |
qty | int | whole shares |
limit_price_micros | int? | for limit orders |
state | string | internal lifecycle (see below) |
status | string | Alpaca-aligned status |
filled_qty | int | |
avg_price_micros | int? | filled average price |
reason_code | string? | on rejection/cancel |
created_at | timestamp | |
submitted_at | timestamp? | |
filled_at | timestamp? | |
canceled_at | timestamp? | |
expired_at | timestamp? |
state → status: received/transmitted→pending_new, validated→accepted, acked→new, cancel_requested→pending_cancel, cancelled→canceled; partially_filled/filled/rejected/expired pass through.
POST /v1/orders
Create an order. Signed. Body documented in Placing orders.
422 codes: INVALID_SIDE, INVALID_TYPE, INVALID_QTY, INVALID_PRICE, INVALID_TIME_IN_FORCE, TICK_VIOLATION, PRICE_BAND_EXCEEDED, INSUFFICIENT_SETTLED_CASH, INSUFFICIENT_SETTLED_SECURITIES, SUITABILITY_REQUIRED, RISK_ACK_REQUIRED, INVESTOR_RESTRICTED, SHARIAH_RESTRICTED, MARKET_CLOSED (only when not queueable), INSTRUMENT_HALTED, CLIENT_ORDER_ID_EXISTS.
GET /v1/orders
List orders. Query: investor_id, status (open|closed), limit (1–200).
{ "orders": [ { …order… } ] }GET /v1/orders/{id}
The single order object.
DELETE /v1/orders/{id}
Request cancellation (signed, async). The order moves to pending_cancel, then canceled — unless a fill wins the race. 422 ORDER_NOT_CANCELLABLE if it's already terminal.
GET /v1/orders/{id}/contract-note
The settlement contract note for a filled order (trade/settlement dates, fees, withholding, net consideration, per-fill breakdown). 422 NO_EXECUTIONS before the first fill.