Skip to main content
GET
List products with their session stats for a period

Authorizations

Authorization
string
header
required

API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....

Query Parameters

from
string<date-time>
required

Start of the period, inclusive (ISO 8601)

to
string<date-time>
required

End of the period, exclusive (ISO 8601). A period that does not end after from, or is longer than 1830 days (5 years), is rejected with 400.

isProduction
boolean
required

Count production sessions when true, development sessions when false.

organizationId
string

The organization whose products to read. Defaults to the caller's own organization. Another organization reads products only for a caller that may read across organizations.

name
string

Keep the products whose name contains this (case-insensitive)

tags
string[]

Keep the products that carry any of these tags

productIds
string[]

Keep only these products. A product outside the caller's grant is refused with 403; a product of another organization, or a deleted one, matches nothing. At most 25.

Maximum array length: 25
pinnedProductIds
string[]

Products listed first, each part in the requested sort. A product the caller may not read is ignored. At most 25, counted together with productIds.

Maximum array length: 25
sort
string[]

Sort instructions (field and direction pairs). Fields: name, receivedCount, evaluatedCount, lastEvaluatedAt, criticalFailureRate, costPerSession. A product without analytics.read sorts last inside its group on every field but name, in both directions. costPerSession answers 400 unless the caller holds evaluation.readInference on every product whose analytics the caller may read. Default: criticalFailureRate desc.

limit
integer
default:20

Maximum number of results

Required range: 0 <= x <= 100
offset
integer
default:0

Number of results to skip

Required range: x >= 0

Response

Products with their session stats

productId
string
required
name
string
required
tags
string[]
required
current
object | null
required

Counts of the requested period. Null without analytics.read on the product.

previous
object | null
required

Counts of the period of the same length just before it. Null without analytics.read on the product.

receivedBuckets
integer[] | null
required

Received sessions of the requested period per slice: the period cut into 5 equal slices, oldest first. They sum to current.receivedCount. Null without analytics.read on the product.

lastEvaluatedAt
string<date-time> | null
required

When the latest scored evaluation of a session of the period, or of the period before it, was created. Null without analytics.read on the product.

costPerSession
number | null
required

Average estimated cost of the sessions of the period that carry one. Null without analytics.read and evaluation.readInference on the product, or when no session carries a cost.

totalCost
number | null
required

Estimated cost of the sessions of the period. Null as costPerSession is.

sessionsWithoutCostCount
integer | null
required

Sessions of the period that carry no cost, left out of costPerSession. Null without analytics.read and evaluation.readInference on the product.