Create booking
Book one or more resources on days, for hours per day or at a set time.
POST https://cotlet.dev/api/v1/resource-guru/bookings
write Confirm
Returns the new booking with its ID. If a person has too little free time and clash_resolution is not set, nothing is booked and the clash is returned. The booked people see a confirmed booking on their Dashboard, and an account with the Approval Workflow sends it to approvers as pending. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| resource_ids integer[] required | integer[] | IDs of the people, placeholders or other resources to book, from list_resources. |
| start_date string required | string | First day, YYYY-MM-DD. |
| end_date string required | string | Last day, YYYY-MM-DD. |
| minutes_per_day integer required | integer | Minutes booked on each day, 1 to 1440. |
| start_time integer | integer | For a Specific Time booking: minutes after midnight, so 540 is 9:00. |
| project_id integer | integer | Project ID from list_projects. |
| client_id integer | integer | Client ID from list_clients. |
| tentative boolean | boolean | True for a pencilled booking that takes no availability. |
| details string | string | Notes on the booking. Markdown works. |
| clash_resolution string | string | What to do when a resource has no free time: add_to_waiting_list, book_with_overtime or increase_availability. |
Request
curl -X POST https://cotlet.dev/api/v1/resource-guru/bookings \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"resource_ids":[18211],"start_date":"2026-11-09","end_date":"2026-11-13","minutes_per_day":360,"project_id":703110,"tentative":true,"details":"Pencilled until Acme signs off"}' result = client.call("resource-guru", "create_booking", {"resource_ids":[18211],"start_date":"2026-11-09","end_date":"2026-11-13","minutes_per_day":360,"project_id":703110,"tentative":True,"details":"Pencilled until Acme signs off"}) const result = await cotlet.call('resource-guru', 'create_booking', {"resource_ids":[18211],"start_date":"2026-11-09","end_date":"2026-11-13","minutes_per_day":360,"project_id":703110,"tentative":true,"details":"Pencilled until Acme signs off"}); cotlet call resource-guru create_booking --data '{"resource_ids":[18211],"start_date":"2026-11-09","end_date":"2026-11-13","minutes_per_day":360,"project_id":703110,"tentative":true,"details":"Pencilled until Acme signs off"}' Example response
{
"id": 48213021,
"resource_ids": [
18211,
18214
],
"start_date": "2026-11-02",
"end_date": "2026-11-06",
"minutes_per_day": 240,
"project_id": 703110,
"tentative": false,
"approval_state": "approved",
"waiting": false
}