Guide
Sandbox
Building safely against the ORN API: sandbox keys read real records and refuse all writes, so integration testing never mutates journey data.
What the sandbox is
The sandbox is the environment for building and verifying your integration. Sandbox credentials carry the orn_test_ key prefix and belong to sandbox applications. Behaviour is identical to production — same operations, same parameters, same error taxonomy, same metering records — with one decisive difference: writes are refused.
| Sandbox (orn_test_) | Production (orn_live_) | |
|---|---|---|
| Reads | Allowed | Allowed |
| Writes | Refused — 403 FORBIDDEN | Allowed and billed |
| Rate limits | Standard class | Standard class |
| Error taxonomy | Identical | Identical |
Write attempts in sandbox
Any write operation attempted with a sandbox key fails fast with 403 FORBIDDEN before business logic, billing or events run — nothing is charged and nothing changes. The response says so plainly:
{
"code": "FORBIDDEN",
"error": "Write operations are not available in the sandbox environment.",
"request_id": "…"
}This is deliberate: the sandbox lets you exercise authentication, scoping, reads, error handling and retry logic against real platform behaviour, while making accidental data mutation impossible.
A sensible workflow
- 1. Build against a sandbox application and verify every read path and error handler your integration relies on.
- 2. Exercise write paths too — confirm your code handles the sandbox 403 cleanly (it becomes a success path in production).
- 3. Move to a production application and key when verified, and start with the free allowance before funding the wallet.