Sandbox vs. production
A sandbox key gives you a working agency tenant with a fake, pre-funded wallet — the exact same API, same base URL, same endpoints as production — with a hard guarantee that a sandbox key can never touch a real wallet, and a production key can never touch a sandbox one. There's no separate sandbox host or subdomain to switch to; the distinction lives entirely in which key you use.
Getting a sandbox key
No approval, no waiting — POST /api/v1/SandboxTenant/Create, routed through the gateway to
the identity service, with your business name/type and a contact, returns a working API key
immediately:
curl -X POST https://api.ondgo.ng/identity/api/v1/SandboxTenant/Create \
-H "Content-Type: application/json" \
-d '{
"businessName": "Acme Travel (sandbox)",
"businessType": "AGENCY",
"contactFirstName": "Jane",
"contactLastName": "Doe",
"contactEmail": "[email protected]",
"contactPhone": "2348010000000"
}'
The response includes your apiKey/clientKey (shown once, same as any key — see
Generate an API key) and a wallet already funded with a large,
obviously-fake starting balance so you can test a full booking flow immediately, with no
funding step.
The safety guarantee
Every wallet-moving call your sandbox key makes is checked against the target wallet's own sandbox flag before anything happens — not just "the IDs happen not to collide." A sandbox key can never debit, credit, or transfer to/from a production wallet under any circumstance, and vice versa. This is enforced in the ledger itself, the same one every product on the platform shares, not just at the booking API layer.
What this means in practice
- Everything you do with a sandbox key — search, price, book, cancel — returns realistic simulated GDS responses: same response shape, same fields (PNRs, fares, seat data) your integration will see in production, but never a real reservation against a real airline. Webhooks fire the same way in both modes.
- A production key behaves exactly as before: real money, real bookings, real GDS calls.
- You can hold both a sandbox and a production key at once (scopes and multiple keys work the same way for both).
Next step
You're ready to make real requests — head to the API Reference, or read the ticket issuance flow guide for a full walkthrough.