Skip to content

Scheduler

6 endpoints

Scheduler experiences and booking callbacks

GET /scheduler/experiences

List scheduler experiences

Return all scheduler experiences configured for booking flows.

Parameters

This endpoint does not accept parameters.

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X GET "http://localhost:8080/scheduler/experiences"
                  
              
Example response 200

No example response available.


POST /scheduler/experiences

Create scheduler experience

Create a new scheduler experience pointing to your availability and booking callbacks.

Parameters

This endpoint does not accept parameters.

Request body

Required • application/json

Request body (application/json)

post-/scheduler/experiences-request-body-application/json

object<{ slug, name, description, … }>
Field Type Description Values
availability Optional object<{ timezone, openHours, overrides, … }>
availabilityEndpoint Optional object<{ url, method, headers, … }>
bookingEndpoint Optional object<{ url, method, headers, … }>
bookingForm Optional object<{ title, description, submitButtonLabel, … }>
defaultAccountIds Optional array<string>
unique items
description Optional string
isActive Optional boolean
metadata Optional object
name Required string
min length 1
routingEndpoint Optional object<{ url, method, headers, … }>
slug Required string
pattern ^[a-z0-9-]{3,64}$
timezone Optional string
ui Optional object<{ theme, layout, copy, … }>

Returns

Default Response

Content type: application/json

Status: 201

Example request
                
                    
                    curl -X POST "http://localhost:8080/scheduler/experiences" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 201

No example response available.


GET /scheduler/experiences/{slug}

Get scheduler experience

Fetch a single scheduler experience by slug.

Parameters

slug string

In path Required

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X GET "http://localhost:8080/scheduler/experiences/{slug}"
                  
              
Example response 200

No example response available.


PATCH /scheduler/experiences/{slug}

Update scheduler experience

Update configuration for an existing scheduler experience.

Parameters

slug string

In path Required

Request body

Optional • application/json

Request body (application/json)

patch-/scheduler/experiences/{slug}-request-body-application/json

object<{ name, description, timezone, … }>
Field Type Description Values
availability Optional
availabilityEndpoint Optional
bookingEndpoint Optional
bookingForm Optional
defaultAccountIds Optional
description Optional
isActive Optional boolean
metadata Optional
name Optional string
min length 1
routingEndpoint Optional
timezone Optional
ui Optional

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X PATCH "http://localhost:8080/scheduler/experiences/{slug}" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

No example response available.


POST /scheduler/experiences/{slug}/availability

Resolve availability via callback

Call the configured availability callback for a scheduler experience and return available slots.

Parameters

slug string

In path Required

Request body

Required • application/json

Request body (application/json)

post-/scheduler/experiences/{slug}/availability-request-body-application/json

object<{ range, durationMinutes, intervalMinutes, … }>
Field Type Description Values
attendees Optional array<object<{ id, email, displayName, … }>>
bookingFormResponse Optional object
constraints Optional object
durationMinutes Required number
≥ 5
intervalMinutes Optional number
≥ 5
metadata Optional object
range Required object<{ start, end, timezone }>
timezone Optional string

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/scheduler/experiences/{slug}/availability" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

No example response available.


POST /scheduler/experiences/{slug}/bookings

Create booking via callback

Call the configured booking callback for a scheduler experience to finalize a meeting.

Parameters

slug string

In path Required

Request body

Required • application/json

Request body (application/json)

post-/scheduler/experiences/{slug}/bookings-request-body-application/json

object<{ slot, guest, attendees, … }>
Field Type Description Values
attendees Optional array<object<{ id, email, displayName, … }>>
guest Required object<{ email, name, timezone, … }>
metadata Optional object
responses Optional object
slot Required

Returns

Default Response

Content type: application/json

Status: 201

Example request
                
                    
                    curl -X POST "http://localhost:8080/scheduler/experiences/{slug}/bookings" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 201

No example response available.