Calendar API

The Calendar Access API provides read and write access to calendar data through authenticated access tokens.

Base URL

/api/access/calendar

Authentication

Authorization: Bearer <api_key>

Rate Limits

100 requests/minute500 requests/hour

Access Info

Read endpoints (GET requests) include an optional accessInfo field that describes any active access restrictions on the token. This field is omitted when there are no restrictions. AI agents should use this field to understand data limitations.

Write endpoints (POST/PATCH/DELETE) do not include accessInfo — any access violations are returned as errors.

Example accessInfo values:

  • "Results limited to time window: Last 30 days to next 30 days."
  • "Read-only access, cannot create or modify events."
  • "Some contacts or domains are blocked from results."

Tip

Event endpoints also include a currentUserCalendarEmail field that identifies the calendar owner's email. Use this to determine which attendee/organizer represents the current user.

Endpoints Overview

MethodEndpointDescription
GET/calendarsList all calendars
GET/eventsList/search events with filters
GET/events/{eventId}Get a single event
POST/eventsCreate a new event
PATCH/events/{eventId}Update an existing event
DELETE/events/{eventId}Delete an event
POST/events/{eventId}/respondRespond to event invitation
GET/freebusyGet free/busy information
GET/events/by-contactGet events by contact
GET/api/access/calendar/calendarsBearer Token

List Calendars

Returns all calendars configured for the current operator.

Response 200 OK

{
"data": [
{
"id": 123,
"externalId": "calendar@example.com",
"name": "Team Calendar",
"provider": "GOOGLE",
"timezone": "America/Chicago",
"isPrimary": true,
"isOperatorOwner": true,
"ownerEmail": "user@example.com",
"lastSyncedAt": "2026-02-05T10:30:00Z"
}
],
"accessInfo": "Results limited to time window: Last 30 days to next 30 days."
}

Calendar Object Fields

FieldTypeDescription
idlongInternal calendar ID (use this for filtering events)
externalIdstringExternal calendar identifier (e.g., email for Google Calendar)
namestringCalendar display name
providerstringCalendar provider (GOOGLE, M365)
timezonestring?Calendar timezone (IANA format)
isPrimaryboolWhether this is the primary calendar
isOperatorOwnerboolWhether the current operator owns this calendar
ownerEmailstring?Calendar owner's email address
lastSyncedAtDateTime?Last successful sync timestamp (UTC)