---
title: "Add a note to the calendar, optionally repeating"
method: POST
path: "/api/v1/calendar/notes"
---

# Add a note to the calendar, optionally repeating

`POST /api/v1/calendar/notes`

## Request

- Base URL: `http://127.0.0.1:4310`
- URL: `http://127.0.0.1:4310/api/v1/calendar/notes`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sfb_session`

## Request body

- object
  - `staff_id` string: Leave out for a note for the whole team
  - `location_id` string
  - `starts_at` string, required
  - `ends_at` string, required
  - `body` string, required
  - `recurrence` object: Repeat rule. Rows are written a year ahead and topped up daily for rules that never end
    - `freq` 'daily' | 'weekly' | 'monthly', required
    - `interval` integer
    - `ends` 'never' | 'count' | 'until'
    - `count` integer
    - `until` string, date
  - `scope` 'one' | 'following': For a repeating entry: change only this occurrence (default) or this and every later one

## 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)
