API Endpoints

Complete reference for all available API endpoints

Experiences

Manage your bookable experiences, tours, and activities

GET
/experiences

List All Experiences

Retrieve a list of all experiences in your organization

Parameters

limit
number
Number of results (max 100)
offset
number
Pagination offset
curl -X GET "https://api.bookingscheduler.com/v1/experiences" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
GET
/experiences/{id}

Get Experience

Retrieve details of a specific experience

Parameters

id
string
Required
Experience ID
curl -X GET "https://api.bookingscheduler.com/v1/experiences/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
POST
/experiences

Create Experience

Create a new bookable experience

Parameters

name
string
Required
Experience name
description
string
Required
Detailed description
duration
number
Required
Duration in minutes
price
number
Required
Price in cents
maxParticipants
number
Required
Maximum participants
curl -X POST "https://api.bookingscheduler.com/v1/experiences" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "City Walking Tour",
    "description": "Explore the historic downtown",
    "duration": 120,
    "price": 4500,
    "maxParticipants": 15
  }'

Bookings

Create and manage customer bookings

GET
/bookings

List All Bookings

Retrieve bookings with optional filters

Parameters

experienceId
string
Filter by experience
status
string
Filter by status (CONFIRMED, PENDING, CANCELLED)
startDate
string
Filter by start date (ISO 8601)
endDate
string
Filter by end date (ISO 8601)
curl -X GET "https://api.bookingscheduler.com/v1/bookings" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
POST
/bookings

Create Booking

Create a new booking for an experience

Parameters

experienceId
string
Required
Experience ID
startTime
string
Required
Start time (ISO 8601)
participants
number
Required
Number of participants
customerName
string
Required
Customer name
customerEmail
string
Required
Customer email
curl -X POST "https://api.bookingscheduler.com/v1/bookings" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "experienceId": "exp_123",
    "startTime": "2024-02-15T14:00:00Z",
    "participants": 2,
    "customerName": "John Doe",
    "customerEmail": "[email protected]"
  }'
PATCH
/bookings/{id}/cancel

Cancel Booking

Cancel an existing booking

Parameters

id
string
Required
Booking ID
reason
string
Cancellation reason
curl -X PATCH "https://api.bookingscheduler.com/v1/bookings/{id}/cancel" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Organizations

Manage organization settings and team members

GET
/organization

Get Organization

Retrieve your organization details

curl -X GET "https://api.bookingscheduler.com/v1/organization" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
PATCH
/organization

Update Organization

Update organization settings

Parameters

name
string
Organization name
email
string
Contact email
phone
string
Phone number
timezone
string
Default timezone
curl -X PATCH "https://api.bookingscheduler.com/v1/organization" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Customers

Access and manage your customer database

GET
/customers

List Customers

Retrieve all customers with optional search

Parameters

search
string
Search by name or email
limit
number
Number of results
curl -X GET "https://api.bookingscheduler.com/v1/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
GET
/customers/{id}

Get Customer

Retrieve a specific customer with booking history

Parameters

id
string
Required
Customer ID
curl -X GET "https://api.bookingscheduler.com/v1/customers/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"