API key format
x-api-key header:
401 with code mixed_credentials.
Scopes (v1)
| Scope | Access |
|---|---|
campaigns:read | List campaigns, campaign detail |
metrics:read | Metrics overview, breakdown, exports |
campaigns:write | Reserved for v2 (not available to customer keys yet) |
campaigns:read and metrics:read.
Organization isolation
Your organization is determined only from the API key. The API ignoresx-organization-id and similar spoofed headers.
Key lifecycle
- Keys can be revoked or expired — you receive
api_key_revokedorapi_key_expired. - Store the raw key securely when issued; it cannot be retrieved from Soundlink later.
Feature flag
If your organization does not have Public API access enabled, endpoints return404 with code not_found (same shape as unknown routes).
Ping vs data endpoints
| Endpoint | Scope required |
|---|---|
GET /v1/ping | Valid key only (any v1 scope) |
GET /v1/campaigns, metrics, etc. | Matching scope on the key |