resource:action format. For example, ledgers:read allows a key to read ledgers, while transactions:write allows it to create transactions.
Instead of giving every service full access, use scopes to create keys that match what each service actually does.
These patterns cover most setups:
| Use case | Scopes | What the key can do |
|---|---|---|
| Read-only reporting | ledgers:read, balances:read | View ledgers and balances |
| Payment processing | transactions:write, balances:read | Create transactions and check balances |
| Identity management | identities:write, identities:read | Create and view identities |
| Key administration | api-keys:read, api-keys:write, api-keys:delete | Manage keys within its owner context |
How scopes work
Each scope has two parts: a resource and an action, separated by a colon:resource:action.
- Resources
- Actions
The resource defines the area of Blnk the key can access. The action defines what the key can do in that area.
| Resource | Description |
|---|---|
* | All resources |
ledgers | Ledger management |
balances | Balance operations |
accounts | Account operations |
identities | Identity management |
transactions | Transaction processing |
balance-monitors | Balance monitoring |
api-keys | API key management |
search | Search operations |
reconciliation | Reconciliation tasks |
metadata | Metadata management |
backup | Backup operations |
Error handling
Structured errors are available from Blnk Core 0.15.0 and later.
403 Forbidden response.
| Code | When it happens |
|---|---|
AUTH_INSUFFICIENT_PERMISSIONS | The key is missing the scope required for that endpoint. |
AUTH_UNKNOWN_RESOURCE | The request path does not map to a known Blnk resource. |
AUTH_MASTER_KEY_REQUIRED | The endpoint requires the master key, such as hook management. |
403 Forbidden
| Code | What to do |
|---|---|
AUTH_INSUFFICIENT_PERMISSIONS | Check which scope the endpoint needs, then create a new key with that scope or call an endpoint the key already covers. |
AUTH_UNKNOWN_RESOURCE | Verify the request path matches a supported API route. |
AUTH_MASTER_KEY_REQUIRED | Use the master key for that operation. |
Related docs
Overview
Create and use scoped keys.
Owner context
How Blnk isolates key management.
Manage keys
List, revoke, and delegate keys.