Skip to content
Pidgely Docs

API reference · Commerce (stores)

List a store's orders

GEThttps://api.pidgely.com/commerce/stores/{id}/orders
View as Markdown

Newest first. Amounts are in minor units of currency.

Authorization: Bearer pdg_…. An API key with full_access. A sending_access key gets 401 restricted_api_key.

Path parameters

Name Type Required Description
id string Yes Store id. UUID.

Query parameters

Name Type Required Description
limit integer No Page size (1-100, default 20). Between 1 and 100.
after string No Id of the last item of the previous page (older items). UUID.
before string No Id of the first item of the current page (newer items). UUID.

Request

This endpoint is not in the SDKs yet; call it over HTTP.

cURL
curl -X GET 'https://api.pidgely.com/commerce/stores/0199d8a2-6f3c-7c51-9e2a-3b1f0c6d4e21/orders' \
  -H "Authorization: Bearer $PIDGELY_API_KEY"

Response

200 OK

JSON
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "commerce",
      "id": "0199d8a2-6f3c-7c51-9e2a-3b1f0c6d4e21",
      "external_id": "0199d8a2-6f3c-7c51-9e2a-3b1f0c6d4e21",
      "number": "number",
      "contact_id": "0199d7f4-5d7b-7a2c-b4e1-9f3c2a6d8e05",
      "customer_id": "0199d8a2-6f3c-7c51-9e2a-3b1f0c6d4e21",
      "email": "steve@example.com",
      "first_name": "Steve",
      "last_name": "Wozniak",
      "status": "open",
      "financial_status": "pending",
      "fulfillment_status": "unfulfilled",
      "currency": "currency",
      "subtotal": 1,
      "discount": 1,
      "shipping": 1,
      "tax": 1,
      "total": 1,
      "items_count": 1,
      "items": [
        {
          "product_id": "0199d8a2-6f3c-7c51-9e2a-3b1f0c6d4e21",
          "variant_id": "0199d8a2-6f3c-7c51-9e2a-3b1f0c6d4e21",
          "title": "title",
          "variant_title": "variant_title",
          "sku": "sku",
          "quantity": 1,
          "unit_price": 1,
          "total": 1,
          "image_url": "image_url",
          "url": "https://acme.com/webhooks/pidgely"
        }
      ],
      "tracking": [
        {
          "number": "number",
          "url": "https://acme.com/webhooks/pidgely",
          "company": "company"
        }
      ],
      "status_url": "status_url",
      "attribution": {
        "landing_url": "landing_url",
        "referrer": "referrer",
        "source": "source",
        "utm_source": "utm_source",
        "utm_medium": "utm_medium",
        "utm_campaign": "utm_campaign",
        "utm_content": "utm_content",
        "utm_term": "utm_term",
        "coupon": "coupon"
      },
      "placed_at": "2026-10-12 16:44:41.000000+00",
      "paid_at": "2026-10-12 16:44:41.000000+00",
      "shipped_at": "2026-10-12 16:44:41.000000+00",
      "delivered_at": "2026-10-12 16:44:41.000000+00",
      "cancelled_at": "2026-10-12 16:44:41.000000+00"
    }
  ]
}

Response fields

Name Type Required Description
object string Yes Object type. One of list.
has_more boolean Yes Whether another page exists.
data object[] Yes Items of this page.
data[].object string Yes Object type. One of order.
data[].id string Yes Unique id (UUID). UUID.
data[].external_id string Yes —
data[].number string Yes —
data[].contact_id string | null No UUID.
data[].customer_id string | null No UUID.
data[].email string Yes Email address.
data[].first_name string No First name, up to 200 characters. Available as {{{FIRST_NAME}}} in broadcasts.
data[].last_name string No Last name, up to 200 characters. Available as {{{LAST_NAME}}} in broadcasts.
data[].status string Yes Current status. One of open, closed, cancelled.
data[].financial_status string Yes One of pending, authorized, paid, partially_paid, partially_refunded, refunded, voided.
data[].fulfillment_status string Yes One of unfulfilled, partial, fulfilled, delivered.
data[].currency string Yes —
data[].subtotal integer No Minor units of the currency (cents). Format: int64.
data[].discount integer No Minor units of the currency (cents). Format: int64.
data[].shipping integer No Minor units of the currency (cents). Format: int64.
data[].tax integer No Minor units of the currency (cents). Format: int64.
data[].total integer Yes Minor units of the currency (cents). Format: int64.
data[].items_count integer Yes —
data[].items object[] Yes —
data[].items[].product_id string No —
data[].items[].variant_id string No —
data[].items[].title string Yes —
data[].items[].variant_title string No —
data[].items[].sku string No —
data[].items[].quantity integer Yes —
data[].items[].unit_price integer Yes Minor units of the currency (cents). Format: int64.
data[].items[].total integer Yes Minor units of the currency (cents). Format: int64.
data[].items[].image_url string No —
data[].items[].url string No Public https URL that receives the events.
data[].tracking object[] Yes —
data[].tracking[].number string No —
data[].tracking[].url string No Public https URL that receives the events.
data[].tracking[].company string No —
data[].status_url string No —
data[].attribution object No —
data[].attribution.landing_url string No —
data[].attribution.referrer string No —
data[].attribution.source string No —
data[].attribution.utm_source string No —
data[].attribution.utm_medium string No —
data[].attribution.utm_campaign string No —
data[].attribution.utm_content string No —
data[].attribution.utm_term string No —
data[].attribution.coupon string No —
data[].placed_at string Yes Format: date-time.
data[].paid_at string | null No Format: date-time.
data[].shipped_at string | null No Format: date-time.
data[].delivered_at string | null No Format: date-time.
data[].cancelled_at string | null No Format: date-time.

Errors

Errors have the shape {"statusCode", "name", "message"}. See Errors for the full list.

Status Name When
401 missing_api_key, restricted_api_key No Authorization: Bearer header, or a sending_access key called an endpoint that needs full_access.
403 invalid_api_key, validation_error The API key is invalid or revoked, or the request is not allowed for this account (unverified domain, plan limit, paused account).
404 not_found The resource does not exist in this account (or the id is not a valid UUID).
422 validation_error A field is missing or invalid; message names it.
429 rate_limit_exceeded Too many requests per second. Wait for Retry-After seconds.