Cancel a time off booking
Cancel one upcoming or past time off booking.
POST https://cotlet.dev/api/v1/charliehr/bookings/{booking_id}/time-off-booking/cancel
Does what the bin icon does on the Time tab. Upcoming bookings can be cancelled by their owner or an approver, and the approvers are notified. Past bookings need a line manager, team lead or Admin. Cancelling past sick leave always needs approval. Where Cancellation Requests are on, a cancellation can wait for the approver. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| booking_id string required | string | Id from list_time_off_requests |
| notes string | string | Reason shown to the approver |
Request
curl -X POST https://cotlet.dev/api/v1/charliehr/bookings/booking_8c41d2/time-off-booking/cancel \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("charliehr", "cancel_time_off_booking", {"booking_id":"booking_8c41d2"}) const result = await cotlet.call('charliehr', 'cancel_time_off_booking', {"booking_id":"booking_8c41d2"}); cotlet call charliehr cancel_time_off_booking --data '{"booking_id":"booking_8c41d2"}' Example response
{
"booking_id": "tob_71d3f0",
"member": "Leo Fischer",
"type": "Holiday",
"start_date": "2026-12-24",
"end_date": "2026-12-24",
"status": "cancelled",
"approvers_notified": true
}