API Reference Overview
The Roster Royalties API lets approved partner applications exchange royalty, artist, statement, and import data with Roster using a secure public API.
Base URL
Use the public API base URL for all examples:
https://api.rosterroyalties.com
Do not use app dashboard URLs or internal service URLs in production integrations.
Architecture
The API is organized around a small set of public resource categories:
- Artists and accounts: read artist/account records that your integration is authorized to access.
- Statements: read royalty statements, statement lines, and statement summary data.
- Imports: create an import session and submit royalty rows using idempotency controls.
- Prepared runs: prepare and commit imported royalty data where your integration has the required permission.
- OAuth: allow users to authorize your application using OAuth 2.0.
Authentication
The API supports two public authentication methods:
- OAuth 2.0 Bearer tokens in the
Authorizationheader. - API keys in the
X-API-Keyheader where an API key has been issued for your integration.
OAuth is recommended for user-authorized partner applications.
Idempotency
For write operations, send an Idempotency-Key header when retrying a request. For import row submission, include a stable source_row_key on each row. Retrying the same source_row_key is designed not to create duplicate rows.
Example request
curl -X GET "https://api.rosterroyalties.com/v1/statements?artist_id=artist_123&limit=25" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Example response
{
"data": [
{
"id": "statement_123",
"artist_id": "artist_123",
"period": "2026-Q2",
"currency": "GBP",
"status": "processed"
}
],
"pagination": {
"limit": 25,
"offset": 0,
"has_more": false
}
}
Safety and scope
The public API does not expose payout execution, approval bypasses, private admin operations, internal processing details, or operational runbooks. Access is limited by the scopes granted to your application.