---
title: "Send a lead a booking link"
method: POST
path: "/api/bookings/links"
tags: ["Bookings"]
---

# Send a lead a booking link

`POST /api/bookings/links`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/bookings/links`
- Auth: API key in cookie `luca.session_token`

DMs the lead the coach's message with a link to pick their own time. Luca follows up until the lead books, declines or the invitation expires.

**Session-only.** This endpoint isn't on the API-key allowlist. An organization API key gets a 403 here, whatever scopes it holds.

## Headers

- `idempotency-key` string, required
- `Luca-API-Version` '1'

## Request body

- BookingLinkCreate
  - `leadId` string, uuid, required
  - `bookingTypeId` string, uuid, required
  - `message` string, required
  - `suggestedDate` string, date

## Response `200`

ok

- BookingLinkResponse
  - `id` string, uuid, required
  - `status` 'active' | 'booked' | 'declined' | 'stopped' | 'expired', required
  - `provider` 'calendly' | 'cal_com' | 'google_calendar', required
  - `url` string, uri, required
  - `needsReconnect` boolean, required
  - `bookedStartsAt` string, date-time, nullable, required

## Other responses

- `400`: bad request
- `401`: unauthorized
- `403`: forbidden
- `404`: not found
- `409`: conflict
- `429`: rate limited
- `500`: internal error
- `503`: service unavailable

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
