Get Price Comparison Summary
GET/api/v2/sales-channels/:integrationInstance/prices/comparison/summary
Counts of listings in each price comparison bucket for a sales channel.
integrations:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
never_pushed overlaps the other buckets — it counts listings that have a SKU.io price but have never been sent, whatever their current comparison status.
Authentication: Requires Bearer token.
Requires the integrations.show permission.
not_priced_reasons breaks not_priced down by cause (call review U1): { no_master, no_sequence, no_channel_price, no_price_at_levels }, all four keys always present. Computed by the same expression each comparison row's not_priced_reason uses, so the Not priced tile can name the cause and filter to exactly those rows (filter[not_priced_reason] on the comparison endpoint).
ended_on_channel counts listings the channel no longer hosts (retired, expired or deleted). They are inside total but outside every other bucket, so in_sync + out_of_sync + not_priced + unknown_channel_price + ended_on_channel = total.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.