List appointments
Reads the appointments of the Agenda tab for a date range, for the whole salon or one staff member.
GET https://cotlet.dev/api/v1/planity/appointments
read
Returns each appointment with its start and end, client, service, staff member and the status the agenda shows, ordered by start time. Appointments added online and by hand come back together, with a source field. Staff blocks (unavailabilities) are listed separately under blocks, so a free slot is never mistaken for a booking.
Parameters
| Name | Type | Description |
|---|---|---|
| date_from string required | string | First day, YYYY-MM-DD, in the salon's local time. |
| date_to string required | string | Last day, YYYY-MM-DD, included. |
| staff_id string | string | Only this staff member (id from list_staff). |
| client_id string | string | Only this client (id from list_clients). |
Request
curl "https://cotlet.dev/api/v1/planity/appointments?date_from=date+from&date_to=date+to" \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("planity", "list_appointments", {"date_from":"date from","date_to":"date to"}) const result = await cotlet.call('planity', 'list_appointments', {"date_from":"date from","date_to":"date to"}); cotlet call planity list_appointments --data '{"date_from":"date from","date_to":"date to"}' Example response
{
"date_from": "2026-10-26",
"date_to": "2026-10-26",
"appointments": [
{
"appointment_id": "a_9120",
"start": "2026-10-26T09:30:00",
"end": "2026-10-26T10:30:00",
"client": {
"client_id": "c_1042",
"name": "Léa Martin"
},
"service": "Coupe femme",
"staff": {
"staff_id": "st_01",
"name": "Amélie"
},
"status": "confirmed",
"source": "online"
},
{
"appointment_id": "a_9124",
"start": "2026-10-26T11:00:00",
"end": "2026-10-26T12:30:00",
"client": {
"client_id": "c_0877",
"name": "Noah Petit"
},
"service": "Couleur",
"staff": {
"staff_id": "st_03",
"name": "Inès"
},
"status": "confirmed",
"source": "salon"
}
],
"blocks": []
}