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

ScopeGrants
liveGeneral access to the live environment, including creating orders
live:configurations:readRead cost center configurations in the live environment
live:orders:readAccess orders in the live environment
live:payments:invoiceCreate orders in the live environment using invoice as the payment method
live:payments:stripeCreate orders in the live environment using Stripe as the payment method
live:payments:walletCreate orders in the live environment using wallet credits as the payment method

Test environment

ScopeGrants
testGeneral access to the test environment, including creating orders
test:configurations:readRead cost center configurations in the test environment
test:orders:readAccess orders in the test environment
test:payments:invoiceCreate orders in the test environment using invoice as the payment method
test:payments:stripeCreate orders in the test environment using Stripe as the payment method
test:payments:walletCreate 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.