For AI agents: markdown of this page — /docs-content-en/entities/orders/list.md documentation index — /llms.txt

List orders

GET /v1/orders

Returns a list of online store orders with support for filtering and auto-pagination.

Parameters

Parameter Type Default Description
Parameterlimit Typenumber Default50 DescriptionNumber of records (up to 5000). When limit > 50, the response is assembled from several sequential reads of 50 records
Parameteroffset Typenumber Default0 DescriptionSkip N records: offset=7 starts at the 8th record. When offset ≥ 2500, limit ≤ 500 is recommended. For deep paging a cursor is more reliable — order[id]=asc plus filter[>id] set to the id of the last record of the previous response. Orders carry no meta.nextAfterId field, so take the identifier from the last element of data
Parameterselect Typestring Default— DescriptionField selection: ?select=id,price,currency,statusId
Parametersort Typestring Default— DescriptionSorting via the short syntax: ?sort=-id. A minus sign means descending order
Parameterorder Typeobject Default— DescriptionSorting: ?order[id]=desc
Parameterfilter Typeobject Default— DescriptionFilter by the fields returned by GET /v1/orders/fields.
Filtering syntax. Example: ?filter[statusId]=N

Examples

curl — personal key

Terminal
curl -g "https://vibecode.bitrix24.com/v1/orders?limit=10&filter[statusId]=N&order[id]=desc" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl -g "https://vibecode.bitrix24.com/v1/orders?limit=10&filter[statusId]=N&order[id]=desc" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/orders?limit=10&filter[statusId]=N&order[id]=desc', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data, meta } = await res.json()
console.log(`Found ${meta.total} orders`)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/orders?limit=10&filter[statusId]=N&order[id]=desc', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data, meta } = await res.json()

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typearray DescriptionArray of orders (each contains all fields — see Order fields)
Fieldmeta.total Typenumber DescriptionTotal number of records matching the filter
Fieldmeta.hasMore Typeboolean DescriptionWhether there are more records beyond limit

The URL of any order in the data array is built from its id:

https://<portal>.bitrix24.com/shop/orders/details/<id>/

<portal> — the Bitrix24 portal domain. Access is restricted by the employee's permissions in Bitrix24.

Response example

JSON
{
  "success": true,
  "data": [
    {
      "id": 845,
      "accountNumber": "443",
      "price": 100,
      "currency": "USD",
      "statusId": "N",
      "userId": 1,
      "personTypeId": 5,
      "lid": "s1",
      "payed": false,
      "canceled": false,
      "responsibleId": 1,
      "dateInsert": "2026-04-21T06:48:16.000Z",
      "dateUpdate": "2026-04-21T06:48:16.000Z"
    },
    {
      "id": 841,
      "accountNumber": "441",
      "price": 100.5,
      "currency": "USD",
      "statusId": "N",
      "userId": 9,
      "personTypeId": 5,
      "lid": "s1",
      "payed": false,
      "canceled": false,
      "responsibleId": 1,
      "dateInsert": "2026-04-04T20:02:28.000Z",
      "dateUpdate": "2026-04-04T20:02:28.000Z"
    }
  ],
  "meta": {
    "total": 194,
    "hasMore": true
  }
}

The main fields are shown. For the full list, see Order fields.

Error response example

403 — no scope:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'sale' scope"
  }
}

Errors

HTTP Code Description
HTTP400 CodeUNKNOWN_FILTER_FIELD DescriptionFilter by a field not present in the schema. Field list: GET /v1/orders/fields
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the sale scope
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens
HTTP429 CodeRATE_LIMITED DescriptionRate limit exceeded: 300 requests per minute per portal. All API keys of the portal share one limit. The current limit is returned in the x-ratelimit-limit header. Retry after the delay in the Retry-After header

For the full list of common API errors, see Errors.

Known specifics

Auto-pagination: when limit > 50, Vibecode automatically requests several pages from Bitrix24 and returns all records in a single response. meta.total reflects the total number of records matching the filter.

When to use search instead of list: POST /v1/orders/search passes parameters in the request body rather than in the query string — suited for complex filters with many conditions.

See also