List orders
Orders for the authenticated account, most recent first.
GET
/api/v1/ordersParameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
order_ids |
query |
string | no | Comma-separated order UUIDs. |
client_order_ids |
query |
string | no | Comma-separated client order ids you supplied on placement. |
market_ids |
query |
string | no | Comma-separated market UUIDs. |
status |
query |
created | requested | accepted | delayed | open | filled | rejected | cancelled | partially_cancelled[] |
no | Order statuses, lowercase. An unknown value is a 400. Note that open alone does not mean “my working orders”: on a pre_open market an order rests at accepted, so filter on created,requested,accepted,delayed,open to list everything still live. |
limit |
query |
integer | no | Rows per page. Defaults to 100 and is silently clamped to 200; a larger value is not an error. |
cursor |
query |
string | no | Cursor from the previous response. Omit for the first page. |
Responses
Section titled “Responses”| Status | Description | Schema |
|---|---|---|
200 |
Success | object |
400 |
A parameter was missing or invalid. | Error |
401 |
Missing, malformed or unrecognized signature, or a timestamp outside the 30-second window. Body: {“error”:“Missing or invalid API key credentials”} | Error |
403 |
The account behind this key is not active, for example it is pending approval or suspended. Body: {“error”:“Your account is suspended. Contact support.”}, the message naming the account’s status. | Error |
Example
Section titled “Example”Request:
curl --request GET \ --url 'https://demo.stxapp.io/api/v1/orders' \ --header 'X-STX-ACCESS-KEY: <key-id>' \ --header 'X-STX-ACCESS-TIMESTAMP: <unix-ms>' \ --header 'X-STX-ACCESS-SIGNATURE: <base64-ed25519>'Response 200:
{ "cursor": null, "orders": [ { "accepted_at": null, "action": "buy", "amount": "0.6700", "avg_price": "0.6700", "cancellation_reason": null, "client_order_id": null, "delayed_until": null, "device_id": null, "expiration": null, "expiration_time": null, "expires_at": null, "filled": "2.00", "filled_amount": "0.6700", "filled_percentage": 0, "fix_order": false, "id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d", "inserted_at": 0, "ip_address": null, "market_id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d", "odds_type": null, "odds_value": null, "order_type": "limit", "placed_pre_start": false, "price": "0.4200000", "quantity": "2.00", "rejection_reason": null, "status": "accepted", "time": "2026-08-25T04:42:46.242093Z", "total_value": "0.6700" } ]}Response fields
Section titled “Response fields”| Field | Type | Description |
|---|---|---|
cursor |
string | Opaque cursor for the next page. Pass the value from the previous response; omit for the first page. null once there are no more pages. |
accepted_at |
int64 | When the matching engine accepted the order. null while the order is still pending. UNIX microseconds. |
action |
string | The action of the order, either buy or sell. |
amount |
decimal | Order size in dollars, for an order entered by amount rather than by contract quantity. null for orders placed through this API, which always take a quantity. |
avg_price |
decimal | Volume-weighted average fill price. null until the order has its first fill. In dollars. |
cancellation_reason |
string | The cancellation reason, if the order was cancelled. |
client_order_id |
string | Your own identifier, echoed back unchanged, or null if you sent none. A free-form string, not a UUID, and set by REST and FIX callers alike. |
delayed_until |
int64 | The extended deadline for a delayed order. UNIX microseconds. |
device_id |
string | The device from which this order was placed. |
expiration |
string | The expiration condition for the order. |
expiration_time |
int64 | The expiration time for time-based expiration. UNIX microseconds. |
expires_at |
int64 | When the contracts this order trades expire, as UNIX microseconds: the market’s expiration, copied onto the order when it is placed. null when the market has no event. Not the same as expiration_time. |
filled |
decimal | Contracts filled so far. Compare with quantity to get remaining size. |
filled_amount |
decimal | The portion of amount that has been filled. In dollars. |
filled_percentage |
integer | The percentage of the contracts on the order that have been filled. A percentage, not money. |
fix_order |
boolean | True if the order arrived over FIX rather than REST. |
id |
uuid | Unique identifier for the record. |
inserted_at |
int64 | Creation time, as UNIX microseconds. |
ip_address |
string | The IP address from which this order was placed. |
market_id |
uuid | The market this record relates to. |
odds_type |
string | Legacy. The odds format (decimal or american) an order was entered in on an STX app. null for orders placed through this API. |
odds_value |
string | Legacy. The odds an order was entered at on an STX app, as a string. null for orders placed through this API. |
order_type |
string | The type of order, either limit or market. |
placed_pre_start |
boolean | Whether the order was placed before the event started. |
price |
decimal | Limit price, below the market’s max_price; read that per market rather than assuming a ceiling. Absent for market orders. In dollars. Carries up to 7 decimal places; parse money with a variable-scale decimal type, not a fixed-width one. |
quantity |
decimal | Order size in contracts. |
rejection_reason |
string | The rejection reason, if the order was rejected. |
status |
string | Order state, one of nine. See Market and order status for the full set and which are terminal. |
time |
date-time | The ISO-8601 timestamp of the time the order was placed. |
total_value |
decimal | Total premium across all fills on this order. In dollars. |

