Create, Update & Delete

Create new events, modify existing ones, delete events, and respond to invitations.

POST/api/access/calendar/eventsBearer Token

Create Event

Creates a new calendar event.

Request Body

FieldTypeRequiredDescription
calendarIdlongYesTarget calendar ID (from List Calendars)
summarystringYesEvent title (max 255 chars)
descriptionstringNoEvent description (max 2000 chars)
locationstringNoEvent location (max 255 chars)
fromDateTimeYesStart time (UTC)
toDateTimeYesEnd time (UTC)
isAllDayboolNoAll-day event flag (default: false)
attendeesstring[]NoList of attendee email addresses
recurrencestring[]NoRFC 5545 RRULE recurrence patterns
eventTypestringNoOptional event type
sendNotificationsboolNoSend invitation notifications (default: true)
{
"calendarId": 123,
"summary": "Project Kickoff",
"description": "Initial planning meeting for Q2 project",
"location": "Room 101",
"from": "2026-02-10T09:00:00Z",
"to": "2026-02-10T10:00:00Z",
"isAllDay": false,
"attendees": ["user1@example.com", "user2@example.com"],
"recurrence": ["RRULE:FREQ=WEEKLY;COUNT=4"],
"sendNotifications": true
}

Error Responses

StatusCodeDescription
400Validation error (missing required fields, invalid data)
403ACCESS_DENIEDToken permissions insufficient
403TOKEN_DENIEDToken-level restriction prevents access
403TIMEFRAME_DENIEDEvent falls outside allowed timeframe
404CALENDAR_NOT_FOUNDCalendar not found
PATCH/api/access/calendar/events/{eventId}Bearer Token

Update Event

Updates an existing calendar event. This is a partial update — only provide the fields you want to change.

Request Body (all optional)

FieldTypeDescription
summarystringNew title (max 255 chars)
descriptionstringNew description (max 2000 chars)
locationstringNew location (max 255 chars)
fromDateTimeNew start time (UTC)
toDateTimeNew end time (UTC)
isAllDayboolAll-day event flag
addAttendeesstring[]Email addresses to add as attendees
removeAttendeesstring[]Email addresses to remove from attendees
sendNotificationsboolSend update notifications (default: true)
{
"summary": "Updated Title",
"description": "Updated description",
"location": "New Location",
"from": "2026-02-10T10:00:00Z",
"to": "2026-02-10T11:00:00Z",
"addAttendees": ["new@example.com"],
"removeAttendees": ["old@example.com"],
"sendNotifications": true
}
DELETE/api/access/calendar/events/{eventId}Bearer Token

Delete Event

Deletes a calendar event.

Parameters

ParameterInTypeDescription
eventIdPathstring (UUID)Public event ID
notifyAttendeesQueryboolSend cancellation notifications (default: true)

Response 200 OK

{
"success": true,
"message": "Event deleted"
}
POST/api/access/calendar/events/{eventId}/respondBearer Token

Respond to Event

Responds to an event invitation (accept, decline, or tentatively accept).

Request Body

FieldTypeRequiredDescription
statusstringYesResponse status (see below)
commentstringNoOptional comment with the response
sendNotificationboolNoSend notification to organizer (default: true)

Valid Status Values

ValueDescription
acceptedAccept the invitation
declinedDecline the invitation
tentativeTentatively accept
{
"status": "accepted",
"comment": "Looking forward to it!",
"sendNotification": true
}