Test mode
Flip Test mode on an API key, and every order that key creates runs through a simulated driver instead of a real one. The full lifecycle (dispatched → en_route → completed) plays out in about 30 seconds, webhooks fire normally, orders appear in your dashboard with a "Test" badge. No driver is actually paid, no wallet balance is moved.
Enabling it
- Open the API Keys page in the business app at business.armadadelivery.com.
- Expand the key.
- Toggle Test mode on. New orders created with this key from now on are
flagged
testMode: true.
Existing orders created before the toggle are unaffected — test mode only changes what happens at create time.
What happens when you create a test order
The order's POST response looks the same as a real order. Then, in the background:
- Armada creates a bot driver under the merchant. The bot is marked
suspended,deleted, andavailable: falsefrom birth — so the real dispatcher will never assign it to a different, real order. - The order advances to
dispatchedimmediately. The bot is assigned as its driver. - After ~5 s, status →
accepted. Thedelivery.acceptedwebhook fires. - After ~15 s, status →
en_route. Thedelivery.en_routewebhook fires, and the driver location webhook starts ticking on your configured interval. - After ~30 s, status →
completed. Thedelivery.completedwebhook fires. - Once complete, the bot driver is soft-deleted (flags flipped on, record retained). The order itself is kept — not purged — so you can find it in the Orders History with a "Test" badge and inspect every webhook it produced.
The "Test" badge
Every test order carries testMode: true on the API response, and appears in the
business-app dashboard + Orders History with a visible Test pill next to the
order code. Most reporting queries filter these out by default — so your ops dashboards
don't show test traffic as revenue — but the orders themselves are fully browsable for
debugging.
What's not simulated
- The wallet is not charged.
deliveryFeestill shows on the order, but no balance moves. - No SMS/email goes to the contact. The customer you put in
destination.contact_phonenever hears from us in test mode. - The tracking link is still generated and opens the normal tracking page — fine for end-to-end verification.
When to turn it off
Test mode is a per-key flag, so a common setup is:
- One test-mode key for development, CI, and acceptance testing. Never flip it off — it stays simulated forever.
- One live key (Test mode off) for production traffic.
When you're ready to go live, the simplest path is to create a second key with Test mode off — that way your dev key and your live key are distinct and you can rotate one without affecting the other. Or, if you only ever need one key, flip Test mode off on the existing one.
Is there an isolated sandbox environment at all?
Yes — a fully separate deployment exists at sandbox.api.armadadelivery.com with
its own merchants, keys, and data. It's occasionally useful when you want zero overlap with
your real account (e.g. very early prototyping, or automated tests that don't want to share
any state with production). But for the common case — integrating, verifying end-to-end,
hardening your error handling — Test mode on a production key is the simpler path: one
account, one set of keys, one dashboard to watch.