Available scopes
| Scope | Routes it unlocks |
|---|---|
customers:write | POST /v1/customers, PATCH /v1/customers/{id} |
customers:read | GET /v1/customers, GET /v1/customers/{id} |
aml:read | GET /v1/customers/{id}/aml |
Choosing the right combination
| Integration type | Scopes |
|---|---|
| Ingest only (“push customers from my CRM”) | customers:write |
| Sync results back (“pull KYC status into my CRM”) | customers:read aml:read |
| Both directions | customers:write customers:read aml:read |
| Reporting / dashboards only | customers:read aml:read |
Backing permissions
Scopes are not free-standing — each maps to a granular internal permission in the role model. When an admin issues a key, the chosen scopes are checked against the admin’s own permissions:| Scope | Backing permission the issuer must hold |
|---|---|
customers:write | customers.add |
customers:read | customers.view |
aml:read | customers.view |
org.api-keys but limited customer access
from minting a key that bypasses their own gates.

