Skip to main content
PATCH
/
experiences
/
{experience_id}
/
recurrences
/
{recurrence_id}
curl -X PATCH \
  -H "X-API-KEY: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "status": "paused" }' \
  "https://www.gomry.com/api/v1/experiences/AbCdEfGhIjKlMnOpQrSt/recurrences/rec_AbCdEfGh"
{
  "data": {
    "id": "rec_AbCdEfGh",
    "service_id": "AbCdEfGhIjKlMnOpQrSt",
    "status": "paused",
    "provider_id": "prov_xyz",
    "timezone": "America/New_York",
    "start_date": "2026-09-01",
    "cadence": { "frequency": "weekly", "interval": 1, "days_of_week": [1, 3] },
    "end_condition": { "type": "never" },
    "session_templates": [
      { "start_time_of_day": "09:00", "capacity": 12, "provider_id": "prov_xyz", "days_of_week": null }
    ],
    "created_at": "2026-05-25T10:00:00.000Z",
    "updated_at": "2026-05-25T11:30:00.000Z"
  }
}

Update Recurrence

Edits an existing schedule. Only the fields supplied in the body are written. Nested objects (cadence, end_condition, session_templates) are replaced wholesale when present — the recurrence rule is treated as a single versioned definition rather than a deep-merge target. Editing the rule retroactively updates every still-empty future slot. Sessions that already have bookings keep their snapshotted capacity/provider — attendees are never surprised by a silent change to something they’ve already booked. Requires the experiences:write scope.

Path Parameters

experience_id
string
required
Parent experience ID.
recurrence_id
string
required
Recurrence ID.

Request Body

At least one field is required. Unknown fields are rejected with 400.
provider_id
string
Default provider for this recurrence.
timezone
string
IANA timezone (e.g. America/New_York).
start_date
string
ISO-8601 datetime or YYYY-MM-DD.
cadence
object
Full cadence object — same shape as on create. Supplying this field replaces the entire previous cadence.
end_condition
object
Full end-condition object — replaces the previous one.
session_templates
array<object>
Full template list — replaces the previous one. Supplying an empty list is rejected.
status
enum
active or paused. Pause to keep the recurrence on file without producing new bookable slots.

Response

Returns the updated recurrence with the shape from Get Recurrence.
curl -X PATCH \
  -H "X-API-KEY: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "status": "paused" }' \
  "https://www.gomry.com/api/v1/experiences/AbCdEfGhIjKlMnOpQrSt/recurrences/rec_AbCdEfGh"
{
  "data": {
    "id": "rec_AbCdEfGh",
    "service_id": "AbCdEfGhIjKlMnOpQrSt",
    "status": "paused",
    "provider_id": "prov_xyz",
    "timezone": "America/New_York",
    "start_date": "2026-09-01",
    "cadence": { "frequency": "weekly", "interval": 1, "days_of_week": [1, 3] },
    "end_condition": { "type": "never" },
    "session_templates": [
      { "start_time_of_day": "09:00", "capacity": 12, "provider_id": "prov_xyz", "days_of_week": null }
    ],
    "created_at": "2026-05-25T10:00:00.000Z",
    "updated_at": "2026-05-25T11:30:00.000Z"
  }
}