[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Create booking

> Book one or more resources on days, for hours per day or at a set time. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/resource-guru/create_booking

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Book one or more resources on days, for hours per day or at a set time.

Resource Guru API: https://cotlet.dev/docs/api/resource-guru.md

`POST https://cotlet.dev/api/v1/resource-guru/bookings`

Access: write. Confirm: waits for the user's OK before it runs.

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 | Required | Description |
|---|---|---|---|
| `resource_ids` | integer[] | yes | IDs of the people, placeholders or other resources to book, from list_resources. |
| `start_date` | string | yes | First day, YYYY-MM-DD. |
| `end_date` | string | yes | Last day, YYYY-MM-DD. |
| `minutes_per_day` | integer | yes | Minutes booked on each day, 1 to 1440. |
| `start_time` | integer | no | For a Specific Time booking: minutes after midnight, so 540 is 9:00. |
| `project_id` | integer | no | Project ID from list_projects. |
| `client_id` | integer | no | Client ID from list_clients. |
| `tentative` | boolean | no | True for a pencilled booking that takes no availability. |
| `details` | string | no | Notes on the booking. Markdown works. |
| `clash_resolution` | string | no | What to do when a resource has no free time: add_to_waiting_list, book_with_overtime or increase_availability. |

## Request

**cURL**

```bash
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"}'
```

**Python**

```python
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"})
```

**Node.js**

```js
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"});
```

**CLI**

```bash
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

```json
{
  "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
}
```

Previous: [List time off](https://cotlet.dev/docs/api/resource-guru/list_time_off.md)
Next: [Create Total Hours booking](https://cotlet.dev/docs/api/resource-guru/create_total_hours_booking.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
