---
title: "Record leave or a one-off block. Clashing bookings return requires_staff_action unless accept_conflicts is true"
method: POST
path: "/api/v1/team/{id}/leave"
---

# Record leave or a one-off block. Clashing bookings return requires_staff_action unless accept_conflicts is true

`POST /api/v1/team/{id}/leave`

## Request

- Base URL: `http://127.0.0.1:4310`
- URL: `http://127.0.0.1:4310/api/v1/team/{id}/leave`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sfb_session`

## Path parameters

- `id` string, required

## Request body

- object
  - `starts_at` string
  - `ends_at` string
  - `date` string: All-day leave from this date
  - `end_date` string
  - `kind` 'leave' | 'sick' | 'training' | 'block' | 'other'
  - `reason` string
  - `accept_conflicts` boolean

## Response `201`

OK

- object

## Other responses

- `400`: Validation error
- `401`: Unauthenticated
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict or invalid state

---

[API](https://skmtc.dev/scalingfirm/apis/tsf-booking-api.md) · [All operations](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/revisions/81704199cd37?raw)
