Experiences
Create Experience
Create a new experience (recurring offering) in your organization
POST
Create Experience
Creates a new experience (recurring offering — yoga class, workshop, coaching slot, …) in your organization. Requires theexperiences:write scope.
Idempotency
Pass anIdempotency-Key header (max 255 chars) to make POST retries safe. The first request executes the create; subsequent requests with the same key within 24 hours replay the original response verbatim — including the original status code — and add an Idempotent-Replay: true response header. Keys are scoped per API key, so two integrations can use the same key value without collision.
Two concurrent requests with the same key return 409 idempotent_request_in_progress to the second caller.
Request Body
string
required
Experience name (max 120 chars).
integer
required
Length of one session in minutes (1..1440).
integer
required
Maximum attendees per session (1..10000).
object
required
object
required
string
Long-form description shown on the public booking page.
object
Defaults:
booking_window: { min_hours_before: 1, max_days_ahead: 60 } and cancellation_policy: { refundable_until_hours_before: 24 }.string[]
List of SpaceMember IDs running this experience. Strongly
recommended — supplying at least one provider triggers the
auto-default recurrence behavior described in the warning above. The
first ID in the array is used as the provider for the auto-default.
object
Optional. When supplied, a recurrence is created in the same request
and the auto-default is skipped. Same shape as the body of
Create Recurrence:
provider_id, timezone, start_date, cadence, end_condition,
session_templates, and optional status. See that endpoint for
field-level docs and validation rules.string
none, email, or email_and_phone. Defaults to email.integer
Upper bound on seats per single booking (1..50). Defaults to 5.
string
Space the experience belongs to. Defaults to
GENERAL (the organization-wide bucket).Response
Returns the created experience with201 Created. When no recurrence
could be attached (omitted default_recurrence and empty providers),
the response also carries recurrence_required: true plus a hint
string telling you how to fix it.
object
Same schema as Get Experience.
boolean
Present and
true only when the experience was created without a
recurrence. Omitted from the response otherwise. Until you attach a
recurrence, the experience will not show bookable slots.string
Present alongside
recurrence_required: true. Plain-English
instructions on how to make the experience bookable.