List Brand Reports
GET/api/v2/brand-reports
Paginated list of brand report runs. By default only the latest version of each report (brand + period) is listed; send filter[latest_only]=0 to list every version. latest_version and has_sent_prior_version tell you when a newer version supersedes a report the brand already received.
reports:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token (scope: reports, permission: brand_reports.index).
Filters:
- filter[search] — exact ID, brand name or summary text
- filter[brand_id] — comma-separated brand IDs
- filter[period_type] — weekly | monthly
- filter[status] — scheduled | generating | in_review | approved | sent | sent_partial | skipped | failed (comma-separated)
- filter[period_from] / filter[period_to] — YYYY-MM-DD (period start on/after, period end on/before)
- filter[latest_only] — 1 (default) | 0
- filter_groups — advanced filter tree; columns: id, brand_name, status, period_type, version, period_start, period_end, generated_at, sent_at, created_at
Sorts: id, period_start, period_end, status, version, generated_at, sent_at, created_at, updated_at (default -period_start, -id).
Pagination: page, per_page (default 10).
Request
Responses
- 200
- 401
- 403
- 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.
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.