When to use a sandbox
Use a sandbox whenever you’re:- Building a new integration, such as an ETL, MES, ERP, Slack bot, or custom dashboard.
- Testing destructive operations, such as bulk inventory adjustments or mass run cancellations.
- Reproducing a customer support issue without touching live data.
- Running automated CI tests against the API.
- Onboarding a new developer who needs API access without production credentials.
Requesting access
To request a sandbox environment, contact support with:- Why you need a sandbox, including which integration you’re building.
- Who needs access, as a list of users or service accounts.
Differences from production
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. Production credentials used against the sandbox, or the other way around, return
401 Unauthorized.
What data is available
A sandbox always starts as a blank org. You populate parts, procedures, and runs yourself, or request a copy of your production data from support. Production data syncs into your sandbox on a recurring cadence, weekly or monthly, that you set up with support. A one-time or on-demand sync isn’t available.Best practices
- Seed test data programmatically. A script that creates a full part, procedure, run, and installation chain is easier to re-run than rebuilding state by hand each time the sandbox resets.
- Tag webhook payloads. When testing webhooks, prefix the consumer URL or set a header such as
X-Test-Run: 1, so your downstream system can tell sandbox-driven events apart from real ones.
Promoting an integration from sandbox to production
When your integration works in sandbox and you’re ready for production:- Register production credentials. Create a new API key or OAuth app registration in the production tenant. Don’t reuse sandbox credentials.
- Swap the environment config. Update your service’s environment variables, such as
ION_BASE_URLandION_TOKEN, to point at production. - Verify with read-only operations first. Start with
meor a list query before any mutations. - 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.
Your sandbox runs on ION’s staging environment, which is why its URLs use a
staging domain prefix. “Sandbox” and “staging” refer to the same
environment.