One key, scoped capabilities, two worlds.
Request
GET/v1/environmentAuthorization: Bearer ak_test_7Q4…
Response200 OK
{
"organisationRef": "org_northwind",
"appRef": "app_dawn",
"environmentRef": "env_sandbox",
"environmentKind": "sandbox"
}Operations
GET/v1/environmentRead environment status.
A key is a capability set
A key does not have a role; it has capabilities: TransferCreate, BalanceSnapshotRead, ProgrammableEndpointLifecycleManage, and so on. The gateway checks the exact capability an operation needs. A key without it is refused, not partially served.
Sandbox and live are different keys
ak_test_… reaches the sandbox; ak_live_… reaches production. There is no flag to flip; the environment is the key. A sandbox balance is never reachable by a live credential.
Keys are minted in the console
You create, scope, and revoke keys in the console, under your team's audit, not over this API. The public surface uses keys; it does not issue them. Minting authority stays governed.
When it fails
401unauthorized-MissingCredentialNo key, or a revoked key.
403forbidden-PermissionDeniedThe key is valid but not scoped for the call.
403forbidden-EnvironmentNotAllowedThe key's environment does not reach this surface.
409conflict-…An Idempotency-Key was reused with a different body: the original wins.
See auth & environments elsewhere
