Developer Docs

API Reference (OpenAPI 3.1)

The Slotstack Widget API spec is available as a machine-readable OpenAPI 3.1 JSON document. Import it into Swagger UI, Stoplight, Postman, or any compatible tool.

23 routes across 7 categories

Auth2

Passwordless email-code login

Schedule5

Classes, slots, spaces, instructors, tenant info

Booking4

Group class checkout and booking management

Private Lessons4

Private lesson availability, checkout, and series

Passes3

Class pass templates, purchase, and user passes

Gift Cards2

Gift card purchase and balance checking

Subscriptions3

Plans, subscribe, and user subscription

API Conventions

Base path
/api/v1
Tenant identification
Every request requires a ?tenant=slug query parameter.
Authentication
Protected routes (my-bookings, my-passes, my-subscription) require a Authorization: Bearer <access_token> header. Obtain tokens via /auth/verify-code.
Currency
All monetary amounts are integers in the smallest currency unit (pence, cents). The currency code is returned by tenant settings.
Dates and times
Dates as YYYY-MM-DD, times as HH:MM.
Error format
{ "error": "string", "details"?: object }
Pagination
Paginated endpoints accept page and limit query parameters and return total, page, limit in the response body.

Widget Embed Quickstart

Drop a single script tag into any website (Wix, Squarespace, custom HTML) to render the Slotstack booking widget. No build step required.

<!-- 1. Load the widget script -->
<script
  type="module"
  src="https://slotstack.io/widget/v1/slotstack-widget.mjs"
></script>

<!-- 2. Place the booking widget -->
<slotstack-booking tenant="your-tenant-slug"></slotstack-booking>

Available widget elements

ElementDescription
<slotstack-booking>Full booking calendar and checkout flow
<slotstack-my-bookings>Authenticated user's upcoming and past bookings
<slotstack-class-passes>Class pass purchase and management
<slotstack-gift-cards>Gift card purchase form
<slotstack-shop>Combined storefront (passes, gift cards, subscriptions)
<slotstack-private-lessons>Private lesson booking with instructor selection
<slotstack-calendar>Read-only schedule calendar view
All widget elements require the tenant attribute set to the tenant slug. <slotstack-private-lessons> also accepts a class-id attribute (UUID of the private lesson type).