Sandbox

Build against a sample business with simulated payments, free of charge.

Every organization starts with a sandbox: a business with sample data that you can book into without touching a real customer. Test mode is free; see Pricing.

A sandbox is an ordinary business with sandbox: true and mode: test. Only test keys (shyni_sk_test_... and shyni_pk_test_...) act on it, and test keys act on nothing else. GET /me reports the mode:

{ "mode": "test" }

See Who am I for the full response.

What a sandbox holds

  • An English sample business named after your organization, with services, variants, a worker and a few upcoming orders. The sample follows the industry you chose: Automotive is an auto detailing, General is a dog grooming salon.
  • Simulated payments, so no card is charged.
  • Mails go to your organization's technical e-mail with [TEST] in the subject, never to the customer.

The first sandbox is created when you sign up. You create more with POST /businesses and a test key, up to 10 per organization (409 CONFLICT beyond that). A sandbox you no longer need is archived.

Reset and cleanup

POST /businesses/{id}/reset puts a sandbox back to its sample data and keeps its id. Orders in a sandbox older than 24 hours are deleted every night. A sandbox without any activity for 180 days is deleted.

What differs from a live business

  • Test keys cannot reach a live business, and live keys cannot reach a sandbox. The mismatch is 404 BUSINESS_NOT_FOUND.
  • A publishable test key accepts http://localhost as an origin when the sandbox lists localhost among its allowed websites: list localhost on the sandbox with PATCH /businesses/{id}. Live businesses accept https origins only.
  • Everything else, including scopes, rate limits and idempotency, behaves as in live mode.

Try it in the interactive guide

The interactive booking guide runs real requests with a publishable test key. By default they go to a shared demo studio, whose orders are deleted every night. To run them against your own sandbox, paste its publishable test key (shyni_pk_test_...) and the Business ID of the sandbox into the guide. Add the host of this docs site to the organization's Allowed websites (portal Settings), or to the sandbox's own list with allowedDomains on PATCH /businesses/{id}; the guide names the host when it is missing. The guide accepts only publishable test keys: secret and live keys are refused in the browser and never sent. Your key stays in the tab (session storage).

Writes to the public demo studio are refused with 403 DEMO_STUDIO and store nothing. Use a sandbox for write experiments.

Going live

Live mode is turned on once for the organization, by an owner or admin in the portal under Billing. You enter the invoice details and pay by card at GoPay; live keys work once the payment goes through. What it costs is on the Pricing page.

After that, create a live key in the portal under API keys and a live business with POST /businesses and that key. Your code does not change: only the key and the Shyni-Business id differ. Keep keys out of source control and load them from the environment.

On this page