get sales new overview
The sales overview a dashboard is built from: cards carrying a value, the previous period's value and the change per measure, and charts carrying revenue (the measured series), historical (the requested range), forecast (the same length forward) and last_year (the same range shifted back 365 days).
All three of historical, forecast and last_year are the same length as the range requested: historical is the window filter_args sets, forecast starts the day after it ends, and last_year is that window a year earlier. Forecast points are predictions rather than measurements, and are answered on the same shape as the rest.
period sets the bucket, and cards, charts and product_option narrow what is computed, which is worth doing: this read is the most expensive one on Sales.
A key issued to one account is refused with account_mismatch: this read covers every account on the book. That account's own sales are at GET /sales/table.
Scope: sales:read.
Request
- Base URL: https://api.app.tightly.io
- URL: https://api.app.tightly.io/api/v1/sales/new-overview
- Auth: HTTP bearer
Query parameters
JSON array of filter conditions. Valid filter keys with their allowed operations and value types:
- date (string date)
- Operations: gte, lte
- Example value: "2024-12-01"
- location_id (string or array)
- Operations: eq, in
- Example value: "60904046659" or ["60904046659", "63148523587"]
- variant_id (string)
- Operations: eq
- Example value: "123456789"
- Use for variant-level aggregation
- product_id (string)
- Operations: eq
- Example value: "987654321"
- Use for product-level aggregation (aggregates all variants)
- unit_cost, sell_price, sales_amount, cost_of_goods_sold, total_gross_profit, quantity_sold (numbers)
- Operations: gte, lte
- Example value: 100.50
Example:
[
{"key": "date", "operation": "gte", "value": "2024-12-01"},
{"key": "location_id", "operation": "in", "value": ["60904046659", "63148523587"]},
{"key": "product_id", "operation": "eq", "value": "987654321"}
]
Aggregation granularity only. Controls how chart data is bucketed. This does NOT set the date range. To filter by date range, use filter_args with date gte/lte conditions. Valid values: daily, weekly.
Comma-separated list of card metrics to include. Available cards: sold_quantity, total_cogs, total_revenue, gross_profit, sell_through_rate, gmroi, return_rate, avg_sell_price, sale_order_count
Comma-separated list of charts to include. Available charts: revenue, sales_by_variant
Product option for filtering and analysis
Headers
The date train to answer on. One train exists today, 2026-11, the one this reference describes and the one every key is minted on, so the call answers on it with or without this header. Send it anyway, so a client built now names its train from the start.
Response
The sales overview
Changes
No recorded changes to this operation across all 1 revision of this API.