List campaigns
GET /v1/campaigns
Requires campaigns:read. Supports pagination:
| Param | Default | Max |
|---|---|---|
page | 1 | — |
pageSize | 10 | 100 |
pagination.page >= pagination.totalPages.
Campaign detail
GET /v1/campaigns/{campaignId}
Returns full metadata for one campaign: name, status, target type (track or playlist), dates, and identifiers you need to join metrics rows.
Use the campaignId from the list response in all /metrics/* paths.
Typical sync flow
- Daily:
GET /v1/campaigns— upsert catalog - Daily: export or paginated metrics per active campaign
- Warehouse: join metrics on
campaign_id+account_id(your organization UUID from each row)
Organization scope
Your organization is determined only from the API key. You never passorganization_id in query params — rows already include account_id for your org.
Node.js users can paginate campaigns with
soundlink.campaigns.listAll() — see TypeScript SDK.