Skip to main content
Each analytics dashboard in the workspace has its own route with the same numbers, so you can rebuild any of them in your own app. Every route requires analytics:read.

Routes

Session members need the same access as in the app; profit also needs finance access.

Query parameters

Every route except ai-traffic accepts: Extra parameters:
  • products: q (name or SKU), productId (up to 50 comma-separated product or variant UUIDs), limit (default 50, max 100). Pass one productId to show a product’s performance on its own page.
  • profit: sku (comma-separated).
  • ai-traffic: from, to, timeZone, source, trafficType (indexing, click_through, page_view, assistant), route, and country. Values for source and route come back in data.filterOptions. A range longer than 365 days is shortened to the last 365.
Unknown values return 400 instead of being ignored.

Responses

Each route returns data with the dashboard’s numbers and data.filters with the range, filters, currency, and time zone that were applied.
  • Amounts are in data.filters.currency. Only orders in that currency are counted; nothing is converted, so call once per currency when you sell in several.
  • Fields ending in ChangePercent compare against the previous period of equal length (previousFrom to previousTo). They are null when that period has no data. Show ”—” rather than “+100%”.
  • coverage says which data sources had data, so you can tell “zero” from “not connected”.
  • Buyers are never listed. Repeat-buyer counts are included in orders.

SDK