> ## Documentation Index
> Fetch the complete documentation index at: https://docs-consumer.voucher.allride.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox and production

> The sandbox and production environments: base URLs, dashboards, API key prefixes, test data and how to move to production.

## Environments at a glance

AllRide runs two environments for partners. The **sandbox** is where you build and test; **production** is where real vouchers are redeemed.

| | Sandbox | Production |
| - | - | - |
| API base URL | `https://api.voucher-staging.allride.io` | `https://api.voucher.allride.io` |
| Developer dashboard | [consumer-developers.voucher-staging.allride.io](https://consumer-developers.voucher-staging.allride.io/go/overview) | [consumer-developers.voucher.allride.io](https://consumer-developers.voucher.allride.io/go/overview) |
| API key prefix | `vk_test_` | `vk_live_` |
| `environment` in [`GET /partner/v1/principal`](https://docs-consumer.voucher.allride.io/api-reference/partner-principal-get) | `test` | `live` |
| Data | Test data; never real voucher codes | Real vouchers, redemptions and invoices |
| Egress addresses | [Network and IP addresses](https://docs-consumer.voucher.allride.io/guides/network.md) | [Network and IP addresses](https://docs-consumer.voucher.allride.io/guides/network.md) |

The sandbox is a **separate environment**, not a mode of production. It has its own partner accounts, users, API keys, webhook endpoints, settings and data. Nothing you create in one environment exists in the other, and there is no "test mode" switch in production.

Keys work only in their own environment. A `vk_test_` key sent to production, or a `vk_live_` key sent to the sandbox, is refused with `401` and [`api-key-invalid`](https://docs-consumer.voucher.allride.io/errors/catalog#api-key-invalid).

> [!WARNING]
>
> Use the API playground on these docs only with sandbox `vk_test_` keys. Playground requests are sent from Mintlify's servers, so they fail when your sandbox IP allowlist is enforced.

## Getting sandbox access

1. Send your AllRide account manager (or AllRide through the **Support** link at the top of this site) your company name and the email address of your first user. AllRide creates your consumer partner in the sandbox and invites that user.
2. Sign in to the [sandbox developer dashboard](https://consumer-developers.voucher-staging.allride.io/go/api-access) and request API access. Requesting needs the `request-api-access` permission, which owners and the developers group hold.
3. AllRide reviews and activates API access. API keys can be created and used only while API access is `active`; [`GET /partner/v1/api-access`](https://docs-consumer.voucher.allride.io/api-reference/partner-api-access-get) shows the current status.
4. Create an API key in [API keys](https://consumer-developers.voucher-staging.allride.io/go/api-keys) ([API keys](https://docs-consumer.voucher.allride.io/guides/api-keys.md)).

## Test data

The sandbox contains fixtures so that you can redeem from your first minute:

* The provider **`sandbox-scooters`** with the voucher sets **Sandbox ride credit** (a code voucher that can be redeemed many times), **Sandbox link voucher** (a link voucher), **Sandbox depleted** (no voucher left, so redeeming it returns `409` [`voucher-set-depleted`](https://docs-consumer.voucher.allride.io/errors/catalog#voucher-set-depleted)) and **Sandbox upcoming** (activates in a year, so its `availability` is `upcoming`).
* When your consumer partner is activated, the sandbox switches the provider `sandbox-scooters` on for you, so its sets appear in your catalog with `filter[providerToggle]=true`.
* **A €0 sandbox price.** The sandbox has a €0 provider price for `sandbox-scooters` that is never billed. Each new consumer partner sees its sets as `priceAcceptance.status: acceptance-required` and accepts that price **once** in **Prices** in the sandbox consumer dashboard; that is your first step before redeeming. Without it, a redemption answers `409` [`price-acceptance-required`](https://docs-consumer.voucher.allride.io/errors/catalog#price-acceptance-required).
* Sandbox invoices carry numbers starting with `TEST-`.

You can create your own redemption entities, Redemption Links and webhook endpoints freely. Use only fictional customer data: never put personal data of real people into the sandbox.

## Differences from production

* **Data:** the sandbox never contains real voucher codes. Codes you redeem there are worthless outside the sandbox.
* **Availability:** the sandbox has no service level objective and may be unavailable during maintenance. AllRide may reset sandbox data; a reset is announced by email to your technical contact (`contacts.technicalEmail`) at least 14 days ahead.
* **Payments:** billing runs in the payment provider's test mode; no money moves.
* **Prices:** production has no seeded prices. Each provider's sets are priced by AllRide, and you accept their Price Terms before you can redeem (step 4 below).
* **Same API:** paths, request and response formats, permissions, errors and webhooks are identical in both environments. Code that works against the sandbox works against production once you change the base URL and the key.

## Moving to production

1. Ask your AllRide account manager for your production partner account (if you do not have one yet) and request API access in the [production developer dashboard](https://consumer-developers.voucher.allride.io/go/api-access).
2. Create a production `vk_live_` key with the minimum scopes your integration needs and store it in a secret manager.
3. Recreate your configuration in production: webhook endpoints (with new secrets), IP allowlist entries, SMTP configuration and email templates, custom domains and catalog settings. None of these are copied from the sandbox.
4. Accept the Price Terms of the voucher sets you want to offer in the production consumer dashboard.
5. Switch `VOUCHER_API_BASE_URL` to `https://api.voucher.allride.io`.
6. Work through the [going-live checklist](https://docs-consumer.voucher.allride.io/guides/going-live.md).

## Related

* [Quickstart](https://docs-consumer.voucher.allride.io/quickstart.md)
* [Network and IP addresses](https://docs-consumer.voucher.allride.io/guides/network.md)
* [Going-live checklist](https://docs-consumer.voucher.allride.io/guides/going-live.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.