POST list_appointments
Appointments in a date range with customer, time, cleaners, price and paid flag.
read
Returns appointments between two dates, in date and time order. An appointment with nobody assigned has an empty cleaners list. Filter by payment status to find unpaid jobs, or search by customer name, cleaner name, street address or a custom field, as ZenMaid's List View does. Cancelled appointments are included only when you ask for them.
POST /api/v1/zenmaid/list_appointments
Input
| Parameter | Type | Description |
|---|---|---|
| from required | date | First day of the range. |
| to required | date | Last day of the range. |
| query | string | Customer name, cleaner name, street address or custom field value. |
| paid | enum | all, paid or unpaid. Default: all. |
| include_cancelled | boolean | Also return cancelled appointments. Default: false. |
| limit | integer | 1 to 100. Default: 50. |
| cursor | string | Next page cursor from the previous call. |
Example response
{
"appointments": [
{
"appointment_id": "a_993102",
"contact": "Sample Customer",
"date": "2026-10-16",
"start_time": "09:00",
"end_time": "12:00",
"cleaners": [],
"price": "180.00",
"paid": false
},
{
"appointment_id": "a_993140",
"contact": "Sample Household",
"date": "2026-10-16",
"start_time": "13:00",
"end_time": "15:00",
"cleaners": [
"Cleaner A"
],
"price": "120.00",
"paid": false
}
],
"next_cursor": null
}