Skip to main content
POST

Create Recurrence

Attaches a schedule to an existing experience. The experience template itself must already exist (create it first via Create Experience). The recurrence defines a cadence (how often), an end condition (when to stop), and one or more session templates (what time each day, with what capacity and provider). Once an active recurrence exists, the public booking page expands its rules on-the-fly into the date/time grid — no separate “publish slots” step is required. Requires the experiences:write scope.

Idempotency

Pass an Idempotency-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.

Path Parameters

string
required
Parent experience ID. Must belong to the API key’s organization.

Request Body

string
required
Default provider (SpaceMember) for this recurrence. Used by session templates that don’t specify their own provider_id.
string
required
IANA timezone the schedule is anchored to (e.g. America/New_York). Session start times are interpreted in this zone.
string
required
First date the recurrence is active. Accepts an ISO-8601 datetime or a YYYY-MM-DD date string.
object
required
object
required
Discriminated union, one of:
array<object>
required
At least one template, up to 336. Each template materializes into one session per occurrence date.Two templates can share a start_time_of_day only if their days_of_week are disjoint.
enum
active or paused. Defaults to active.

Response

Returns the created recurrence with 201 Created.
object
Same schema as Get Recurrence.