Microsoft Graph Bookings API
The Microsoft Graph Bookings API enables programmatic management of Microsoft Bookings businesses, services, staff, customers, and appointments.
The Microsoft Graph Bookings API enables programmatic management of Microsoft Bookings businesses, services, staff, customers, and appointments.
openapi: 3.1.0
info:
title: Microsoft Bookings API (Microsoft Graph)
description: >-
Minimal OpenAPI definition for the Microsoft Bookings API exposed via
Microsoft Graph for managing booking businesses, services, staff members,
customers, custom questions, and appointments.
version: v1.0
x-generated-from: https://learn.microsoft.com/en-us/graph/api/resources/booking-api-overview
x-generated-by: claude-crawl-2026-05-08
servers:
- url: https://graph.microsoft.com/v1.0
description: Microsoft Graph v1.0
security:
- bearerAuth: []
tags:
- name: BookingBusinesses
- name: Services
- name: StaffMembers
- name: Customers
- name: Appointments
- name: CustomQuestions
- name: Currencies
paths:
/solutions/bookingBusinesses:
get:
tags: [BookingBusinesses]
summary: List bookingBusinesses
operationId: listBookingBusinesses
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
post:
tags: [BookingBusinesses]
summary: Create bookingBusiness
operationId: createBookingBusiness
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
/solutions/bookingBusinesses/{id}:
parameters:
- $ref: '#/components/parameters/BusinessId'
get:
tags: [BookingBusinesses]
summary: Get bookingBusiness
operationId: getBookingBusiness
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
patch:
tags: [BookingBusinesses]
summary: Update bookingBusiness
operationId: updateBookingBusiness
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'200':
description: OK
delete:
tags: [BookingBusinesses]
summary: Delete bookingBusiness
operationId: deleteBookingBusiness
responses:
'204':
description: No Content
/solutions/bookingBusinesses/{id}/publish:
parameters:
- $ref: '#/components/parameters/BusinessId'
post:
tags: [BookingBusinesses]
summary: Publish bookingBusiness
operationId: publishBookingBusiness
responses:
'204':
description: No Content
/solutions/bookingBusinesses/{id}/unpublish:
parameters:
- $ref: '#/components/parameters/BusinessId'
post:
tags: [BookingBusinesses]
summary: Unpublish bookingBusiness
operationId: unpublishBookingBusiness
responses:
'204':
description: No Content
/solutions/bookingBusinesses/{id}/services:
parameters:
- $ref: '#/components/parameters/BusinessId'
get:
tags: [Services]
summary: List services
operationId: listServices
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
post:
tags: [Services]
summary: Create service
operationId: createService
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'201':
description: Created
/solutions/bookingBusinesses/{id}/services/{serviceId}:
parameters:
- $ref: '#/components/parameters/BusinessId'
- in: path
name: serviceId
required: true
schema: { type: string }
get:
tags: [Services]
summary: Get service
operationId: getService
responses:
'200':
description: OK
patch:
tags: [Services]
summary: Update service
operationId: updateService
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'200':
description: OK
delete:
tags: [Services]
summary: Delete service
operationId: deleteService
responses:
'204':
description: No Content
/solutions/bookingBusinesses/{id}/staffMembers:
parameters:
- $ref: '#/components/parameters/BusinessId'
get:
tags: [StaffMembers]
summary: List staff members
operationId: listStaffMembers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
post:
tags: [StaffMembers]
summary: Create staff member
operationId: createStaffMember
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'201':
description: Created
/solutions/bookingBusinesses/{id}/customers:
parameters:
- $ref: '#/components/parameters/BusinessId'
get:
tags: [Customers]
summary: List customers
operationId: listCustomers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
post:
tags: [Customers]
summary: Create customer
operationId: createCustomer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'201':
description: Created
/solutions/bookingBusinesses/{id}/appointments:
parameters:
- $ref: '#/components/parameters/BusinessId'
get:
tags: [Appointments]
summary: List appointments
operationId: listAppointments
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
post:
tags: [Appointments]
summary: Create appointment
operationId: createAppointment
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'201':
description: Created
/solutions/bookingBusinesses/{id}/appointments/{appointmentId}/cancel:
parameters:
- $ref: '#/components/parameters/BusinessId'
- in: path
name: appointmentId
required: true
schema: { type: string }
post:
tags: [Appointments]
summary: Cancel appointment
operationId: cancelAppointment
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'204':
description: No Content
/solutions/bookingBusinesses/{id}/calendarView:
parameters:
- $ref: '#/components/parameters/BusinessId'
- in: query
name: start
schema: { type: string, format: date-time }
- in: query
name: end
schema: { type: string, format: date-time }
get:
tags: [Appointments]
summary: List bookings calendarView
operationId: listCalendarView
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
/solutions/bookingBusinesses/{id}/customQuestions:
parameters:
- $ref: '#/components/parameters/BusinessId'
get:
tags: [CustomQuestions]
summary: List custom questions
operationId: listCustomQuestions
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
post:
tags: [CustomQuestions]
summary: Create custom question
operationId: createCustomQuestion
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
responses:
'201':
description: Created
/solutions/bookingCurrencies:
get:
tags: [Currencies]
summary: List booking currencies
operationId: listBookingCurrencies
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
parameters:
BusinessId:
in: path
name: id
required: true
schema: { type: string }
schemas:
GenericObject:
type: object
additionalProperties: true
GenericList:
type: object
properties:
value:
type: array
items:
$ref: '#/components/schemas/GenericObject'
additionalProperties: true