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

# Sandbox

> Test your integration against isolated data with sandbox API keys

The sandbox is a fully isolated test environment. It runs the same API as production — same endpoints, same request and response shapes, same permission model — but every sandbox request reads and writes an isolated test workspace instead of your live data.

## Sandbox keys

Sandbox keys use the `pv_sandbox_` prefix:

```
pv_sandbox_<64-hex-chars>
```

Create one in the dashboard under **Settings > API Keys** by enabling the **Sandbox key** toggle.

## Usage

The sandbox is served from its own base URL:

```
https://sandbox.api.beachdepository.com/v1
```

Use your sandbox key against it:

```bash theme={null}
curl https://sandbox.api.beachdepository.com/v1/fbo-accounts \
  -H "Authorization: Bearer pv_sandbox_abc123..."
```

Each host accepts only its own keys: a live key on the sandbox host (or a sandbox key on the live host) returns `401 WRONG_ENVIRONMENT`. A live key can never read or write sandbox data, and IDs are not interchangeable between the two environments.

## Differences from production

The sandbox is designed to be side-effect free:

* **Shipping** — label quotes and purchases return mock carrier data. No real labels are purchased and nothing is charged.
* **Emails** — no emails are sent to FBO account holders or members.
* **Valuations** — item valuations are generated by a mock pricing feed, not real market data.

Rate limits apply to sandbox keys the same as live keys, and sandbox request history appears in the dashboard's usage logs.

## Errors

| Code                  | Meaning                                                                                                            |
| --------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `WRONG_ENVIRONMENT`   | The key doesn't match the host — e.g. a live key sent to `sandbox.api.beachdepository.com`. Switch the key or URL. |
| `SANDBOX_UNAVAILABLE` | The key has no provisioned sandbox workspace. Recreate the key from the dashboard.                                 |
