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

Classes

This API documentation provides a comprehensive guide for interacting with the class management system in Whautomate. This allows you to interact using API and sync classes between multiple systems.

PreviousAppointmentsNextWebhooks

Last updated 1 year ago

Here's a breakdown of the functionalities offered:

  • Search or Retrieve Classes (GET /v1/classes): This method allows you to find specific classes or retrieve a full list. You can optionally filter the results based on various criteria (e.g., date range, location, instructor).

  • Get Individual Class By Id (GET /v1/classes/{classId}): Use this method to retrieve detailed information about a particular class by providing its unique identifier.

  • Create a New Class (POST /v1/classes): This method enables you to create new classes by specifying details like date, time, location, instructor, service (type of class), and any other relevant information.

  • Update Class (PUT /v1/classes/{classId}): Modify details of an existing class using this method. You can update information like date, time, instructor, or other relevant attributes.

  • Delete Class By Id (DELETE /v1/classes/{classId}): This method allows you to permanently remove a class from the schedule.

  • Get Participants of a Class (GET /v1/classes/{classId}/participants): Retrieve a list of participants enrolled in a specific class by providing its unique identifier.

  • Add Participant to Class (POST /v1/classes/{classId}/participants/add): This method allows you to enroll participants in a specific class.

  • Remove Participant from Class (POST /v1/classes/{classId}/participants/cancel): Use this method to cancel a participant's enrollment from a specific class.

  • Get Class bookings of a Client (GET /v1/classes/clients/{clientId}/bookings): Use this method to get all the classes booked by a particular client using their Id.

By leveraging this API, you can streamline your class management process, ensuring a clear and organized class schedule along with efficient participant management.

Search or retrieve Classes

Get Individual Class By Id

Create a new Class

Update Class

Delete Class By Id

Get Participants of a Class

Add Participant to Class

Remove Participant from Class

Get Class Bookings of Particular Client

get
Query parameters
limitstringOptional
staffIdstringOptional
endDatestringOptional
locationIdstringOptional
pagestringOptional
startDatestringOptional
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
get
GET /v1/classes HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200

200 response

[
  {
    "id": "text",
    "location": {
      "id": "text",
      "title": "text"
    },
    "staff": {
      "id": "text",
      "name": "text"
    },
    "timezone": "text",
    "date": "2025-05-22",
    "time": "text",
    "startTimeUTC": "2025-05-22T23:37:29.399Z",
    "startTime": "2025-05-22T23:37:29.399Z",
    "endTimeUTC": "2025-05-22T23:37:29.399Z",
    "endTime": "2025-05-22T23:37:29.399Z",
    "service": {
      "id": "text",
      "name": "text",
      "durationMinutes": 1,
      "sellingPrice": 1
    },
    "bookedParticipants": 1,
    "numberOfParticipants": 1,
    "status": "text",
    "createdAt": "2025-05-22T23:37:29.399Z",
    "updatedAt": "2025-05-22T23:37:29.399Z"
  }
]
get
Path parameters
classIdstringRequired
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
get
GET /v1/classes/{classId} HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200

200 response

{
  "id": "text",
  "location": {
    "id": "text",
    "title": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "timezone": "text",
  "date": "2025-05-22",
  "time": "text",
  "startTimeUTC": "2025-05-22T23:37:29.399Z",
  "startTime": "2025-05-22T23:37:29.399Z",
  "endTimeUTC": "2025-05-22T23:37:29.399Z",
  "endTime": "2025-05-22T23:37:29.399Z",
  "service": {
    "id": "text",
    "name": "text",
    "durationMinutes": 1,
    "sellingPrice": 1
  },
  "bookedParticipants": 1,
  "numberOfParticipants": 1,
  "status": "text",
  "createdAt": "2025-05-22T23:37:29.399Z",
  "updatedAt": "2025-05-22T23:37:29.399Z"
}
delete
Path parameters
classIdstringRequired
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
delete
DELETE /v1/classes/{classId} HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200

200 response

{
  "success": true
}
get
Path parameters
classIdstringRequired
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
get
GET /v1/classes/{classId}/participants HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
200

200 response

[
  {
    "id": "text",
    "client": {
      "id": "text",
      "fullName": "text"
    },
    "paymentStatus": "text",
    "status": "text",
    "createdAt": "2025-05-22T23:37:29.399Z",
    "updatedAt": "2025-05-22T23:37:29.399Z"
  }
]
post
Header parameters
x-api-keystringRequired
Body
datestringRequired

Date of the class in YYYY-MM-DD format

timestringRequired

Time of the class

numberOfParticipantsintegerOptional

Number of participants in the class (optional)

timezonestringOptional

Timezone of the class (optional)

Responses
200
200 response
application/json
post
POST /v1/classes HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 223

{
  "location": {
    "id": "text",
    "title": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "date": "text",
  "time": "text",
  "service": {
    "id": "text",
    "name": "text",
    "durationMinutes": 1,
    "sellingPrice": 1
  },
  "numberOfParticipants": 1,
  "timezone": "text"
}
200

200 response

{
  "id": "text",
  "location": {
    "id": "text",
    "title": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "timezone": "text",
  "date": "2025-05-22",
  "time": "text",
  "startTimeUTC": "2025-05-22T23:37:29.399Z",
  "startTime": "2025-05-22T23:37:29.399Z",
  "endTimeUTC": "2025-05-22T23:37:29.399Z",
  "endTime": "2025-05-22T23:37:29.399Z",
  "service": {
    "id": "text",
    "name": "text",
    "durationMinutes": 1,
    "sellingPrice": 1
  },
  "bookedParticipants": 1,
  "numberOfParticipants": 1,
  "status": "text",
  "createdAt": "2025-05-22T23:37:29.399Z",
  "updatedAt": "2025-05-22T23:37:29.399Z"
}
put
Path parameters
classIdstringRequired
Header parameters
x-api-keystringRequired
Body
datestringRequired

Date of the class in YYYY-MM-DD format

timestringRequired

Time of the class

numberOfParticipantsintegerOptional

Number of participants in the class (optional)

timezonestringOptional

Timezone of the class (optional)

Responses
200
200 response
application/json
put
PUT /v1/classes/{classId} HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 223

{
  "location": {
    "id": "text",
    "title": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "date": "text",
  "time": "text",
  "service": {
    "id": "text",
    "name": "text",
    "durationMinutes": 1,
    "sellingPrice": 1
  },
  "numberOfParticipants": 1,
  "timezone": "text"
}
200

200 response

{
  "id": "text",
  "location": {
    "id": "text",
    "title": "text"
  },
  "staff": {
    "id": "text",
    "name": "text"
  },
  "timezone": "text",
  "date": "2025-05-22",
  "time": "text",
  "startTimeUTC": "2025-05-22T23:37:29.399Z",
  "startTime": "2025-05-22T23:37:29.399Z",
  "endTimeUTC": "2025-05-22T23:37:29.399Z",
  "endTime": "2025-05-22T23:37:29.399Z",
  "service": {
    "id": "text",
    "name": "text",
    "durationMinutes": 1,
    "sellingPrice": 1
  },
  "bookedParticipants": 1,
  "numberOfParticipants": 1,
  "status": "text",
  "createdAt": "2025-05-22T23:37:29.399Z",
  "updatedAt": "2025-05-22T23:37:29.399Z"
}
post
Path parameters
classIdstringRequired
Header parameters
x-api-keystringRequired
Body
statusstring · enumOptional

Client's booking status (optional)

Possible values:
Responses
200
200 response
application/json
post
POST /v1/classes/{classId}/participants/add HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 96

{
  "client": {
    "id": "text",
    "fullName": "text",
    "countryCode": "text",
    "phone": "text"
  },
  "status": "BOOKED"
}
200

200 response

{
  "id": "text",
  "client": {
    "id": "text",
    "fullName": "text"
  },
  "paymentStatus": "text",
  "status": "text",
  "createdAt": "2025-05-22T23:37:29.399Z",
  "updatedAt": "2025-05-22T23:37:29.399Z"
}
post
Path parameters
classIdstringRequired
Header parameters
x-api-keystringRequired
Body
participantIdstringRequired

Unique identifier for the participant

cancellationReasonstringOptional

Reason for cancellation provided by the participant (optional)

Responses
200
200 response
application/json
post
POST /v1/classes/{classId}/participants/cancel HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 52

{
  "participantId": "text",
  "cancellationReason": "text"
}
200

200 response

{
  "id": "text",
  "client": {
    "id": "text",
    "fullName": "text"
  },
  "paymentStatus": "text",
  "status": "text",
  "createdAt": "2025-05-22T23:37:29.399Z",
  "updatedAt": "2025-05-22T23:37:29.399Z"
}
  • Search or retrieve Classes
  • GET/v1/classes
  • Get Individual Class By Id
  • GET/v1/classes/{classId}
  • Create a new Class
  • POST/v1/classes
  • Update Class
  • PUT/v1/classes/{classId}
  • Delete Class By Id
  • DELETE/v1/classes/{classId}
  • Get Participants of a Class
  • GET/v1/classes/{classId}/participants
  • Add Participant to Class
  • POST/v1/classes/{classId}/participants/add
  • Remove Participant from Class
  • POST/v1/classes/{classId}/participants/cancel
  • Get Class Bookings of Particular Client
  • GET/v1/classes/clients/{clientId}/bookings
get
Authorizations
Path parameters
clientIdstringRequired
Query parameters
limitstringOptional
endDatestringOptional
locationIdstringOptional
pagestringOptional
startDatestringOptional
Header parameters
x-api-keystringRequired
Responses
200
200 response
application/json
get
200

200 response

GET /v1/classes/clients/{clientId}/bookings HTTP/1.1
Host: <YOUR HOST>
x-api-key: text
Accept: */*
[
  {
    "id": "text",
    "client": {
      "id": "text",
      "fullName": "text"
    },
    "paymentStatus": "text",
    "status": "text",
    "createdAt": "2025-05-22T23:37:29.399Z",
    "updatedAt": "2025-05-22T23:37:29.399Z",
    "class": {
      "id": "text",
      "location": {
        "id": "text",
        "title": "text"
      },
      "staff": {
        "id": "text",
        "name": "text"
      },
      "timezone": "text",
      "date": "2025-05-22",
      "time": "text",
      "startTimeUTC": "2025-05-22T23:37:29.399Z",
      "startTime": "2025-05-22T23:37:29.399Z",
      "endTimeUTC": "2025-05-22T23:37:29.399Z",
      "endTime": "2025-05-22T23:37:29.399Z",
      "service": {
        "id": "text",
        "name": "text",
        "durationMinutes": 1,
        "sellingPrice": 1
      },
      "bookedParticipants": 1,
      "numberOfParticipants": 1,
      "status": "text",
      "createdAt": "2025-05-22T23:37:29.399Z",
      "updatedAt": "2025-05-22T23:37:29.399Z"
    }
  }
]