Sign up at the partner form below or email api@boater.os with your company name and integration. We usually provision within two business hours.
Every sandbox is identical on provision. IDs are stable — write your tests against hull_sdx_0001 and they'll keep working forever.
Mix of new, brokerage, and sold. Photos, specs, HINs, pricing.
Phones, emails, consent records. SMS-opted-in and not.
Spread across opened, offer_sent, accepted, funded, cancelled.
Open, parts-ordered, waiting-approval, and completed states.
Live on fake Boat Trader + YachtWorld endpoints.
Roles: owner, sales, F&I, service, admin, read-only.
The base seed is enough for most integration work. For load tests or batch scenarios, the generator endpoints mint additional leads, deals, and payments in bulk. Use them, throw them away.
# Spin up 5,000 synthetic leads for a load test curl -X POST https://sandbox.api.boater.os/v1/sandbox/generate \ -H "Authorization: Bearer $BOATEROS_SANDBOX_KEY" \ -d '{"resource":"leads","count":5000,"sms_opt_in_rate":0.6}' # Available resources: leads, deals, payments, service_orders, listings
Wipes every resource and re-seeds to the base state. Useful between test suites.
Point sandbox webhooks at this URL to see exactly what we'd send your endpoint.
Every sandbox is wired to Stripe test mode. Use the standard Stripe test cards — 4242 succeeds, 4000000000000002 declines, 4000002500003155 triggers 3DS. Test Terminal readers work too.
curl -X POST https://sandbox.api.boater.os/v1/payments \ -H "Authorization: Bearer sk_test_..." \ -d '{"deal_id":"dl_sdx_0004","amount_usd":5000,"card":"4242424242424242"}'
When your integration is behaving in sandbox, here's the order to flip things on in production. Do not skip step three.
Provisioned in under two hours. No credit card. No expiration. No sales call required.