Appointments
This API documentation serves as your guide to interacting with the appointment management system within Whautomate. It allows you to sync appointments between multiple systems
The API offers a variety of functionalities through the following methods:
Generate Available Slots:
This method retrieves information about available appointment slots within a specific timeframe.
Search or Retrieve Appointments:
This method allows you to search for existing appointments based on various criteria (e.g., date range, participant, service or staff). You can also retrieve a list of all appointments.
Get Individual Appointment By Id:
This method retrieves detailed information about a specific appointment by providing its unique identifier.
Book Appointment:
This method allows you to create a new appointment by specifying details like date, time, service, and participants.
Reschedule Appointment:
This method enables you to reschedule an existing appointment, potentially modifying date, time, or other relevant details.
Cancel Appointment:
This method allows you to cancel an existing appointment, removing it from the schedule.
By leveraging this API, you can streamline the appointment management process, ensuring efficient scheduling and access to appointment information.
Generate available Slots
GET /v1/appointments/slots HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200 response
[
{
"date": "2025-06-21T15:07:39.751Z",
"timezone": "text",
"slots": [
{
"startTime": "text",
"endTime": "text"
}
]
}
]
Search or Retrieve Appointments
GET /v1/appointments HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200 response
[
{
"id": "text",
"location": {
"id": "text",
"title": "text"
},
"client": {
"id": "text",
"fullName": "text"
},
"staff": {
"id": "text",
"name": "text"
},
"date": "2025-06-21",
"time": "text",
"timezone": "text",
"startTimeUTC": "2025-06-21T15:07:39.751Z",
"startTime": "2025-06-21T15:07:39.751Z",
"endTimeUTC": "2025-06-21T15:07:39.751Z",
"endTime": "2025-06-21T15:07:39.751Z",
"service": {
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
},
"addOnServices": [
{
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
}
],
"bookedFrom": "text",
"status": "text",
"appointmentType": "text",
"paymentStatus": "text"
}
]
Get Individual Appointment By Id
GET /v1/appointments/{appointmentId} HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200 response
{
"id": "text",
"location": {
"id": "text",
"title": "text"
},
"client": {
"id": "text",
"fullName": "text"
},
"staff": {
"id": "text",
"name": "text"
},
"date": "2025-06-21",
"time": "text",
"timezone": "text",
"startTimeUTC": "2025-06-21T15:07:39.751Z",
"startTime": "2025-06-21T15:07:39.751Z",
"endTimeUTC": "2025-06-21T15:07:39.751Z",
"endTime": "2025-06-21T15:07:39.751Z",
"service": {
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
},
"addOnServices": [
{
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
}
],
"bookedFrom": "text",
"status": "text",
"appointmentType": "text",
"paymentStatus": "text"
}
Book Appointment
POST /v1/appointments HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 282
{
"client": {
"id": "text",
"fullName": "text",
"countryCode": "text",
"phone": "text"
},
"location": {
"id": "text"
},
"service": {
"id": "text"
},
"date": "2025-06-21",
"time": "text",
"overrideTimeSlotValidation": true,
"staff": {
"id": "text"
},
"timezone": "text",
"notes": "text",
"addOnServices": [
{
"id": "text"
}
]
}
200 response
{
"id": "text",
"location": {
"id": "text",
"title": "text"
},
"client": {
"id": "text",
"fullName": "text"
},
"staff": {
"id": "text",
"name": "text"
},
"date": "2025-06-21",
"time": "text",
"timezone": "text",
"startTimeUTC": "2025-06-21T15:07:39.751Z",
"startTime": "2025-06-21T15:07:39.751Z",
"endTimeUTC": "2025-06-21T15:07:39.751Z",
"endTime": "2025-06-21T15:07:39.751Z",
"service": {
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
},
"addOnServices": [
{
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
}
],
"bookedFrom": "text",
"status": "text",
"appointmentType": "text",
"paymentStatus": "text"
}
Reschedule Appointment
POST /v1/appointments/reschedule HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 101
{
"appointmentId": "text",
"location": {
"id": "text"
},
"date": "2025-06-21",
"time": "text",
"timezone": "text"
}
200 response
{
"id": "text",
"location": {
"id": "text",
"title": "text"
},
"client": {
"id": "text",
"fullName": "text"
},
"staff": {
"id": "text",
"name": "text"
},
"date": "2025-06-21",
"time": "text",
"timezone": "text",
"startTimeUTC": "2025-06-21T15:07:39.751Z",
"startTime": "2025-06-21T15:07:39.751Z",
"endTimeUTC": "2025-06-21T15:07:39.751Z",
"endTime": "2025-06-21T15:07:39.751Z",
"service": {
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
},
"addOnServices": [
{
"id": "text",
"name": "text",
"durationMinutes": 1,
"sellingPrice": 1
}
],
"bookedFrom": "text",
"status": "text",
"appointmentType": "text",
"paymentStatus": "text"
}
Cancel Appointment
POST /v1/appointments/cancel HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 77
{
"appointmentId": "text",
"location": {
"id": "text"
},
"cancellationReason": "text"
}
200 response
{}
Last updated