Book time off for someone
Book time off on behalf of a team member; it is approved at once.
POST https://cotlet.dev/api/v1/charliehr/members/{member_id}/time-offs
write Confirm
Does what "book time off" on the person's Time tab does when you book on behalf. Open to Team Leads, Line Managers, Admins and Super Admins. The booking skips approval and is approved automatically. type is a time off type of your account, for example Holiday. Returns the days used and the days left. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| member_id string required | string | Id from list_team_members |
| type string required | string | Time off type name as shown in Charlie |
| start_date string required | string | YYYY-MM-DD |
| end_date string required | string | YYYY-MM-DD |
| notes string | string | Note on the booking |
Request
curl -X POST https://cotlet.dev/api/v1/charliehr/members/member_8c41d2/time-offs \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"type","start_date":"start date","end_date":"end date"}' result = client.call("charliehr", "book_time_off", {"member_id":"member_8c41d2","type":"type","start_date":"start date","end_date":"end date"}) const result = await cotlet.call('charliehr', 'book_time_off', {"member_id":"member_8c41d2","type":"type","start_date":"start date","end_date":"end date"}); cotlet call charliehr book_time_off --data '{"member_id":"member_8c41d2","type":"type","start_date":"start date","end_date":"end date"}' Example response
{
"booking_id": "tob_71d3f0",
"member": "Leo Fischer",
"type": "Holiday",
"start_date": "2026-12-24",
"end_date": "2026-12-24",
"days": 1,
"status": "approved",
"remaining_days": 14
}