Whautomate Help
Visit our websitePricingRequest DemoRoadmap
  • 👋Welcome to Whautomate
  • Overview
    • 💡What we do
    • ✨Our Features
  • Fundamentals
    • 🛠️Getting Started
      • Customer Service
      • Marketing
      • Sales
      • E-Commerce
      • Appointments
      • Classes & Subscriptions
    • 🎯Onboarding Checklist
      • Appointments
      • Classes
      • E-Commerce
      • Customer Service
  • Product Guides
    • Communication
      • Connect a Communication Channel
      • Omni Channel Team Inbox
      • Contacts
      • Segmentation & Broadcasts
      • Email/SMS Sender Configuration
      • Marketing opt-out Management
      • ⚡Canned Responses
      • ⭐CSAT Score
    • Automation
      • Triggers
        • Incoming WhatsApp Messages
        • Outgoing WhatsApp Messages
        • Appointment Updates
        • Happy Birthday Automation
        • Client Anniversary Automation
        • When a Client is created
        • When a Client is added to a Tag
        • When a Client is removed from a Tag
        • When a Contact is created
        • When a Contact is added to a Tag
        • When a Contact is removed from a Tag
        • When a Contact Status Changes
        • When a Client Completes a Form
        • When a Client is assigned a Form
        • When someone Completes an anonymous Form
        • Subscription Updates
        • Order Updates
        • Invoice Updates
        • Credits Usage Updates
        • Class Participant Updates
        • Incoming Messenger Messages
        • Outgoing Messenger Messages
        • Incoming Instagram Messages
        • Outgoing Instagram Messages
        • Incoming Telegram Messages
        • Outgoing Telegram Messages
        • Incoming Website Messages
        • Outgoing Website Messages
        • Shopify - Abandoned Cart
        • Shopify - Order Created
        • Shopify - Order Fulfilled
        • Shopify - Order Cancelled
        • WooCommerce - Abandoned Cart
        • WooCommerce - Order Status Changes
      • Setup WhatsApp Chatbot
      • WhatsApp AI Chatbot - Customer Service
      • Telegram AI Chatbot - Customer Service
      • Chatbot Demos
      • WhatsApp Drip Campaign
      • Birthday Wishes Campaign
      • Automate Reviews & Surveys
    • Invoice & Payment links
      • Setup Payment Gateway
      • Update Business Settings
      • Invoice & Payments
      • Invoice Statements
      • Send Invoice PDF - Personalize WhatsApp, Email and SMS template
      • Invoice Request Payment - Personalize WhatsApp, Email and SMS template
    • E-Commerce
      • Setup WhatsApp Catalog
        • Add Items - Manual
        • Add Items - Data Feed
        • Add Items - Connect Partner Platform
      • Manage Inventory & Link WhatsApp Catalog
      • WhatsApp E-Commerce Chatbot
      • Automate Order Updates
      • Automate Order Reviews & Surveys
    • Appointments
      • Setup Team Member Profile
      • Setup Services
      • Book Appointments - Admin
      • Setup Whatsapp Flow Appointment Chatbot
      • Setup Appointment Chatbot
      • Setup Appointment Notifications
      • Setup Appointment Notifications for Staffs
      • Setup Bulk Appointment Notifications
      • Setup Booking Portal
      • Sync Appointments with External Calendars
      • Bulk Import Services
      • Setup Virtual/Online Session Services
      • Setup Virtual/Online Session Notifications
    • Plans & Subscriptions
      • Setup Plans
      • Setup Subscriptions
    • Class Bookings
      • Bulk Import Classes
      • Setup Classes
      • Setup Class Batches
      • Setup Class Notifications
      • Setup Bulk Class Notifications for Participants
      • Setup Class Booking Chatbot
      • Setup Whatsapp Flow Class Booking Chatbot
      • Setup Class Booking Portal
    • Forms
      • Request Form - Personalize WhatsApp, Email and SMS template
      • Personalize Your Form Response PDFs: Template Editor
      • Form Automations
      • Payment Forms
    • Coupons
    • Loyalty Program
      • Automate Loyalty Program Notifications via WhatsApp
    • Integrations
      • WhatsApp Cloud API
        • WhatsApp Payment Method
        • Meta Business Verification
        • WhatsApp Profile
        • WhatsApp Compliance Info
        • WhatsApp Commerce Settings
        • WhatsApp Message Templates
        • Linking WhatsApp Number (WABA) to Your Facebook Page
        • How to Add WhatsApp Button to Your Instagram Account
        • Setup Click-to-WhatsApp Ads (CTWA)
      • Instagram
      • Facebook Messenger
      • Telegram
      • Livechat
      • OpenAI
      • Stripe
      • Razorpay
      • Shopify
        • Shopify Automations
      • WooCommerce
        • Woocommerce Automations
      • Rest API
      • MyFatoorah
      • Zoom
      • Webhooks
        • Clients
        • Contacts
        • Messages
        • Appointments
        • Classes
        • Invoice Updates
      • Zapier
    • Client CRM
      • Bulk Import Clients
      • Client Details
      • Client Notes
      • Client Documents
      • Client Letters
      • Client Forms
    • WhatsApp Chat Widget
    • Whautomate Rest API
      • Client Tags
      • Clients
      • Contact Tags
      • Contacts
      • Locations
      • Staffs
      • Segments
      • Broadcasts
      • Messages
      • Service Categories
      • Services
      • Appointments
      • Classes
      • Webhooks
      • Whautomate REST API Error Messages
    • Whautomate FAQs
      • My WhatsApp Template Message Failing to Send to Some Users?
      • How to Check My WhatsApp Quality Rating and Messaging Limits?
      • How to Install the Whautomate Progressive Web Application?
      • Why Does My Whautomate Account Frequently Log Out?
      • How to Get the WhatsApp Green Tick in 3 Easy Steps
      • Essential Tips to Avoid WhatsApp Business Account/API Restrictions & Bans
      • How to Check Undeliverable or Failed WhatsApp Contacts in Whautomate
      • How to Delete Your WhatsApp Business API Number?
  • Account Management
    • Manage Subscription
      • Choose Your Plan
      • Upgrade Subscription
      • Whautomate Add-ons
      • Update Payment Method
      • Subscription Cancelations
    • Account Settings
    • Team Members Management
      • Invite, Activate or De-activate Members
      • Roles and Permissions
    • Forgot Password
    • Reset Password
    • Two Factor Authentication
  • WhatsApp Pricing
    • WhatsApp pricing Calculator - USD
    • WhatsApp pricing Calculator - INR
    • WhatsApp Pricing Calculator - EUR
Powered by GitBook
On this page
  1. Product Guides
  2. Whautomate Rest API

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

PreviousServicesNextClasses

Last updated 1 year ago

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

Search or Retrieve Appointments

Get Individual Appointment By Id

Book Appointment

Reschedule Appointment

Cancel Appointment

get
Query parameters
timezonestringOptional
staffIdstringOptional
datestringOptional
locationIdstringOptional
nextThreeDaysstringOptional
serviceIdstringOptional
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
get
GET /v1/appointments/slots HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200

200 response

[
  {
    "date": "2025-05-12T01:37:31.516Z",
    "timezone": "text",
    "slots": [
      {
        "startTime": "text",
        "endTime": "text"
      }
    ]
  }
]
get
Query parameters
limitstringOptional
staffIdstringOptional
clientIdstringOptional
endDatestringOptional
locationIdstringOptional
pagestringOptional
startDatestringOptional
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
get
GET /v1/appointments HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200

200 response

[
  {
    "id": "text",
    "location": {
      "id": "text",
      "title": "text"
    },
    "client": {
      "id": "text",
      "fullName": "text"
    },
    "staff": {
      "id": "text",
      "name": "text"
    },
    "date": "2025-05-12",
    "time": "text",
    "timezone": "text",
    "startTimeUTC": "2025-05-12T01:37:31.516Z",
    "startTime": "2025-05-12T01:37:31.516Z",
    "endTimeUTC": "2025-05-12T01:37:31.516Z",
    "endTime": "2025-05-12T01:37:31.516Z",
    "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
Path parameters
appointmentIdstringRequired
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
get
GET /v1/appointments/{appointmentId} HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200

200 response

{
  "id": "text",
  "location": {
    "id": "text",
    "title": "text"
  },
  "client": {
    "id": "text",
    "fullName": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "date": "2025-05-12",
  "time": "text",
  "timezone": "text",
  "startTimeUTC": "2025-05-12T01:37:31.516Z",
  "startTime": "2025-05-12T01:37:31.516Z",
  "endTimeUTC": "2025-05-12T01:37:31.516Z",
  "endTime": "2025-05-12T01:37:31.516Z",
  "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"
}
  • Generate available Slots
  • GET/v1/appointments/slots
  • Search or Retrieve Appointments
  • GET/v1/appointments
  • Get Individual Appointment By Id
  • GET/v1/appointments/{appointmentId}
  • Book Appointment
  • POST/v1/appointments
  • Reschedule Appointment
  • POST/v1/appointments/reschedule
  • Cancel Appointment
  • POST/v1/appointments/cancel
post
Header parameters
x-api-keystringRequired
Body
datestring · dateRequired
timestringRequired
overrideTimeSlotValidationbooleanOptional
timezonestringOptional
notesstringOptional
Responses
200
200 response
application/json
post
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-05-12",
  "time": "text",
  "overrideTimeSlotValidation": true,
  "staff": {
    "id": "text"
  },
  "timezone": "text",
  "notes": "text",
  "addOnServices": [
    {
      "id": "text"
    }
  ]
}
200

200 response

{
  "id": "text",
  "location": {
    "id": "text",
    "title": "text"
  },
  "client": {
    "id": "text",
    "fullName": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "date": "2025-05-12",
  "time": "text",
  "timezone": "text",
  "startTimeUTC": "2025-05-12T01:37:31.516Z",
  "startTime": "2025-05-12T01:37:31.516Z",
  "endTimeUTC": "2025-05-12T01:37:31.516Z",
  "endTime": "2025-05-12T01:37:31.516Z",
  "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"
}
post
Header parameters
x-api-keystringRequired
Body
appointmentIdstringRequired
datestring · dateRequired
timestringRequired
timezonestringOptional
Responses
200
200 response
application/json
post
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-05-12",
  "time": "text",
  "timezone": "text"
}
200

200 response

{
  "id": "text",
  "location": {
    "id": "text",
    "title": "text"
  },
  "client": {
    "id": "text",
    "fullName": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "date": "2025-05-12",
  "time": "text",
  "timezone": "text",
  "startTimeUTC": "2025-05-12T01:37:31.516Z",
  "startTime": "2025-05-12T01:37:31.516Z",
  "endTimeUTC": "2025-05-12T01:37:31.516Z",
  "endTime": "2025-05-12T01:37:31.516Z",
  "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"
}
post
Header parameters
x-api-keystringRequired
Body
appointmentIdstringRequired
cancellationReasonstringOptional
Responses
200
200 response
application/json
Responseobject · EmptySchema
post
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

200 response

{}