Authorization header:
perk_at_. Both credential types use the same endpoint
shapes and error format.
API key environments
The environment is part of the signed secret. Renaming or rotating a key does
not change its environment.
Available direct-key scopes
Test keys cannot be granted
CUSTOMERS_WRITE, ENROLLMENTS_WRITE, or
WEBHOOKS_WRITE. The MCP permission is internal to OAuth consent and is never
available to direct API keys.
Least-privilege examples
- Read-only reporting: customers read, enrolments read, transactions read, cards read.
- POS till: marketplace and locations read.
- CRM sync: customers read/write and enrolments read/write.
- Wallet messaging: customers read, enrolments read, pushes write.
- Webhook consumer setup: webhooks read/write; add only the read scopes needed by its reconciliation job.
Credential handling
- Keep keys in an encrypted server-side secret store.
- Use separate keys for each integration and environment.
- Give each key a name that identifies its owner and purpose.
- Set an expiry where the integration can rotate automatically.
- Rotate immediately after accidental exposure or team-member departure.
- Revoke unused keys rather than leaving them dormant.

