Skip to main content

Calendar Events

Tags: events, scheduling

Endpoints

List

GET /api/v2/w/{workspace_uuid}/calendar-events

Description:

Calendar event management

List calendar events with optional filtering.

Authorization: Requires calendars:read scope

Parameters:

  • calendarId (Integer)
  • startDate (datetime)
  • endDate (datetime)
  • status (String)
  • page (Integer)
  • pageSize (Integer)
  • sortBy (CalendarEventSortField)
  • sortOrder (SortOrder)

Response: See PaginatedResponse[EventResponse]


Create

POST /api/v2/w/{workspace_uuid}/calendar-events

Description:

Calendar event management

Create a new calendar event (booking).

This endpoint validates availability and attendee limits before creating the booking. If the calendar is linked to Google Calendar, the event will be synced automatically.

The startTime parameter should be timezone-aware (ISO 8601 with timezone). If it's timezone-naive, it will be interpreted as being in the calendar's timezone.

Event rules and Google Calendar sync run after the event is saved.

Authorization: Requires calendars:write scope

Parameters:

Response: See EventResponse


Delete Event Id

DELETE /api/v2/w/{workspace_uuid}/calendar-events/{event_id}

Description:

Calendar event management

Delete a calendar event (hard delete). Also deletes from Google Calendar if linked.

Event rules and Google Calendar sync run after the local delete commits.

Authorization: Requires calendars:admin scope

Parameters:

  • event_id (Integer)

Response: See dict


Get Event Id

GET /api/v2/w/{workspace_uuid}/calendar-events/{event_id}

Description:

Calendar event management

Get a specific calendar event by ID.

Authorization: Requires calendars:read scope

Parameters:

  • event_id (Integer)

Response: See EventResponse


Update Event Id

PUT /api/v2/w/{workspace_uuid}/calendar-events/{event_id}

Description:

Calendar event management

Update an existing calendar event.

The startTime and endTime parameters should be timezone-aware (ISO 8601 with timezone). If they're timezone-naive, they will be interpreted as being in the calendar's timezone.

Event rules and Google Calendar sync run after the event is updated.

Authorization: Requires calendars:write scope

Parameters:

Response: See EventResponse


Attendees

GET /api/v2/w/{workspace_uuid}/calendar-events/{event_id}/attendees

Description:

Calendar event management

List all attendees for an event.

Authorization: Requires calendars:read scope

Parameters:

  • event_id (Integer)

Response: List of AttendeeResponse


Update Attendees

PUT /api/v2/w/{workspace_uuid}/calendar-events/{event_id}/attendees/{member_id}

Description:

Calendar event management

Update an attendee's response to an event invitation.

Authorization: Requires calendars:write scope

Parameters:

Response: See AttendeeResponse


Cancel

POST /api/v2/w/{workspace_uuid}/calendar-events/{event_id}/cancel

Description:

Calendar event management

Cancel a calendar event.

Event rules and Google Calendar sync run after the cancellation is saved.

Authorization: Requires calendars:write scope

Parameters:

Response: See EventResponse