---
title: "The merchant's offset orders"
method: GET
path: "/v1/orders"
tags: ["Store"]
---

# The merchant's offset orders

`GET /v1/orders`

## Request

- Base URL: `https://carbonguru.io`
- URL: `https://carbonguru.io/v1/orders`
- Auth: HTTP bearer

Newest first, cursor-paged. next_cursor is opaque and the Link header carries the same cursor as rel="next"; it is present when the read says another page exists. Our own WooCommerce order id is not served: the merchant's order_ref is the reference on every surface. A test key lists only the orders a test key posted, under the refs it sent; a live key lists none of them; an OAuth caller lists every order.

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

A page of offset orders.

- object
  - `orders` Order[], required
    - `order_ref` string: The order's id in the merchant's own system, as it was reported.
    - `status` string: preview, pending, offset or failed.
    - `offer_type` string: offset or removal.
    - `carbon_kg` union: The kilograms matched for this order: each product's footprint times its quantity.
      - number
      - string
    - `receipt_url` string, nullable: The CarbonGuru-hosted proof page for this order.
    - `created_at` string, nullable
  - `next_cursor` string, nullable, required

## Other responses

- `401`: No valid credential. Every authentication failure returns this one document.
- `402`: The account's plan does not include this capability. Carries min_tier and upgrade_url.
- `403`: A missing scope, an exhausted analysis allowance, or an object that is not the caller's.
- `404`: No such resource.
- `422`: The request's fields are wrong. errors[] names them.

---

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