Guides · Reference

Sandbox

POST /sandbox with a signed-in user session (the Chale Business app, or a token from POST /auth/firebase) creates your own test business: the reference party-rentals catalogue (3 units, 2 extras, 2 delivery areas around Tema, Mon–Sat hours, a GHS 200 deposit policy, a pin), you as OWNER, and one API key with every scope except webhooks:manage — shown once:

{ "data": { "business": { "id": "ck…", "name": "Ama's sandbox", "sandbox": true, … }, "key": "chk_test_…" } }

Call it again and you get the same business back (200, no key — mint more from /api-keys). A sandbox is a normal business for every route, with three differences: payments always go through the payments simulator (a payment link opens a page where you press Pay or Fail; the webhook, receipts and booking confirmation are the real code path), it is never listed in the customer app (listingVisibility cannot become PUBLIC), and it never bills.

DELETE /sandbox resets it: bookings, customers and payments are wiped and the catalogue re-seeded; your keys and webhook endpoints stay.

WhatsApp: until the WhatsApp launch, the sandbox's receptionist is the assistant simulator (POST /simulator/inbound on the assistant service) — see the RUNBOOK for registering a tenant.