Skip to main content
Yonne uses a single API host for both environments:
Your API key prefix is the only switch between them. Use yonne_test_ keys while building and yonne_live_ keys in production.

Side-by-side comparison


Test mode

Use test mode to build your integration, run your CI pipeline, and validate webhook handling — without touching your live wallet or dispatching real riders. 1. Validate your test key
2. Quote and create orders normally — the same payloads work in both environments. 3. Simulate status changes to test your webhook handler without waiting for a real delivery:

Live mode checklist

Before switching to yonne_live_, confirm each of these:
  • Merchant pickup address is set in the dashboard
  • Wallet has sufficient balance for expected order volume
  • Your integration sends Idempotency-Key on every create-order call
  • Your webhook receiver is live, reachable, and validates HMAC signatures
  • 402 Insufficient Funds and 422 ERR_NO_CAPACITY_AVAILABLE are handled separately in your error logic
  • Live and test keys are stored in separate environment variables

Common mistakes

Using a live key in development — your real wallet gets debited. Keep keys in .env files and never hardcode them. Treating test orders as real fulfillments — test mode validates your integration logic, not real courier operations. Do not assume a rider will be assigned. Wrong key for the environment — if you see order_not_found or unexpected wallet values, you’re likely querying an order that exists in one environment using a key from the other.