Get Orders
Search and paginate the account order history using market, status, side, time, and tag filters.
Endpoint
GET /v1/orders
Mainnet: GET https://api.orderly.org/v1/orders
Testnet: GET https://testnet-api.orderly.org/v1/orders
Rate limit: 10 requests per second. Retrieves regular orders with optional filters. The API key must include the trading scope. This signed GET request has no body.
Status shortcuts: INCOMPLETE includes NEW and PARTIAL_FILLED orders; COMPLETED includes CANCELLED and FILLED orders.
Authentication headers
- orderly-timestamp — signed-request timestamp in milliseconds.
- orderly-account-id — PangoPerps account ID.
- orderly-key — public API key.
- orderly-signature — request signature.
Query parameters
All query parameters are optional unless indicated otherwise by the service:
| Parameter | Type | Description |
|---|---|---|
| symbol | string | Restrict results to one market. |
| side | string | Filter by BUY or SELL. |
| order_type | string | Filter by LIMIT or MARKET. |
| status | string | Filter by NEW, CANCELLED, PARTIAL_FILLED, FILLED, REJECTED, INCOMPLETE, or COMPLETED. |
| order_tag | string | Match the full stored tag, up to 128 characters; for a current custom-fee tag use enum:pangoperps:<enum_id>. |
| start_t | number | Start of the time range, as a 13-digit millisecond timestamp. |
| end_t | number | End of the time range, as a 13-digit millisecond timestamp. |
| page | number | Page number; starts at 1. |
| size | number | Number of results per page; maximum 500. |
| sort_by | string | Sort order: CREATED_TIME_DESC, CREATED_TIME_ASC, or UPDATED_TIME_DESC. When omitted, results are ordered newest-first; ties are ordered by order ID. |
Example request
The sort_by parameter accepts CREATED_TIME_DESC, CREATED_TIME_ASC, UPDATED_TIME_DESC, or UPDATED_TIME_ASC. Without it, results sort by updated_time descending when update_start_t or update_end_t is supplied; otherwise they sort by created_time descending. In either case, ties are ordered by order_id descending.
curl --request GET \
--url 'https://api.orderly.org/v1/orders?symbol=PERP_ETH_USDC&status=INCOMPLETE&page=1&size=100' \
--header 'orderly-account-id: <account-id>' \
--header 'orderly-key: <public-api-key>' \
--header 'orderly-signature: <signature>' \
--header 'orderly-timestamp: <timestamp-in-ms>'Successful response
HTTP 200 returns pagination metadata and a rows array. Each row provides order identity, market and side, type, price/size/amount, status, fill totals and average price, fees, realized PnL, visibility, reduce-only state, tag, margin mode, and created/updated times.
{
"success": true,
"data": {
"meta": {
"total": 1,
"records_per_page": 100,
"current_page": 1
},
"rows": [
{
"order_id": 123456789,
"user_id": 98765,
"price": 3450.5,
"type": "LIMIT",
"quantity": 0.25,
"amount": 862.625,
"total_executed_quantity": 0,
"visible_quantity": 0.25,
"symbol": "PERP_ETH_USDC",
"side": "BUY",
"status": "NEW",
"total_fee": 0,
"fee_asset": "USDC",
"client_order_id": "pango-demo-001",
"average_executed_price": 0,
"created_time": 1702989100000,
"updated_time": 1702989100000,
"realized_pnl": 0,
"executed_quantity": 0,
"visible": 0.25,
"executed": 0,
"reduce_only": false,
"order_tag": "enum:pangoperps:example",
"margin_mode": "CROSS"
}
]
},
"timestamp": 1702989203989
}