# DIDWW API Sandbox

The DIDWW API Sandbox is a testing environment for developing and
validating integrations before using the production API.

Use the Sandbox to test API authentication, requests, application logic,
error handling, and integration workflows without affecting production
data or incurring real charges.

## Sandbox environment

| Setting | Value |
| --- | --- |
| API base URL | `https://sandbox-api.didww.com/v3` |
| Sandbox registration | [Create a Sandbox account](https://my-sandbox.didww.com/#/users/sign_up) |
| Sandbox sign-in | [Sign in to the Sandbox User Panel](https://my-sandbox.didww.com/#/users/sign_in) |
| API format | JSON:API |
| Authentication | See [Authentication](#api3-sandbox-authentication) |
| Response media type | `application/vnd.api+json` |

Sandbox and production are separate environments. A sandbox account and
API key cannot be used with the production API.

Warning

Do not use production credentials when testing sandbox requests.
Sandbox and production credentials are not interchangeable.

## Authentication

Authentication requirements are version-specific. For API v2026-04-16, see
[Authentication for DIDWW API v2026-04-16](2026-04-16/authentication.html). The corresponding [OpenAPI document](https://doc.didww.com/openapi/2026-04-16/v3_api.json) provides the
machine-readable security definition.

DIDWW API v2026-04-16 Sandbox requests use an API key sent in the
`Api-Key` request header. The instructions below explain how to create and
use that key.

## Step 1: Create a sandbox account

Open the [DIDWW Sandbox registration page](https://my-sandbox.didww.com/#/users/sign_up) to create a Sandbox
account. For detailed registration instructions, see the [DIDWW
account registration guide](../account-settings/creating-an-account.html).

During registration:

1. Complete the registration form.
2. Confirm your email address.
3. Set your account password.
4. Sign in to the
   [Sandbox User Panel](https://my-sandbox.didww.com/#/users/sign_in).

Note

The email-confirmation link expires after seven days.

Important

Identity verification is unavailable in the Sandbox environment.

## Step 2: Create a sandbox API key

After signing in to the Sandbox User Panel:

1. Open **APIs** in the left navigation.
2. Select **DIDWW API 3**.
3. Select **Create new API Key**.
4. Enter a descriptive name, such as `Sandbox Integration`.
5. Optionally restrict the key to specific source IP addresses.
6. Select **Create**.

The new key appears in the **API Keys** table.

Warning

Keep the API key private. Do not include it in public repositories,
documentation, screenshots, logs, or support messages.

If API-key management is unavailable, contact DIDWW Customer Support at
[support@didww.com](mailto:support%40didww.com).

## Step 3: Select the sandbox server and send a test request

Set the API base URL to `https://sandbox-api.didww.com/v3` and send a
safe, read-only request to the Countries endpoint:

```
curl --request GET \
  --url https://sandbox-api.didww.com/v3/countries \
  --header "Api-Key: YOUR_SANDBOX_API_KEY" \
  --header "Accept: application/vnd.api+json"
```

Replace `YOUR_SANDBOX_API_KEY` with the key created in the Sandbox User
Panel.

A successful request returns an HTTP `200 OK` response with the
`application/vnd.api+json` media type. The response body contains a
JSON:API collection of countries.

## Step 4 (optional): Set up callbacks

If the integration receives callbacks, create and enable a callback
secret in the Sandbox User Panel under
**APIs → DIDWW API 3 → Callback Secrets**. DIDWW signs callbacks with the
enabled callback secret and sends them only while one is enabled. See
[How to Set Up a Callback Secret](configuration.html#callback-secret).

## Required headers

Include these headers when calling the DIDWW API:

```
Api-Key: YOUR_SANDBOX_API_KEY
Accept: application/vnd.api+json
```

For `POST` and `PATCH` requests containing a JSON body, also include:

```
Content-Type: application/vnd.api+json
```

## Common errors

401 Unauthorized

The API key is missing, invalid, inactive, or belongs to a different
environment.

Confirm that:

- The request includes the `Api-Key` header.
- The key was created in the Sandbox User Panel.
- The request is sent to `sandbox-api.didww.com`.
- The API key is active.
- Any configured IP restrictions allow the request's source IP.

406 Not Acceptable

The `Accept` header is missing or incorrect. Use:

```
Accept: application/vnd.api+json
```

415 Unsupported Media Type

A request containing a JSON body does not have the required media type.
Use:

```
Content-Type: application/vnd.api+json
```

429 Too Many Requests

The API-key rate limit has been exceeded. Each API key is limited to 20
requests per second. Reduce the request rate and retry after an appropriate
delay.

## Add funds to a Sandbox account

Add a payment card to the Sandbox account using any suitable
[Stripe test card](https://docs.stripe.com/testing), and then use the
[Add Funds](../billing/payment-methods/credit-card.html#billing-manage-add-funds) flow in the Sandbox User Panel.

Important

Do not use real payment-card information in the Sandbox. Sandbox payment
cards and balances have no monetary value and do not affect production.

## Sandbox limitations

The Sandbox simulates production API behavior, but it does not perform real
service provisioning or billing.

Important limitations include:

- Sandbox data is separate from production data.
- Production accounts and API keys cannot be used in the Sandbox.
- Sandbox accounts and API keys cannot be used in production.
- Identity verification is unavailable in the Sandbox.
- Telephone numbers and other Sandbox resources are test resources.
- Some external provider or carrier behavior may not be reproduced
  completely.
- Add Sandbox funds using Stripe test-card details, not real payment-card
  information.

## Going to production

Before switching an integration to production:

1. Create or sign in to a production DIDWW account.
2. Create a separate production API key.
3. Change the API base URL to `https://api.didww.com/v3`.
4. Replace the sandbox key with the production key.
5. If the integration receives callbacks, create and enable a callback
   secret in the production account.
6. Review IP restrictions, callback URLs, rate limits, and error handling.
7. Test read-only production requests before performing write operations.

Never deploy a sandbox API key as a production secret.

## Related resources

- [Getting Started with DIDWW API 3](configuration.html)
- [Register a DIDWW account](../account-settings/creating-an-account.html)
- [API Requests in Postman](postman.html)
- [DIDWW API v2026-04-16 OpenAPI document](https://doc.didww.com/openapi/2026-04-16/v3_api.json)
- [DIDWW API Postman workspace](https://www.postman.com/didww-api/workspace/didww-api3-documentation)

On this page
