---
ref: tool:cal-com/create-private-link
name: Create a private booking link
company: company:cal-com
workflows: []
access: [cli, api]
tags: [capability:book-meetings, category:scheduling, has:api, has:cli]
docs: https://cal.com/docs/api-reference/v2/event-types-private-links/create-a-private-link-for-an-event-type
updated: 2026-09-27
---

# Create a private booking link

Returns a private booking URL for an event type that expires after a number of bookings or at a set time.

Note: Without `expiresAt` or `maxUsageCount` the link is single-use, so create one per prospect. Send `cal-api-version: 2024-09-04`; the MCP server has no tool for this call.

## Set up

Use the first option your agent supports.

### CLI (official)

Install the command, then confirm it runs.

```sh
npm install -g @calcom/cli
calcom --version
```

Run `calcom private-links create`.

Set `$CAL_API_KEY` in your environment first (get a key: https://app.cal.com/settings/developer/api-keys).

### API (official)

- Base URL: https://api.cal.com
- Endpoint: `POST /v2/event-types/{eventTypeId}/private-links`
- Auth: send the header `Authorization: Bearer $CAL_API_KEY`
- Get a key: https://app.cal.com/settings/developer/api-keys
- Docs: https://cal.com/docs/api-reference/v2/introduction

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
