Concepts

Scopes and permissions

What each API scope grants, and which are restricted.

Every token — team API key or OAuth access token — carries scopes that gate what it can do.

Scopes

ScopeGrants
team:readRead team information
team:manageUpdate team settings (DAC7 reporting)
payouts:readList and read payouts
payouts:writeCreate payouts (kept pending; no approval/execution)
payouts:approveCreate payouts as pre-approved. Restricted — only granted to admin-provisioned OAuth clients and to API keys for teams with the payout.api_approve permission. Not available via dynamic client registration.
webhooks:readList webhook subscriptions
webhooks:writeCreate and delete webhook subscriptions
sessions:writeMint hosted session URLs (granted by default)

For OAuth, include offline_access in the scope list to receive a refresh token.

Which team does a token act on?

  • A team API key is scoped to the team that owns the key.
  • An OAuth access token is scoped to the team the user selected during authorization, carried in the https://talentir.com/oauth/team_id claim. For platforms this is usually a customer's team, not your own.

Safety model

payouts:write alone can never move money: created payouts stay pending until a team member approves them (see Approve and execute payouts). Money movement always requires either the restricted payouts:approve scope or an explicit human approval backed by the team's passkey wallet and daily allowance.