Measura API documentation · v1

List orders

Discover Shopify orders for synchronization with date filters and cursor pagination.

Code example
GET /api/v1/orders

Headers:
  Authorization: Bearer <api-key>
  Content-Type: application/json

Query parameters

Scroll horizontally to see all columns.

ParameterTypeDescription
limitintegerOptional — Default 25; positive integers above 100 are clamped to 100. Values below 1 and non-integers return 400.
cursorstringOptional — Opaque Shopify cursor from meta.nextCursor for the next page.
createdAtMinstringOptional — Inclusive minimum creation date, supplied in ISO-8601 format.
updatedAtMinstringOptional — Inclusive minimum update date, supplied in ISO-8601 format.
statusstringOptional — open, closed, or cancelled; case-insensitive. Omit for all statuses.

Response example (200 success)

Code example
{
  "success": true,
  "data": {
    "orders": [
      {
        "id": "1234567890",
        "name": "#1001",
        "createdAt": "2026-10-18T00:00:00Z",
        "updatedAt": "2026-10-19T00:00:00Z",
        "financialStatus": "PAID",
        "fulfillmentStatus": "UNFULFILLED",
        "totalAmount": "12.50",
        "currencyCode": "USD"
      }
    ]
  },
  "error": null,
  "meta": {
    "nextCursor": "opaque-shopify-cursor",
    "prevCursor": "opaque-start-cursor",
    "hasMore": true
  }
}

Response fields

Scroll horizontally to see all columns.

FieldTypeDescription
data.ordersarrayShopify order summaries; this list is not restricted to measured orders.
data.orders[].idstring | nullShopify order legacy ID.
data.orders[].namestring | nullShopify order name.
data.orders[].createdAt / updatedAtstring | nullShopify timestamps.
data.orders[].financialStatus / fulfillmentStatusstring | nullShopify display status values.
data.orders[].totalAmount / currencyCodestring | nullCurrent total in presentment currency; amount is a decimal string.
metaobjectnextCursor and prevCursor are page boundary cursors; hasMore indicates another forward page.

Error responses

Scroll horizontally to see all columns.

Status codeDescription
400bad_request — Invalid limit, date filter, or status.
401unauthorized — Missing or invalid API key.
403forbidden — The Order edit add-on is not ACTIVE for this shop.
500internal_error — The request could not be processed.

Note

  • Requires an active Order edit add-on, including for reads. Responses use Cache-Control: no-store and read current Shopify state.
  • Filters are combined. Store the synchronization watermark separately from pagination and use updatedAtMin when discovering changes. Fetch order details to obtain measured items and a write revision.
  • Pagination is forward-only: send meta.nextCursor as cursor when meta.hasMore is true. The endpoint returns prevCursor as metadata but does not accept a reverse-pagination parameter.