RosterRoyalties
RosterRoyalties
LiveUpdated 5 May 2026

Authentication & Scopes

Roster supports OAuth 2.0 Bearer tokens and API keys for approved integrations.

OAuth Bearer tokens

Send OAuth access tokens in the Authorization header:

Authorization: Bearer YOUR_ACCESS_TOKEN

Access tokens are short-lived. Refresh tokens are long-lived credentials and must be stored securely by confidential clients.

API keys

Where API keys are issued, send the key in the X-API-Key header:

X-API-Key: YOUR_API_KEY

Do not put API keys or access tokens in query strings.

Confidential clients

Confidential OAuth clients must send YOUR_CLIENT_SECRET when exchanging authorization codes, refreshing tokens, revoking tokens, or introspecting tokens.

Token handling

  • Store client secrets and refresh tokens only on your server.
  • Never expose client secrets in browser code or mobile apps.
  • Treat access tokens as sensitive credentials.
  • Refresh tokens rotate on successful refresh, so replace the stored refresh token with the newest value.
  • Expired or revoked tokens must be replaced through the OAuth flow.

Public scopes

Scopes determine what an integration can do. Request only the scopes your application needs.

ScopePurpose
imports:writeCreate import sessions and submit royalty rows.
prepared_runs:readRead prepared run status and preview groups.
prepared_runs:writeStart or update a prepared run.
prepared_runs:commitCommit a prepared run into statements.
runs:readRead royalty run metadata available to your integration.
statements:readRead statements.
statement_lines:readRead statement line items.
statement_aggregates:readRead statement aggregate summaries.
statements:writeCreate or update permitted statement-related resources where enabled.

Error response format

{
  "ok": false,
  "error": {
    "code": "invalid_scope",
    "message": "The requested scope is not available for this client."
  }
}

Common authentication errors include invalid_client, invalid_token, invalid_scope, and insufficient_scope.

Last updated 3 May 2026View changelog