Reclaim.ai events API
The events API from Reclaim.ai — 18 operation(s) for events.
The events API from Reclaim.ai — 18 operation(s) for events.
openapi: 3.0.1
info:
title: Reclaim account-time-schemes events API
description: Reclaim's awesome API
contact:
name: Reclaim.ai Inc.
url: http://reclaim.ai
email: info@reclaim.ai
license:
name: Reclaim 9.9
url: http://reclaim.ai
version: '0.1'
tags:
- name: events
paths:
/api/events:
get:
tags:
- events
operationId: query
parameters:
- name: calendar
in: query
deprecated: true
schema:
type: integer
format: int64
nullable: true
- name: calendarIds
in: query
schema:
type: array
nullable: true
items:
type: integer
format: int64
- name: allConnected
in: query
schema:
type: boolean
nullable: true
- name: priorities
in: query
schema:
type: array
nullable: true
items:
type: integer
format: int64
- name: type
in: query
schema:
type: array
nullable: true
items:
$ref: '#/components/schemas/EventType'
- name: project
in: query
schema:
type: array
nullable: true
items:
type: integer
format: int64
- name: start
in: query
schema:
type: string
format: date
nullable: true
- name: end
in: query
schema:
type: string
format: date
nullable: true
- name: sourceDetails
in: query
schema:
type: boolean
nullable: true
- name: thin
in: query
schema:
type: boolean
nullable: true
- name: habitIds
in: query
schema:
type: array
nullable: true
items:
type: integer
format: int64
- name: recurringOneOnOneIds
in: query
schema:
type: array
nullable: true
items:
type: integer
format: int64
- name: taskIds
in: query
schema:
type: array
nullable: true
items:
type: integer
format: int64
responses:
'200':
description: query 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
security:
- Authorization: []
/api/events/fetch-instances/raw-event/{credentialId}/{calendarId}/{eventId}:
get:
tags:
- events
operationId: fetchInstancesEventRaw
parameters:
- name: credentialId
in: path
required: true
schema:
type: integer
format: int64
- name: calendarId
in: path
required: true
schema:
type: string
- name: eventId
in: path
required: true
schema:
type: string
- name: start
in: query
schema:
type: string
format: date
nullable: true
- name: end
in: query
schema:
type: string
format: date
nullable: true
- name: eventField
in: query
schema:
type: array
nullable: true
items:
type: string
responses:
'200':
description: fetchInstancesEventRaw 200 response
content:
application/json:
schema:
type: array
items:
type: object
security:
- Authorization: []
/api/events/fetch-instances/raw-google/{credentialId}/{calendarId}/{eventId}:
get:
tags:
- events
operationId: fetchInstancesGoogleRaw
parameters:
- name: credentialId
in: path
required: true
schema:
type: integer
format: int64
- name: calendarId
in: path
required: true
schema:
type: string
- name: eventId
in: path
required: true
schema:
type: string
- name: start
in: query
schema:
type: string
format: date
nullable: true
- name: end
in: query
schema:
type: string
format: date
nullable: true
- name: eventField
in: query
schema:
type: array
nullable: true
items:
type: string
responses:
'200':
description: fetchInstancesGoogleRaw 200 response
content:
application/json:
schema:
type: array
items:
type: object
deprecated: true
security:
- Authorization: []
/api/events/personal:
get:
tags:
- events
operationId: getPersonal_1
parameters:
- name: start
in: query
schema:
type: string
format: date
nullable: true
- name: end
in: query
schema:
type: string
format: date
nullable: true
- name: limit
in: query
schema:
type: integer
format: int32
nullable: true
responses:
'200':
description: getPersonal_1 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
security:
- Authorization: []
/api/events/raw-event/{credentialId}/{calendarId}/{eventId}:
get:
tags:
- events
operationId: fetchEventRaw
parameters:
- name: credentialId
in: path
required: true
schema:
type: integer
format: int64
- name: calendarId
in: path
required: true
schema:
type: string
- name: eventId
in: path
required: true
schema:
type: string
- name: eventField
in: query
schema:
type: array
nullable: true
items:
type: string
responses:
'200':
description: fetchEventRaw 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
patch:
tags:
- events
operationId: patchEventRaw
parameters:
- name: credentialId
in: path
required: true
schema:
type: integer
format: int64
- name: calendarId
in: path
required: true
schema:
type: string
- name: eventId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
format: binary
required: true
responses:
'200':
description: patchEventRaw 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/EventWithData'
security:
- Authorization: []
/api/events/raw-events/{credentialId}/{calendarId}:
get:
tags:
- events
operationId: queryEventsRaw
parameters:
- name: credentialId
in: path
required: true
schema:
type: integer
format: int64
- name: calendarId
in: path
required: true
schema:
type: string
- name: q
in: query
schema:
type: string
nullable: true
- name: start
in: query
schema:
type: string
format: date
nullable: true
- name: end
in: query
schema:
type: string
format: date
nullable: true
- name: singleEvents
in: query
schema:
type: boolean
nullable: true
- name: eventField
in: query
schema:
type: array
nullable: true
items:
type: string
- name: privateExtendedProperty
in: query
schema:
type: array
nullable: true
items:
type: string
- name: sharedExtendedProperty
in: query
schema:
type: array
nullable: true
items:
type: string
responses:
'200':
description: queryEventsRaw 200 response
content:
application/json:
schema:
type: array
items:
type: object
security:
- Authorization: []
/api/events/raw-google/{credentialId}/{calendarId}:
get:
tags:
- events
operationId: queryGoogleRaw
parameters:
- name: credentialId
in: path
required: true
schema:
type: integer
format: int64
- name: calendarId
in: path
required: true
schema:
type: string
- name: q
in: query
schema:
type: string
nullable: true
- name: start
in: query
schema:
type: string
format: date
nullable: true
- name: end
in: query
schema:
type: string
format: date
nullable: true
- name: singleEvents
in: query
schema:
type: boolean
nullable: true
- name: eventField
in: query
schema:
type: array
nullable: true
items:
type: string
- name: privateExtendedProperty
in: query
schema:
type: array
nullable: true
items:
type: string
- name: sharedExtendedProperty
in: query
schema:
type: array
nullable: true
items:
type: string
responses:
'200':
description: queryGoogleRaw 200 response
content:
application/json:
schema:
type: array
items:
type: object
deprecated: true
security:
- Authorization: []
/api/events/raw-google/{credentialId}/{calendarId}/{eventId}:
get:
tags:
- events
operationId: fetchGoogleRaw
parameters:
- name: credentialId
in: path
required: true
schema:
type: integer
format: int64
- name: calendarId
in: path
required: true
schema:
type: string
- name: eventId
in: path
required: true
schema:
type: string
- name: eventField
in: query
schema:
type: array
nullable: true
items:
type: string
responses:
'200':
description: fetchGoogleRaw 200 response
content:
application/json:
schema:
type: object
deprecated: true
security:
- Authorization: []
/api/events/recurring-series:
get:
tags:
- events
operationId: queryRecurringSeries
parameters:
- name: count
in: query
schema:
type: integer
format: int32
nullable: true
- name: after
in: query
schema:
type: string
nullable: true
- name: order
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/SortOrder'
- name: titleQuery
in: query
description: Case-insensitive substring match against the event title
schema:
type: string
nullable: true
- name: minAttendees
in: query
description: Minimum number of attendees (inclusive)
schema:
type: integer
format: int32
nullable: true
- name: maxAttendees
in: query
description: Maximum number of attendees (inclusive)
schema:
type: integer
format: int32
nullable: true
- name: organizer
in: query
description: Organizer email to match, 'SELF' for events organized by the querying user, or 'NOT_SELF' to exclude them
schema:
type: string
nullable: true
- name: nextEventAfter
in: query
description: Only include series whose next instance starts at or after this instant (inclusive)
schema:
type: string
format: date-time
nullable: true
- name: nextEventBefore
in: query
description: Only include series whose next instance starts before this instant (exclusive)
schema:
type: string
format: date-time
nullable: true
- name: managementTypes
in: query
description: Include only series matching these management types
schema:
type: array
nullable: true
items:
$ref: '#/components/schemas/SeriesManagementType'
responses:
'200':
description: queryRecurringSeries 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/Page_RecurringSeriesView_'
security:
- Authorization: []
/api/events/smart-series:
get:
tags:
- events
operationId: querySmartSeriesEventsByLineageIds
parameters:
- name: start
in: query
schema:
type: string
format: date
nullable: true
- name: end
in: query
schema:
type: string
format: date
nullable: true
- name: lineageIds
in: query
required: true
schema:
type: array
items:
type: integer
format: int64
responses:
'200':
description: querySmartSeriesEventsByLineageIds 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
security:
- Authorization: []
/api/events/utils/to-v2:
post:
tags:
- events
operationId: toCalendarEvent
parameters:
- name: fromCacheMiss
in: query
schema:
type: boolean
nullable: true
- name: associations
in: query
schema:
type: boolean
nullable: true
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EventKey'
required: true
responses:
'200':
description: toCalendarEvent 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CalendarEventV2'
security:
- Authorization: []
/api/events/v2:
get:
tags:
- events
operationId: queryV2
parameters:
- name: calendarIds
in: query
schema:
type: array
nullable: true
items:
type: integer
format: int64
- name: allConnected
in: query
schema:
type: boolean
nullable: true
- name: start
in: query
required: true
schema:
type: string
format: date
- name: end
in: query
required: true
schema:
type: string
format: date
- name: forceLegacyQuery
in: query
schema:
type: boolean
nullable: true
- name: useCache
in: query
schema:
type: boolean
nullable: true
responses:
'200':
description: queryV2 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CalendarEventV2'
security:
- Authorization: []
/api/events/view/{calendarId}/{eventId}:
get:
tags:
- events
operationId: gcalViewRedirect
parameters:
- name: calendarId
in: path
required: true
schema:
type: integer
format: int64
- name: eventId
in: path
required: true
schema:
type: string
- name: skipSourceRedirect
in: query
schema:
type: boolean
nullable: true
responses:
'200':
description: gcalViewRedirect 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
/api/events/{calendarId}/{eventId}:
get:
tags:
- events
operationId: getForCalendar
parameters:
- name: calendarId
in: path
required: true
schema:
type: integer
format: int64
- name: eventId
in: path
required: true
schema:
type: string
- name: sourceDetails
in: query
schema:
type: boolean
nullable: true
- name: thin
in: query
schema:
type: boolean
nullable: true
responses:
'200':
description: getForCalendar 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
security:
- Authorization: []
/api/events/{calendarId}/{eventId}/buffer:
post:
tags:
- events
operationId: adjustConferenceBuffer
parameters:
- name: calendarId
in: path
required: true
schema:
type: integer
format: int64
- name: eventId
in: path
required: true
schema:
type: string
- name: duration
in: query
required: true
schema:
type: integer
format: int64
- name: notificationKey
in: query
schema:
type: string
nullable: true
responses:
'200':
description: adjustConferenceBuffer 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
/api/events/{calendarId}/{eventId}/priority:
post:
tags:
- events
operationId: adjustPriority
parameters:
- name: calendarId
in: path
required: true
schema:
type: integer
format: int64
- name: eventId
in: path
required: true
schema:
type: string
- name: priority
in: query
required: true
schema:
$ref: '#/components/schemas/PriorityLevel'
- name: period
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/RecurringEventUpdatePeriod'
- name: notificationKey
in: query
schema:
type: string
nullable: true
responses:
'200':
description: adjustPriority 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
/api/events/{calendarId}/{eventId}/travel/{type}:
post:
tags:
- events
operationId: adjustTravelTime
parameters:
- name: calendarId
in: path
required: true
schema:
type: integer
format: int64
- name: eventId
in: path
required: true
schema:
type: string
- name: type
in: path
required: true
schema:
$ref: '#/components/schemas/AssistType'
- name: duration
in: query
required: true
schema:
type: integer
format: int64
- name: notificationKey
in: query
schema:
type: string
nullable: true
responses:
'200':
description: adjustTravelTime 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
/api/events/{eventId}:
get:
tags:
- events
operationId: get_1
parameters:
- name: eventId
in: path
required: true
schema:
type: string
- name: sourceDetails
in: query
schema:
type: boolean
nullable: true
- name: thin
in: query
schema:
type: boolean
nullable: true
responses:
'200':
description: get_1 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
deprecated: true
security:
- Authorization: []
components:
schemas:
RecurrenceContinuityData:
type: object
properties:
lastPendingSync:
type: string
format: date-time
nullable: true
successorExternalId:
type: string
nullable: true
EventSourceDetails:
required:
- base64Id
- calendarId
- description
- etag
- eventId
- eventKey
- title
- url
- writable
type: object
properties:
writable:
type: boolean
calendarId:
type: integer
format: int64
eventId:
type: string
etag:
type: string
eventKey:
$ref: '#/components/schemas/EventKey'
base64Id:
type: string
url:
type: string
title:
type: string
description:
type: string
EventKey:
required:
- calendarId
- eventId
type: object
properties:
eventId:
type: string
calendarId:
type: integer
format: int64
SchedulePolicyType:
type: string
enum:
- AttendeeAvailabilityWarningPolicy
- BasicEventWarningPolicy
- BufferEventPolicy
- EventConflictPolicy
- FocusTimePolicy
- HabitPolicy
- LacksRsvpPolicy
- LacksVideoConferencePolicy
- ManagedEventSchedulingPolicy
- ShieldsUpPolicy
- SmartMeetingPolicy
- UNKNOWN
x-enum-varnames:
- AttendeeAvailabilityWarningPolicy
- BasicEventWarningPolicy
- BufferEventPolicy
- EventConflictPolicy
- FocusTimePolicy
- HabitPolicy
- LacksRsvpPolicy
- LacksVideoConferencePolicy
- ManagedEventSchedulingPolicy
- ShieldsUpPolicy
- SmartMeetingPolicy
- UNKNOWN
VersionData:
type: object
properties:
syncStatus:
nullable: true
allOf:
- $ref: '#/components/schemas/SyncStatus'
ceVersion:
type: integer
format: int32
nullable: true
TaskId:
required:
- id
type: object
properties:
id:
type: integer
format: int64
type:
type: string
SchedulingLinkId:
required:
- id
type: object
properties:
id:
type: string
type:
type: string
MergeableEventView.MergeType:
type: string
enum:
- ORGANIZER_EVENT
- ATTENDEE_EVENT
- SYNC_EVENT
MergeDetails:
required:
- key
- sourceCalendarId
- sourceReclaimCalendarId
- type
type: object
properties:
key:
type: string
type:
$ref: '#/components/schemas/MergeDetails.EventType'
sourceCalendarId:
type: string
nullable: true
sourceReclaimCalendarId:
type: integer
format: int64
nullable: true
SipEntryPoint:
required:
- uri
type: object
properties:
uri:
type: string
label:
type: string
nullable: true
passcode:
type: string
nullable: true
type:
type: string
ReclaimRecurrence:
required:
- frequency
type: object
properties:
interval:
type: integer
description: 'Repeat interval: 1 means every, 2 means every other, 3 means every 3rd. Defaults to 1.'
format: int32
frequency:
description: 'How often the event recurs: DAILY, WEEKLY, MONTHLY, or YEARLY'
allOf:
- $ref: '#/components/schemas/RecurrenceFrequency'
days:
type: array
description: Days of the week for WEEKLY frequency (e.g. MONDAY, WEDNESDAY, FRIDAY)
items:
$ref: '#/components/schemas/DayOfWeek'
monthlyDay:
description: Day of the month for MONTHLY frequency
nullable: true
allOf:
- $ref: '#/components/schemas/MonthlyDay'
yearlyDay:
description: Day of the year for YEARLY frequency
nullable: true
allOf:
- $ref: '#/components/schemas/YearlyDay'
until:
type: string
description: When the recurrence ends (yyyy-MM-ddTHH:mm:ssZ format, e.g. 2026-06-30T23:59:59Z). Mutually exclusive with count. Omit for no end date.
format: date-time
count:
type: integer
description: Total number of occurrences. Mutually exclusive with until. Omit for no end date.
format: int32
valid:
type: boolean
description: 'Recurrence pattern for a recurring event.
- frequency is always required
- For WEEKLY: days is required (which days of the week)
- For MONTHLY: monthlyDay is required (which day of the month)
- For YEARLY: yearlyDay is required (which day of the year)
- interval defaults to 1 (every occurrence)
- Optionally set count or until to limit occurrences'
MeetConferenceData:
required:
- conferenceUrl
- entryPoints
type: object
properties:
conferenceUrl:
type: string
entryPoints:
type: array
items:
$ref: '#/components/schemas/ConferenceEntryPoint'
type:
type: string
ConferenceData:
type: object
discriminator:
propertyName: type
mapping:
MeetConferenceData: '#/components/schemas/MeetConferenceData'
TeamsConferenceData: '#/components/schemas/TeamsConferenceData'
ZoomConferenceData: '#/components/schemas/ZoomConferenceData'
PendingConferenceData: '#/components/schemas/PendingConferenceData'
oneOf:
- $ref: '#/components/schemas/MeetConferenceData'
- $ref: '#/components/schemas/TeamsConferenceData'
- $ref: '#/components/schemas/ZoomConferenceData'
- $ref: '#/components/schemas/PendingConferenceData'
RecurringSeriesView:
required:
- event
- recurrence
type: object
properties:
event:
$ref: '#/components/schemas/CalendarEventV2'
recurrence:
$ref: '#/components/schemas/RecurringSeriesView.RecurrenceMetadataView'
GoogleEventData:
required:
- guestPermissions
type: object
properties:
guestPermissions:
$ref: '#/components/schemas/GuestPermissions'
focusTimeProperties:
nullable: true
allOf:
- $ref: '#/components/schemas/FocusTimeProperties'
type:
type: string
AllowedEditTypesView:
required:
- reason
- types
type: object
properties:
types:
type: array
items:
$ref: '#/components/schemas/EventEditType'
reason:
$ref: '#/components/schemas/AllowedEditTypeReason'
Colorized:
type: object
properties:
color:
$ref: '#/components/schemas/EventColor'
EventDateRange:
type: object
discriminator:
propertyName: type
mapping:
FixedDateTimeRange: '#/components/schemas/FixedDateTimeRange'
AllDayDateRange: '#/components/schemas/AllDayDateRange'
oneOf:
- $ref: '#/components/schemas/FixedDateTimeRange'
- $ref: '#/components/schemas/AllDayDateRange'
ManagedEventData:
type: object
properties:
originalDurationMinutes:
type: integer
format: int64
nullable: true
linkedSuccessorExternalId:
type: string
nullable: true
BufferEventType:
type: string
enum:
- BEFORE
- AFTER
- BEFORE_AND_AFTER
ConferenceRequestType:
type: string
enum:
- MeetConferenceRequest
- TeamsConferenceRequest
- ZoomConferenceRequest
x-enum-varnames:
- MeetConferenceRequest
- TeamsConferenceRequest
- ZoomConferenceRequest
EventType:
type: string
enum:
- MEETING
- WORK
- LOGISTICS
- PERSONAL
FocusTimeProperties:
type: object
properties:
autoDeclineMode:
nullable: true
allOf:
- $ref: '#/components/schemas/AutoDeclineMode'
declineMessage:
type: string
nullable: true
chatStatus:
nullable: true
allOf:
- $ref: '#/components/schemas/FocusTimeChatStatus'
RecurringAssignmentType:
type: string
enum:
- ONE_ON_ONE
- DAILY_HABIT
- TASK
SmartSeriesId:
required:
- lineageId
- seriesId
type: object
properties:
seriesId:
type: integer
format: int64
lineageId:
type: integer
format: int64
type:
type: string
Month:
type: string
enum:
- JANUARY
- FEBRUARY
- MARCH
- APRIL
- MAY
- JUNE
- JULY
- AUGUST
- SEPTEMBER
- OCTOBER
- NOVEMBER
- DECEMBER
RecurrenceFrequency:
type: string
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
ReclaimSchedulerData:
required:
- assistType
- manuallyStarted
- pinned
type: object
properties:
assistType:
$ref: '#/components/schemas/AssistType'
pinned:
type: boolean
manuallyStarted:
type: boolean
EventResourceParticipant:
required:
- email
type: object
properties:
displayName:
type: string
nullable: true
email:
type: string
capacity:
type: integer
format: int32
nullable: true
buildingId:
type: string
nullable: true
buildingName:
type: string
nullable: true
buildingDescription:
type: string
nullable: true
floorName:
type: string
nullable: true
category:
type: string
nullable: true
type:
type: string
PriorityLevel:
type: string
enum:
- P1
- P2
- P3
- P4
- PRIORITIZE
- DEFAULT
x-deprecated:
- PRIORITIZE
- DEFAULT
EntryStatus:
type: string
enum:
- CONFIRMED
- TENTATIVE
- CANCELLED
EventAttendee:
required:
- email
type: object
properties:
email:
type: string
self:
type: boolean
nullable: true
displayName:
type: string
nullable: true
responseStatus:
nullable
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/reclaim-ai/refs/heads/main/openapi/reclaim-ai-events-api-openapi.yml