← All articles

WordPress Plugins

Bookly Credentials REST API Operations

Complete documentation for the Bookly Credentials REST API Operations plugin, including installation, authentication, and API endpoint reference.

Published January 15, 2024 · Updated October 14, 2025
booklyrest-apiwordpressappointments

Bookly Credentials REST API Operations

Overview

The Bookly Credentials REST API Operations plugin extends the Bookly booking system with comprehensive REST API endpoints for creating, reading, updating, and deleting customers, appointments, staff members, services, and more.

Installation

  1. Purchase the plugin from CodeCanyon
  2. Download the plugin ZIP file
  3. In WordPress admin, go to Plugins > Add New > Upload Plugin
  4. Upload the ZIP file and activate the plugin
  5. Navigate to Bookly > REST API Settings to configure

Authentication

The plugin uses API key authentication. Generate your API key in the plugin settings:

  1. Go to Bookly > REST API Settings
  2. Click Generate New API Key
  3. Copy the API key for use in your requests

Include the API key in all requests using the X-API-Key header:

X-API-Key: your-api-key-here

API Endpoints

Customers

Get All Customers

GET /wp-json/bookly/v1/customers

Get Customer by ID

GET /wp-json/bookly/v1/customers/{id}

Create Customer

POST /wp-json/bookly/v1/customers
Content-Type: application/json

{
  "full_name": "John Doe",
  "email": "john@example.com",
  "phone": "+1234567890"
}

Update Customer

PUT /wp-json/bookly/v1/customers/{id}
Content-Type: application/json

{
  "full_name": "John Smith",
  "email": "john.smith@example.com"
}

Delete Customer

DELETE /wp-json/bookly/v1/customers/{id}

Appointments

Get All Appointments

GET /wp-json/bookly/v1/appointments

Query parameters:

  • start_date: Filter by start date (YYYY-MM-DD)
  • end_date: Filter by end date (YYYY-MM-DD)
  • staff_id: Filter by staff member ID
  • service_id: Filter by service ID

Get Appointment by ID

GET /wp-json/bookly/v1/appointments/{id}

Create Appointment

POST /wp-json/bookly/v1/appointments
Content-Type: application/json

{
  "customer_id": 123,
  "staff_id": 456,
  "service_id": 789,
  "start_date": "2025-10-20 10:00:00",
  "end_date": "2025-10-20 11:00:00"
}

Update Appointment

PUT /wp-json/bookly/v1/appointments/{id}
Content-Type: application/json

{
  "start_date": "2025-10-20 14:00:00",
  "end_date": "2025-10-20 15:00:00"
}

Delete Appointment

DELETE /wp-json/bookly/v1/appointments/{id}

Staff

Get All Staff

GET /wp-json/bookly/v1/staff

Get Staff by ID

GET /wp-json/bookly/v1/staff/{id}

Create Staff

POST /wp-json/bookly/v1/staff
Content-Type: application/json

{
  "full_name": "Jane Doe",
  "email": "jane@example.com",
  "phone": "+1234567890"
}

Services

Get All Services

GET /wp-json/bookly/v1/services

Get Service by ID

GET /wp-json/bookly/v1/services/{id}

Custom Fields

Access custom fields through the appointments endpoint:

GET /wp-json/bookly/v1/appointments/{id}?include_custom_fields=true

Webhooks

Configure webhooks in Bookly > REST API Settings > Webhooks to receive real-time notifications:

  • New appointment created
  • Appointment updated
  • Appointment cancelled
  • Customer created
  • Customer updated

Error Handling

The API returns standard HTTP status codes:

  • 200: Success
  • 201: Created
  • 400: Bad Request
  • 401: Unauthorized (invalid API key)
  • 404: Not Found
  • 500: Internal Server Error

Error responses include a message:

{
  "error": "Invalid customer ID",
  "code": "invalid_id"
}

Rate Limiting

The API has a rate limit of 100 requests per minute per API key.

Support

For support, please: