Statistics

Fulfillments statistics

Aggregated statistics for your fulfillments, including per product and per return reason figures.

No filter is applied by default, so cancelled fulfillments and returns are included unless you exclude them.

get/statistics/fulfillments

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'created_at' | 'updated_at' | 'confirmed_at'

Which timestamp the period applies to. Defaults to created_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 count.

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.

fulfillment_type'outbound' | 'inbound' | 'return'

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

fulfillment_status'shipping_in_progress' | 'shipped' | 'return_in_progress' | 'returned' | 'cancelled' | 'ready_for_pickup' | 'picked_up'

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

creation_source'manual' | 'api' | 'pick_path' | 'barcode' | 'shipping_method' | 'shop_integration' | 'return_portal' | 'mass_action' | 'pack'

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

source_type'user' | 'shipping_method' | 'shop_integration'

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

shop_integration_idstring

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

return_portal_idstring

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

externally_fulfilledstring

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

return_portal_processedstring

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

cancelledstring

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

return_method_namestring

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

return_resolution_namestring

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