Get started
Authentication
Create an API key, send it, and keep it safe.
Every request carries a Bearer token. The key identifies your client, so you never send a client id in normal use.
code
Authorization: Bearer trk_live_...
If you do not have a key yet, Get your Record API key walks through creating one.
Scopes#
A key carries scopes. A scope grants one capability, so a key that only sends catalogue data cannot read partner metadata.
| Scope | Grants |
|---|---|
works:write | Send works through the Catalogue Ingest API. |
covers:read | Read album covers through the Partner Metadata API. |
A request to an endpoint outside your key's scopes returns 403 SCOPE_MISSING.
Client binding#
A Catalogue Ingest key is bound to exactly one client, which is your account.
- No
x-client-idheader is needed. The key resolves your client on our side. - If you do send
x-client-id, or a bodyclient_id, it must equal the client bound to the key. A mismatch returns403for the header and400for the body value. - Only a per-client
trk_key works here. A generic or shared internal key returns403.
Partner Metadata keys work differently. A reporting partner may serve several clients, so those keys are gated by scope rather than bound to one tenant.
What we reject#
| Situation | Response |
|---|---|
No Authorization header | 401 AUTH_MISSING |
| Invalid, expired or revoked key | 401 AUTH_INVALID |
A shared internal key, not a per-client trk_ key | 403 API_KEY_KIND_INVALID |
| The key lacks the endpoint's scope | 403 SCOPE_MISSING |
x-client-id does not match the key's client | 403 CLIENT_MISMATCH |
Errors lists every code the APIs return.