API ReferenceSales

Sales report

GET /rest/v1/sales

GET
/sales

Totals, a time series and the per-channel split, one block per currency. Default range = the last 30 days; at most 2 years. Required scope: orders:read.

AuthorizationBearer <token>

Authorization: Bearer nbl_live_... (or nbl_test_... for test mode). Test-mode writes are validated and simulated but never persisted and never touch channels; simulated results are marked simulated.

In: header

Query Parameters

from?string
Formatdate-time
to?string
Formatdate-time
interval?string
Default"day"

Value in

  • "day"
  • "week"
  • "month"
channel_account_id?string
product_id?string
currency?string

Response Body

application/json

application/json

curl -X GET "https://example.com/sales"
{  "object": "sales_report",  "from": "2019-08-24T14:15:22Z",  "to": "2019-08-24T14:15:22Z",  "interval": "day",  "currencies": [    {      "currency": "USD",      "totals": {        "orders": 0,        "units": 0,        "revenue": "37.50"      },      "series": [        {          "orders": 0,          "units": 0,          "revenue": "37.50",          "period": "2026-10-06"        }      ],      "by_channel": [        {          "orders": 0,          "units": 0,          "revenue": "37.50",          "channel_account_id": "string",          "channel": "etsy"        }      ]    }  ]}

Last updated on October 18, 2026

Need help?

Email us and a human replies, usually within one business day.