API Scopes
API keys are created and managed from the Dashboard. When you create an API key, you choose which scopes to grant it. Scopes determine which environment the key can access and which operations it's allowed to perform.
A request only succeeds if the API key includes every scope that the operation requires. If a required scope is missing, the request is rejected.
Environments
All Aboard exposes two independent environments, each with its own set of scopes:
- Live (
live) — the production environment where real bookings and payments happen. - Test (
test) — the sandbox environment for development and integration testing.
The base live or test scope is required to access that environment at all. Without it, no other scope for that environment takes effect. The more specific scopes (such as live:orders:read or test:payments:wallet) grant additional, narrower permissions on top of that base access.
A single API key may include scopes for both environments, but most integrations use a separate key per environment.
Available Scopes
Live environment
| Scope | Grants |
|---|---|
live | General access to the live environment, including creating orders |
live:configurations:read | Read cost center configurations in the live environment |
live:orders:read | Access orders in the live environment |
live:payments:invoice | Create orders in the live environment using invoice as the payment method |
live:payments:stripe | Create orders in the live environment using Stripe as the payment method |
live:payments:wallet | Create orders in the live environment using wallet credits as the payment method |
Test environment
| Scope | Grants |
|---|---|
test | General access to the test environment, including creating orders |
test:configurations:read | Read cost center configurations in the test environment |
test:orders:read | Access orders in the test environment |
test:payments:invoice | Create orders in the test environment using invoice as the payment method |
test:payments:stripe | Create orders in the test environment using Stripe as the payment method |
test:payments:wallet | Create orders in the test environment using wallet credits as the payment method |
Payment Method Scopes
Each payment method has its own scope. For a payment method to be accepted when creating an order, the matching scope must be included in the API key:
- Wallet — requires
live:payments:wallet/test:payments:wallet - Payment gateway (Stripe) — requires
live:payments:stripe/test:payments:stripe - Invoice — requires
live:payments:invoice/test:payments:invoice
See Payment Methods for details on each payment flow.
Choosing scopes
Grant a key only the scopes it actually needs. For example, a key used solely to look up order status only needs live and live:orders:read, not any of the payment scopes.