---
title: "List orders"
method: GET
path: "/v1/commerce/orders"
tags: ["Commerce"]
---

# List orders

`GET /v1/commerce/orders`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/v1/commerce/orders`
- Auth: HTTP bearer

The store's orders in one format for every platform, with what an invoice needs: line items with unit prices, discounts and tax per line, shipping and fee lines, billing details, payment status and refunds. Newest order first; with `updatedAfter`, oldest change first, so a sync can page forward from its last seen `updatedAt`. Start each sync a few minutes before the last `updatedAt` you saw and drop duplicates by `id`, since an order edited while you page can shift the list. Shopify returns at most 25 orders per page and, unless the store was granted access to all orders, only the last 60 days. Buyer fields (`customer` and addresses) are null when the store's approval does not cover buyer data. Needs orders.read.

## Query parameters

- `accountId` string, required
- `limit` integer
- `cursor` string
- `createdAfter` string, date-time
- `createdBefore` string, date-time
- `updatedAfter` string, date-time

## Response `200`

Orders listed

- object
  - `orders` CommerceOrder[]
    - `id` string
    - `accountId` string
    - `platform` 'shopify' | 'woocommerce'
    - `number` string: The number the merchant and buyer see.
    - `status` 'pending_payment' | 'on_hold' | 'awaiting_fulfillment' | 'partially_fulfilled' | 'in_transit' | 'delivered' | 'completed' | 'cancelled': Where the order stands. The raw platform value is returned next to it as platformStatus.
    - `platformStatus` string: Shopify fulfilment status (e.g. UNFULFILLED) or WooCommerce order status (e.g. processing).
    - `paymentStatus` 'pending' | 'authorized' | 'partially_paid' | 'paid' | 'partially_refunded' | 'refunded' | 'voided' | 'failed', nullable
    - `platformPaymentStatus` string, nullable: Shopify financial status. Null on WooCommerce, where payment is read from the order status.
    - `currency` string
    - `taxesIncluded` boolean: Whether line item and shipping amounts include tax. Always false on WooCommerce, whose API returns amounts before tax whatever the store displays (platformData.pricesIncludeTax).
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `paidAt` string, date-time, nullable: WooCommerce only; null on Shopify.
    - `cancelledAt` string, date-time, nullable: Shopify only; null on WooCommerce.
    - `cancelReason` string, nullable
    - `subtotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
      - `amount` string, required
      - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `discountTotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
      - `amount` string, required
      - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `shippingTotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
      - `amount` string, required
      - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `taxTotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
      - `amount` string, required
      - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `total` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
      - `amount` string, required
      - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `refundedTotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
      - `amount` string, required
      - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `discountCodes` string[]
    - `paymentMethods` string[]
    - `customer` object, nullable
      - `id` string, nullable: Null for guest checkouts.
      - `email` string, nullable
      - `phone` string, nullable
      - `firstName` string, nullable
      - `lastName` string, nullable
    - `billingAddress` CommerceAddress
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `company` string, nullable
      - `phone` string, nullable
      - `line1` string, nullable
      - `line2` string, nullable
      - `city` string, nullable
      - `region` string, nullable
      - `postalCode` string, nullable
      - `countryCode` string, nullable: ISO 3166-1 alpha-2.
    - `shippingAddress` CommerceAddress
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `company` string, nullable
      - `phone` string, nullable
      - `line1` string, nullable
      - `line2` string, nullable
      - `city` string, nullable
      - `region` string, nullable
      - `postalCode` string, nullable
      - `countryCode` string, nullable: ISO 3166-1 alpha-2.
    - `buyerNote` string, nullable
    - `lineItems` object[]
      - `id` string
      - `productId` string, nullable: Null when the product was deleted.
      - `variantId` string, nullable
      - `sku` string, nullable
      - `title` string
      - `variantTitle` string, nullable
      - `quantity` integer: As ordered; refunded units are listed under refunds.
      - `unitPrice` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `subtotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `discountTotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `total` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `taxLines` CommerceTaxLine[]
        - `title` string
        - `ratePercent` number, nullable: Percent, e.g. 20 for 20%. Null when the platform does not say.
        - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
          - `amount` string, required
          - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `shippingLines` CommerceOrderChargeLine[]
      - `id` string
      - `title` string
      - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `discountTotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `taxLines` CommerceTaxLine[]
        - `title` string
        - `ratePercent` number, nullable: Percent, e.g. 20 for 20%. Null when the platform does not say.
        - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
          - `amount` string, required
          - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `feeLines` CommerceOrderChargeLine[]: WooCommerce fees. Always empty on Shopify.
      - `id` string
      - `title` string
      - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `discountTotal` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `taxLines` CommerceTaxLine[]
        - `title` string
        - `ratePercent` number, nullable: Percent, e.g. 20 for 20%. Null when the platform does not say.
        - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
          - `amount` string, required
          - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `taxLines` CommerceTaxLine[]: Order tax by rate, line items and shipping together.
      - `title` string
      - `ratePercent` number, nullable: Percent, e.g. 20 for 20%. Null when the platform does not say.
      - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `refunds` object[]
      - `id` string
      - `createdAt` string, date-time, nullable
      - `note` string, nullable
      - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
        - `amount` string, required
        - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
      - `lineItems` object[]
        - `lineItemId` string
        - `quantity` integer
        - `amount` CommerceMoney: An exact amount of money. The amount is a decimal string so cents are never lost to floating point.
          - `amount` string, required
          - `currency` string, required: ISO 4217 code. Never null: the store currency is filled in when the platform omits it.
    - `fulfillments` object[]
      - `carrierName` string, nullable
      - `trackingNumber` string, nullable
      - `trackingUrl` string, nullable
    - `platformData` object, nullable: Platform-only fields. Null when the platform has none.
  - `nextCursor` string, nullable

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `403`: The store has not granted orders.read, or the platform has not yet approved Zernio's access to order and customer data (code insufficient_permissions; the message says which). GET /v1/commerce/store returns grantPermissionsUrl for the store owner to approve orders.read.
- `404`: Account not found (code account_not_found).
- `429`: Rate limited, either by Zernio or by the platform. Retry later.

## Changes

- **2026-10-20** `c6dd037b213d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/commerce/orders/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/4e74db179e73?raw)
