Add appointment
Adds an appointment to the agenda the way you do for a client who books by phone.
POST https://cotlet.dev/api/v1/planity/services/{service_id}/appointments
write Confirm
Returns the new appointment as the agenda shows it. The end time follows the duration of the service. The help article on adding an appointment does not say whether Planity notifies the client, so the agent reports what Planity shows after saving. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| service_id string required | string | Id from list_services. |
| staff_id string required | string | Id from list_staff. |
| start string required | string | Date and start time, ISO 8601, in the salon's local time. |
| client_id string | string | Existing client from list_clients. Leave out to enter a new client with client_name. |
| client_name string | string | Name of a client without a record. Required when client_id is left out. |
| client_phone string | string | Phone of a client without a record. |
| notes string | string | Note on the appointment. |
Request
curl -X POST https://cotlet.dev/api/v1/planity/services/sv_11/appointments \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"staff_id":"st_01","start":"2026-10-27T15:00:00","client_id":"c_1042"}' result = client.call("planity", "create_appointment", {"service_id":"sv_11","staff_id":"st_01","start":"2026-10-27T15:00:00","client_id":"c_1042"}) const result = await cotlet.call('planity', 'create_appointment', {"service_id":"sv_11","staff_id":"st_01","start":"2026-10-27T15:00:00","client_id":"c_1042"}); cotlet call planity create_appointment --data '{"service_id":"sv_11","staff_id":"st_01","start":"2026-10-27T15:00:00","client_id":"c_1042"}' Example response
{
"appointment_id": "a_9201",
"start": "2026-10-27T15:00:00",
"end": "2026-10-27T16:00:00",
"client": {
"client_id": "c_1042",
"name": "Léa Martin"
},
"service": "Coupe femme",
"staff": {
"staff_id": "st_01",
"name": "Amélie"
},
"status": "confirmed",
"source": "salon"
}