Statistics

Sales order lines statistics

Aggregated statistics for the item lines of your sales orders, grouped by product.

This is the correct endpoint for per SKU figures. It covers the same orders as /statistics/sales_orders, archived ones included, so the two reconcile; pass archived=false to exclude them. Filtering is otherwise limited to shop_integration_id.

get/statistics/sales_order_lines

Query parameters

date_fromstring date-time required

Start of the period, inclusive. A bare date such as 2026-07-01 is expanded to the beginning of that day in the requested time zone.

date_tostring date-time required

End of the period, inclusive. A bare date such as 2026-07-31 is expanded to the end of that day in the requested time zone.

date_field'ordered_at'

Which timestamp the period applies to. Defaults to ordered_at.

time_zonestring

IANA time zone used to interpret bare dates and to place time series buckets. Defaults to Europe/Copenhagen.

interval'hour' | 'day' | 'week' | 'month'

Adds a time series to the response. Maximum period per interval: hour 7 days, day 366 days, week 732 days, month 732 days.

group_bystring

Comma separated list of at most 2 dimensions. The second dimension is nested inside the first.

metricsstring

Comma separated list of metrics. Defaults to quantity_sum.

limitinteger

Number of buckets per group level. Some high cardinality dimensions cap this lower.

sortstring

Bucket ordering. Prefix with - for descending. Accepts key or any metric.

series_per_groupboolean

Place a time series inside every group as well as at the top level, answering questions like shipments per carrier per day in one request. Requires both interval and group_by, and is not available when the innermost dimension groups line level documents, which carry no timestamp of their own. Multiplies the number of buckets, so it counts heavily against the request limits.

include_empty_bucketsboolean

Zero fill the time series across the whole period. Off by default, so periods with no data are omitted.

shop_integration_idstring

Restrict the period to matching records. Accepts a comma separated list.

archivedstring

Restrict the period to matching records. Accepts a comma separated list.

item_skustring

Restrict the period to matching records. Accepts a comma separated list.

item_idstring

Restrict the period to matching records. Accepts a comma separated list.

item_namestring

Restrict the period to matching records. Accepts a comma separated list.

Response

Successful.

totalsobject

The requested metrics across the whole period, before any grouping.

Example response

{
  "meta": {
    "resource": "shipments",
    "date_field": "created_at",
    "time_zone": "Europe/Copenhagen",
    "interval": "day",
    "limit": 25,
    "sort": "-count"
  },
  "series": [
    {
      "key": "2026-07-01"
    }
  ],
  "groups": [
    {
      "key": "gls",
      "label": "GLS",
      "series": [
        {
          "key": "2026-07-01"
        }
      ]
    }
  ]
}

Changes

Changed in 2 of the 9 revisions of this API.4

    • added the new optional query request parameter item_id

      new-optional-request-parameter

    • added the new optional query request parameter item_name

      new-optional-request-parameter

    • added the new optional query request parameter item_sku

      new-optional-request-parameter

    • endpoint added

      endpoint-added