Skip to main content
GET
/
v2
/
accounts
/
{id}
/
orders
List active orders (v2)
curl --request GET \
  --url https://api.aries.com/v2/accounts/{id}/orders \
  --header 'Authorization: Bearer <token>'
{
  "orders": [
    {
      "clOrdId": "clord-20260115-aapl-001",
      "ordId": "ord-7f3a9c2e-0001",
      "accountId": "TEST-ACCOUNT-001",
      "clientId": "demo-oauth-client",
      "symbol": "AAPL",
      "side": "BUY",
      "type": "LIMIT",
      "timeInForce": "DAY",
      "qty": "100",
      "price": "175.50",
      "stopPrice": "",
      "ordStatus": "NEW",
      "cumQty": "0",
      "leavesQty": "100",
      "avgPrice": "0",
      "currency": "USD",
      "exDestination": "MNGD",
      "text": "",
      "ordRejReason": "",
      "securityType": "CS",
      "category": "SINGLE_LEG",
      "legs": [],
      "createdAt": "2026-01-15T14:30:00Z",
      "updatedAt": "2026-01-15T14:30:05Z"
    }
  ],
  "nextCursor": 0
}

Compared to v1 account orders

Account Orders (GET /v2/accounts/{id}/orders) returns legacy field names (orderType, status, quantity, …) and an availability object. This v2 endpoint returns domains/order.Order objects (field names type, ordStatus, qty, …) and paginates with nextCursor instead of bundling availability metadata.

Response envelope

Every 200 response includes orders (array, never null — may be empty) and nextCursor (int64, 0 when there are no more pages). Each order always includes clOrdId, accountId, symbol, quantity/price fields (qty, price, stopPrice, cumQty, leavesQty, avgPrice), and createdAt / updatedAt. Fields such as side, type, ordStatus, and legs may be omitted when unset.

Demo response (v2 shape)

Numeric quantities and prices are returned as decimal strings to preserve precision. The shape is consistent whether the data was served from cache or the database.
{
  "orders": [
    {
      "clOrdId": "clord-20260115-aapl-001",
      "ordId": "ord-7f3a9c2e-0001",
      "accountId": "TEST-ACCOUNT-001",
      "clientId": "demo-oauth-client",
      "symbol": "AAPL",
      "side": "BUY",
      "type": "LIMIT",
      "timeInForce": "DAY",
      "qty": "100",
      "price": "175.50",
      "stopPrice": "",
      "ordStatus": "NEW",
      "cumQty": "0",
      "leavesQty": "100",
      "avgPrice": "0",
      "currency": "USD",
      "exDestination": "NASDAQ",
      "text": "",
      "ordRejReason": "",
      "securityType": "EQUITY",
      "category": "SINGLE_LEG",
      "legs": [],
      "createdAt": "2026-01-15T14:30:00Z",
      "updatedAt": "2026-01-15T14:30:05Z"
    }
  ],
  "nextCursor": 0
}

Authorizations

Authorization
string
header
required

OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.

Path Parameters

id
string
required

Account ID whose active orders you want to read. Use the account identifier from the user's account list or trading setup.

Query Parameters

source
enum<string>

Where to read orders from. Use cache for live screens and order tickets. Use db when you need the stored database view. Keep the same source while paginating.

Available options:
cache,
db
limit
integer
default:50

Maximum number of orders to return in this page. Use smaller values for UI lists and larger values for back-office exports. Default is 50; maximum is 500.

Required range: 1 <= x <= 500
cursor
integer<int64>
default:0

Opaque pagination cursor. Send 0 (or omit) for the first page; pass the previous response's nextCursor for subsequent pages. Stop when nextCursor is 0.

Response

Page of active orders

Paginated v2 orders response from GET /v2/accounts/{id}/orders and GET /v2/accounts/{id}/orders/history. Both fields are always present; orders may be an empty array when there are no matches.

orders
object[]

Page of orders in v2 domain shape (TradeOrderV2). Never null — use an empty array when there are no results.

nextCursor
integer<int64>

Opaque pagination cursor. Pass as cursor on the next request. Value 0 means the walk is exhausted.