---
title: "Update a calendar note"
method: PUT
path: "/shop/calendar-notes/{calendarNoteId}"
tags: ["CalendarNotes"]
---

# Update a calendar note

`PUT /shop/calendar-notes/{calendarNoteId}`

Partially updates a `CalendarNote`. Every field is optional; only
fields you send are written. Requires the `RESERVATIONS_MANAGE`
permission on the note's current site (and the target site too,
if `site_id` is changed).

## Request body

- object
  - `body` string — Replacement note text, shown to staff on the calendar view. Plain text only — HTML tags are stripped.
  - `date` string, date — Move the note to a different calendar date, in `YYYY-MM-DD` format.
  - `site_id` string, uuid — Move the note to a different site. The caller's API key must have access to both the old and new site.

## Response `200`

A single `CalendarNote`.

- object
  - `data` CalendarNote, required — A `CalendarNote` is a free-form, date-scoped annotation that surfaces on the operator calendar for a site. Staff use these to record context for a particular day — e.g. a public holiday, a marketing event, a known understaffed shift, or a VIP reservation that everyone should know about. Notes are date-bound (one day at a time) and site-scoped; they do not affect availability or block bookings.
    - `id` string, object-id, required — Unique identifier for the note.
    - `site_id` string, uuid, required — ID of the site this note is attached to.
    - `body` string, required — The note text. Plain text only — line breaks are preserved but no markdown is rendered.
    - `date` string, date, required — The calendar date the note applies to, in `YYYY-MM-DD` format in the site's local timezone.
    - `created_by_id` string, uuid, nullable — ID of the user who created the note.
    - `created_by` object, nullable — Summary of the user who created the note, if known.
    - `updated_by_id` string, uuid, nullable — ID of the user who last updated the note.
    - `updated_by` object, nullable — Summary of the user who last updated the note, if any updates have been made.
    - `deleted_by_id` string, uuid, nullable — ID of the user who deleted the note, if it has been soft deleted. Usually null on live records.
    - `deleted_by` object, nullable — Summary of the user who deleted the note, if it has been soft deleted.
    - `created_at` string, date-time, required — ISO-8601 timestamp of when the note was created.
    - `updated_at` string, date-time, required — ISO-8601 timestamp of when the note was last updated.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found
- `422` — The request didn't pass validation

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
