The sandbox

account42 Sandbox is a real studio on the production system, switched to the sandbox environment: it is live, connected to Stripe in test mode, and seeded. Book there as a customer would. No real money moves.

What is there

Seeded every night (anything missing is recreated; anything you booked is cleared):

ItemDetail
Open Mat (free)Mon, Wed, Fri 18:00, free, 12 seats, 60 min
Drop-in FlowTue, Thu 19:00 and Sat 10:00, $10, 8 seats, 60 min
Small Group (2 seats)Sun 09:00, $10, 2 seats, 45 min — fills fast, so the waitlist can be seen
5-class pack$40 for 5 credits
Monthly unlimited$59 a month
Beginner bundle$30, a class bundle over the next four Open Mat instances
Policy12-hour cancellation window, texts on, reminders 24 hours before

Times are America/New_York; prices are USD.

Getting a key

A key for the sandbox is minted exactly as for any studio, through the connect handshake, with platform=html and the origin of the page you will embed on. There is no reviewer login to publish: the handshake is the door.

  1. Ask hello@account42.com for a sandbox key for your origin, naming the origin (https://your-site.example). We open the consent page as the sandbox's owner, press Allow, and send you the key. The key is publishable: it may sit in your page, and it works only from that origin.
  2. Or, if you have your own account42 studio, open the consent page yourself:
https://app.account42.com/connect?platform=html
    &origin=https://your-site.example
    &return=https://your-site.example/anywhere
    &state=anything-up-to-256-characters

After Allow, the browser lands on your return URL with ?a42_code=…. Exchange it within ten minutes, with no credential:

curl -X POST https://app.account42.com/api/v1/connect/exchange \
  -H 'Content-Type: application/json' \
  -d '{"code":"<the a42_code value>"}'

The answer is { "data": { "key": "a42pk_…", "merchant": { … } } }. Then:

<script src="https://app.account42.com/widget/v1/booking.js" defer></script>
<a42-booking key="a42pk_…"></a42-booking>

A secret key (a42_…, the whole v1 surface, server-to-server) is issued by account42 for a studio you own; ask at the same address.

Test cards

The sandbox's Stripe account is in test mode, so Stripe's test cards work and real cards are refused:

CardResult
4242 4242 4242 4242Succeeds
4000 0025 0000 3155Requires 3-D Secure authentication
4000 0000 0000 9995Declined, insufficient funds

Any future expiry, any CVC, any postal code. The full list is in Stripe's documentation under Testing.

The nightly reset

Every day at 05:00 UTC the sandbox is reset: every open waitlist entry is cleared, every open waitlist offer expired, every pending or confirmed booking canceled (seats released; nothing is promoted because no waiter is left), and day-old connect codes swept. The studio, its classes, packs, plans and class bundles stay. Keys minted for the sandbox stay valid; nothing about your integration changes overnight.

A sandbox studio also cannot be moved back to live once a payment exists on it (P0041 environment_locked), so it stays a sandbox.

What sends for real

The sandbox is on the production system, so its messages are real:

Use your own addresses and numbers. Do not book the sandbox with someone else's contact details.