Sandbox & dev environments - ION Manual

Sandbox Documentation

A sandbox is a separate, isolated ION tenant with seeded or copied data. Use one to build and test an integration against the ION API without affecting production.

When to use a sandbox

Use a sandbox whenever you’re:

If you’re only reading data for a one-off report or analysis, production with a read-only API key works too. If you’re writing data, use a sandbox first.

Requesting access

To request a sandbox environment, contact support with:

A typical sandbox is provisioned within a few business days. Sandboxes don’t count against your production seat license. Heavy or long-lived sandbox usage can have contract implications. The support team confirms this if it applies.

Differences from production

A sandbox tenant is operationally separate from production.

Aspect Production Sandbox
Base URL https://api.buildwithion.com A separate domain provided when your sandbox is provisioned
Auth provider Production auth provider A separate auth instance. Production credentials do not work here.
Data isolation Your production tenant Fully isolated. Nothing flows between sandbox and production.
Rate limits Production fair-use limits Often more relaxed. Coordinate load testing with support.
Feature flags Match your tier Can expose features early for evaluation
Data persistence Permanent Can be reset on request. Sandboxes expire if dormant for long periods.
SLA Production SLA None. Sandboxes are best-effort.
Webhooks Live to your real consumers Configurable. The default is a sink, so test events don’t reach your production consumers.

The most common stumbling block is auth credentials. API keys and OAuth apps are environment-scoped, so you have to register them inside the sandbox tenant. Using production credentials against the sandbox (or the other way around) will result in 401 Unauthorized errors.

What data is available

When the sandbox is provisioned, you choose its starting state:

Sandboxes don’t auto-sync from production. To get a fresh snapshot months later, request a refresh from support.

Best practices

Promoting an integration from sandbox to production

When your integration works in sandbox and you’re ready for production:

  1. Register production credentials. Create a new API key or OAuth app registration in the production tenant. Don’t reuse sandbox credentials.
  2. Swap the environment config. Update your service’s environment variables, such as ION_BASE_URL and ION_TOKEN, to point at production.
  3. Verify with read-only operations first. Start with me or a list query before any mutations.
  4. Roll out gradually. If your integration writes to ION, ramp the volume rather than turning it on at full throughput. Watch for 4xx error rates and back off if they spike.
  5. Keep the sandbox credentials. You’ll want them for the next iteration, for hotfixes, or for reproducing production issues without touching live data.

Coordinate load testing with support. Sandboxes share infrastructure with other tenants. ION throttles sustained high-volume tests, such as 10,000 QPS.

A sandbox is not a staging environment. It’s for integration development. ION’s own staging environment, where new ION features are tested, is strictly internal.