Skip to content

Event Settings & Configuration

Additional event configuration endpoints for managing event details, limits, and advanced settings.

NOTE

The Update Event Details and Update Event Limits endpoints are also documented in Calendar Events with full request body specifications.

Update Event Details

Update descriptive fields, location data, and presentation settings for an event.

Endpoint

http
POST /calendars/{id}/events/{event_id}/details

URL Parameters

ParameterTypeRequiredDescription
idintegerYesThe calendar ID
event_idintegerYesThe event ID

Request Body

ParameterTypeRequiredDescription
titlestringYesEvent title
durationintegerYesDuration in minutes
statusstringYesactive or draft
descriptionstringNoEvent description (HTML allowed, sanitized server-side)
color_schemastringNoColor hex code
location_settingsarrayConditionalLocation configuration (same format as Create Event)
max_book_per_slotintegerConditionalRequired for group events
is_display_spotsbooleanConditionalRequired for group events
multi_duration.enabledbooleanNoEnable multiple duration options
multi_duration.default_durationintegerConditionalRequired if multi_duration.enabled is true
multi_duration.available_durationsarrayConditionalRequired if multi_duration.enabled is true

Response

json
{
    "message": "Data has been updated",
    "event": {
        "id": 15,
        "...": "Updated event fields"
    }
}

Update Event Limits

Configure booking limits, buffers, and frequency controls.

Endpoint

http
POST /calendars/{id}/events/{event_id}/limits

URL Parameters

ParameterTypeRequiredDescription
idintegerYesThe calendar ID
event_idintegerYesThe event ID

Request Body

Send a settings object with the following keys:

ParameterTypeRequiredDescription
settings.schedule_conditionsarrayNoLead time, cancellation windows, and related limits
settings.buffer_time_beforestringNoMinutes before each slot (default: "0")
settings.buffer_time_afterstringNoMinutes after each slot (default: "0")
settings.slot_intervalstringNoOverride interval between slots
settings.booking_frequency.enabledbooleanNoToggle booking frequency limits
settings.booking_frequency.limitsarrayConditionalFrequency limits when enabled
settings.booking_duration.enabledbooleanNoToggle maximum cumulative duration
settings.booking_duration.limitsarrayConditionalDuration limits when enabled
settings.lock_timezone.enabledbooleanNoPrevent attendees from changing timezone
settings.lock_timezone.timezonestringConditionalRequired when lock timezone is enabled

Example Request

json
{
    "settings": {
        "schedule_conditions": {
            "value": 4,
            "unit": "hours"
        },
        "buffer_time_before": "10",
        "buffer_time_after": "5",
        "slot_interval": "15",
        "booking_frequency": {
            "enabled": true,
            "limits": [
                {
                    "unit": "per_day",
                    "value": 5
                },
                {
                    "unit": "per_week",
                    "value": 10
                }
            ]
        },
        "booking_duration": {
            "enabled": true,
            "limits": [
                {
                    "unit": "per_day",
                    "value": 120
                }
            ]
        },
        "lock_timezone": {
            "enabled": false,
            "timezone": ""
        }
    }
}

Limit Units

UnitDescription
per_dayPer calendar day
per_weekPer week
per_monthPer month

Response

json
{
    "message": "Data has been updated",
    "event": {
        "id": 15,
        "settings": {
            "buffer_time_before": "10",
            "buffer_time_after": "5",
            "...": "Updated limit settings"
        }
    }
}

Save Event Order

Reorder events within a calendar.

Endpoint

http
POST /calendars/{id}/event-order

URL Parameters

ParameterTypeRequiredDescription
idintegerYesThe calendar ID

Request Body

ParameterTypeRequiredDescription
event_orderarrayYesArray of event IDs in desired order

Example Request

json
{
    "event_order": [5, 2, 1, 3]
}

Response

json
{
    "calendar": {
        "id": 1,
        "...": "Calendar object"
    },
    "message": "Event order has been updated"
}