---
title: "Update Calendar Event"
method: PUT
path: "/v2.0/calendar/{calendarId}"
tags: ["Calendar V2 API"]
---

# Update Calendar Event

`PUT /v2.0/calendar/{calendarId}`

Partially updates a Task or Appointment. Only non-empty fields in the request body are applied; omitted fields keep their current values.

Notes:
- calendarId must be the composite string returned by POST /v2.0/calendar (e.g. '12345-task' or '12345-appointment'). Invalid format returns 400.
- When startAt or endAt is supplied, it must be later than the current server time.

## Path parameters

- `calendarId` string, required

## Headers

- `Authorization` string, required
- `Content-Type` string, required

## Request body

- CalendarUpdateRequestV2 — Partial update payload; only non-empty fields are applied.
  - `content` string — Updated content/description
  - `startAt` string — Updated start time in ISO8601 format. Preferred over startAtMs when both are provided.
  - `endAt` string — Updated end time in ISO8601 format. Preferred over endAtMs when both are provided.
  - `startAtMs` integer — Updated start time as Unix timestamp in milliseconds. Used when startAt is not provided.
  - `endAtMs` integer — Updated end time as Unix timestamp in milliseconds. Used when endAt is not provided.
  - `timeZoneCode` string — Updated timezone code
  - `reminderType` string — Updated reminder type
  - `reminderTime` string — Updated reminder time
  - `leadId` integer — Updated lead ID
  - `address` string — Updated address (for APPOINTMENT)

## Response `200`

Calendar updated. Response body is a simple message envelope.

- CalendarMessageResponseEnvelope — Simple message envelope used by PUT / DELETE / finish / unfinish calendar endpoints.
  - `message` string — Result message for the calendar operation.

## Other responses

- `400` — Invalid calendarId format, target not found, or invalid parameters (20012 INVALID_PARAMETER); caller is not the manager (20017 PERMISSION_DENIED).
- `401` — Missing or invalid authentication token.
- `500` — Internal server error.

---

[API](https://skmtc.net/lofty/apis/lofty-service-open-apis.md) · [All operations](https://skmtc.net/lofty/apis/lofty-service-open-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lofty/lofty-service-open-apis/revisions/23e640467118/schema)
