← All articles

WordPress Plugins

Bookly Read REST API Plugin

Read-only REST API documentation for Bookly, perfect for safely displaying booking data in external applications.

Published April 12, 2024 · Updated October 14, 2025
booklyrest-apiwordpressread-onlyappointments

Bookly Read REST API Plugin

Overview

The Bookly Read REST API Plugin provides read-only access to Bookly booking data through REST API endpoints. Ideal for displaying booking information in mobile apps, dashboards, or reporting systems without modification risks.

Installation

  1. Ensure Bookly is installed and activated
  2. Purchase the Read API Plugin
  3. Install and activate
  4. Generate read-only API key in Bookly > Read API Settings

Key Features

  • Read-only access - No write operations allowed
  • Secure - Separate API keys from full-access credentials
  • Lightweight - Optimized for fast data retrieval
  • Safe - No risk of accidental data modification

Authentication

X-API-Key: your-read-only-api-key

Endpoints

Appointments

Get All Appointments

GET /wp-json/bookly-read/v1/appointments

Query parameters:

  • start_date: YYYY-MM-DD
  • end_date: YYYY-MM-DD
  • staff_id: Filter by staff member
  • service_id: Filter by service
  • status: pending, approved, cancelled

Get Appointment by ID

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

Response:

{
  "id": 123,
  "customer": {
    "id": 456,
    "name": "John Doe",
    "email": "john@example.com",
    "phone": "+1234567890"
  },
  "staff": {
    "id": 789,
    "name": "Jane Smith"
  },
  "service": {
    "id": 101,
    "name": "Consultation",
    "duration": 60,
    "price": "50.00"
  },
  "start_date": "2025-10-20 10:00:00",
  "end_date": "2025-10-20 11:00:00",
  "status": "approved"
}

Customers

Get All Customers

GET /wp-json/bookly-read/v1/customers

Get Customer by ID

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

Staff

Get All Staff Members

GET /wp-json/bookly-read/v1/staff

Get Staff by ID

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

Includes:

  • Staff information
  • Available services
  • Working hours
  • Attached categories

Services

Get All Services

GET /wp-json/bookly-read/v1/services

Get Service by ID

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

Statistics

Get Booking Statistics

GET /wp-json/bookly-read/v1/stats

Query parameters:

  • start_date: YYYY-MM-DD
  • end_date: YYYY-MM-DD

Returns:

{
  "total_appointments": 150,
  "pending": 10,
  "approved": 130,
  "cancelled": 10,
  "revenue": "7500.00",
  "period": {
    "start": "2025-10-01",
    "end": "2025-10-31"
  }
}

Pagination

All list endpoints support pagination:

GET /wp-json/bookly-read/v1/appointments?page=2&per_page=20

Response headers include:

  • X-Total-Count: Total number of items
  • X-Total-Pages: Total number of pages

Response Format

All successful responses return JSON:

{
  "success": true,
  "data": {...}
}

Errors:

{
  "success": false,
  "error": "Invalid appointment ID",
  "code": "invalid_id"
}

Use Cases

Display Appointments in Mobile App

Fetch upcoming appointments for display in a mobile application without granting write access.

Booking Dashboard

Create custom dashboards showing booking statistics and trends.

Reporting Systems

Integrate Bookly data into business intelligence tools for reporting.

Client Portals

Display customer appointment history in client portals.

Rate Limiting

  • 200 requests per minute per API key
  • Higher limits available upon request

Security

  • Read-only access prevents data modification
  • Separate API keys from full-access credentials
  • All connections must use HTTPS
  • API keys can be regenerated anytime

Support

Need help or want to suggest features?