REST API Reference
All requests must be authenticated. Provide your API key as a Bearer token in the Authorization header, or as an x-api-key header.
Need an API Key?
You can generate one in the dashboard under Integrations & API > API & Webhooks. Don't have an account yet? Sign up for free.
Base URL
https://booking.pynath.com/api/v1
List Bookings
Retrieve a paginated list of all bookings. Returns the most recent bookings first.
GET/api/v1/bookings
Parameters
| Name | Type | Description |
|---|---|---|
page | number | The page number to retrieve. Defaults to 1. |
limit | number | Number of records per page. Defaults to 20. Max 100. |
status | string | Filter by booking status (e.g. 'confirmed', 'pending', 'cancelled'). |
source | string | Filter by booking source (e.g. 'widget', 'dashboard'). |
customerEmail | string | Filter by exact customer email. |
customerName | string | Search for a customer by partial name. |
serviceId | string | Filter by specific service UUID. |
curl -X GET https://booking.pynath.com/api/v1/bookings \
-H "Authorization: Bearer YOUR_API_KEY"Response
200 OK
{
data: [
{
id: "uuid",
serviceId: "uuid",
customerName: "John Doe",
startTime: "2026-07-20T10:00:00Z",
status: "confirmed"
}
],
metadata: {
total: 45,
page: 1,
limit: 20,
totalPages: 3
}
}Create a Booking
Programmatically create a new booking for a service. This automatically checks against your plan limits.
POST/api/v1/bookings
Body Parameters
| Name | Type | Description |
|---|---|---|
serviceIdRequired | string (uuid) | The ID of the service to book. |
startTimeRequired | string (datetime) | ISO 8601 formatted start time of the booking. |
endTimeRequired | string (datetime) | ISO 8601 formatted end time of the booking. |
customerNameRequired | string | Full name of the customer. |
customerEmailRequired | string | Email address of the customer. |
customerPhone | string | Phone number of the customer. |
notes | string | Any additional notes for the booking. |
curl -X POST https://booking.pynath.com/api/v1/bookings \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "serviceId": "uuid", "startTime": "2026-07-20T10:00:00Z", "endTime": "2026-07-20T11:00:00Z", "customerName": "John Doe", "customerEmail": "[email protected]", "customerPhone": "+1234567890", "notes": "First time client"}'Response
200 OK
{
id: "uuid",
status: "confirmed",
customerName: "John Doe"
}