Reclaim.ai websocket API
The websocket API from Reclaim.ai — 7 operation(s) for websocket.
The websocket API from Reclaim.ai — 7 operation(s) for websocket.
openapi: 3.0.1
info:
title: Reclaim account-time-schemes websocket 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: websocket
paths:
/ws-relay:
post:
tags:
- websocket
operationId: relay
parameters:
- name: connectionId
in: query
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
format: byte
required: true
responses:
'200':
description: relay 200 response
content:
application/json:
schema:
type: object
/ws/bogus:
post:
tags:
- websocket
summary: This is a bogus endpoint that gives us swagger generated objects for our websocket specific classes.
description: This is a bogus endpoint that gives us swagger generated objects for our websocket specific classes.
operationId: swaggerHelper
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/BogusRequest'
- properties:
user:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
description: swaggerHelper 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
/ws/connect:
post:
tags:
- websocket
operationId: connect_1
parameters:
- name: connectionId
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
user:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
description: connect_1 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
/ws/default:
post:
tags:
- websocket
operationId: defaultHandler
responses:
'200':
description: defaultHandler 200 response
content:
application/json:
schema:
type: object
/ws/disconnect:
post:
tags:
- websocket
operationId: disconnect
parameters:
- name: connectionId
in: header
required: true
schema:
type: string
responses:
'200':
description: disconnect 200 response
content:
application/json:
schema:
type: object
/ws/subscribe:
post:
tags:
- websocket
operationId: subscribe
parameters:
- name: connectionId
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubscribeAction'
required: true
responses:
'200':
description: subscribe 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/WebSocketResponseEnvelope'
/ws/unsubscribe:
post:
tags:
- websocket
operationId: unsubscribe_2
parameters:
- name: connectionId
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UnsubscribeAction'
required: true
responses:
'200':
description: unsubscribe_2 200 response
content:
application/json:
schema:
type: object
components:
schemas:
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
DefaultRsvpAvailability:
type: object
properties:
treatNeedsActionRsvpAs:
$ref: '#/components/schemas/AvailabilityType'
SchedulingWindowWeeks:
type: string
enum:
- ONE
- TWO
- THREE
- FOUR
- FIVE
- SIX
- SEVEN
- EIGHT
- NINE
- TEN
- ELEVEN
- TWELVE
EventKey:
required:
- calendarId
- eventId
type: object
properties:
eventId:
type: string
calendarId:
type: integer
format: int64
WebhookSettings:
type: object
properties:
enabled:
type: boolean
all:
$ref: '#/components/schemas/WebhookSettings'
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
UserInterests:
type: object
properties:
tasks:
type: boolean
priorities:
type: boolean
office365:
type: boolean
calendar:
type: boolean
asana:
type: boolean
trello:
type: boolean
todoist:
type: boolean
jira:
type: boolean
linear:
type: boolean
clickup:
type: boolean
monday:
type: boolean
MSTeams:
type: boolean
AvailabilitySettings:
type: object
properties:
redisCacheEnabled:
type: boolean
WebSocketRequestAction:
type: object
discriminator:
propertyName: action
mapping:
subscribe: '#/components/schemas/SubscribeAction'
unsubscribe: '#/components/schemas/UnsubscribeAction'
UserProfileDepartment:
type: string
enum:
- PRODUCT
- ENGINEERING
- SUPPORT
- MARKETING
- SALES
- DESIGN
- HR
- OPERATIONS
- ACCOUNTING_AND_FINANCE
- FOUNDER
- EXECUTIVE_ASSISTANT
- IT_SECURITY
- OTHER
x-deprecated:
- OTHER
Colorized:
type: object
properties:
color:
$ref: '#/components/schemas/EventColor'
EventType:
type: string
enum:
- MEETING
- WORK
- LOGISTICS
- PERSONAL
TaskAutoWorkflowSettings:
type: object
properties:
category:
$ref: '#/components/schemas/TaskAutoWorkflowType'
durationToWaitInDays:
type: integer
format: int32
RecurringAssignmentType:
type: string
enum:
- ONE_ON_ONE
- DAILY_HABIT
- TASK
AsanaSettings:
type: object
properties:
enabled:
type: boolean
TimezonePreference:
type: string
enum:
- USE_PRIMARY_CALENDAR_TZ
- USE_RECLAIM_TZ
UserProvisioningDetails:
required:
- hasTeamProvisionedMetadata
type: object
properties:
hasTeamProvisionedMetadata:
type: boolean
PriorityLevel:
type: string
enum:
- P1
- P2
- P3
- P4
- PRIORITIZE
- DEFAULT
x-deprecated:
- PRIORITIZE
- DEFAULT
EventAttendee:
required:
- email
type: object
properties:
email:
type: string
self:
type: boolean
nullable: true
displayName:
type: string
nullable: true
responseStatus:
nullable: true
allOf:
- $ref: '#/components/schemas/ResponseStatus'
comment:
type: string
nullable: true
optional:
type: boolean
nullable: true
additionalGuests:
type: integer
format: int32
nullable: true
organizer:
type: boolean
nullable: true
resource:
type: boolean
nullable: true
UserMetadataUsecase:
type: string
enum:
- EDUCATION
- WORK
- NON_PROFIT
- TEAM
- SOLO_WORK
- PERSONAL
x-deprecated:
- EDUCATION
- NON_PROFIT
ExperimentalSettings:
type: object
properties:
treatOptionalSmartMeetingAttendeesAsFree:
type: boolean
lookAheadForSmartMeetingIdealDayOnWeeklyMeetings:
type: boolean
EventSubType:
type: string
enum:
- ONE_ON_ONE
- STAFF_MEETING
- OP_REVIEW
- EXTERNAL
- IDEATION
- FOCUS
- PRODUCTIVITY
- TRAVEL
- FLIGHT
- TRAIN
- RECLAIM
- VACATION
- HEALTH
- ERRAND
- OTHER_PERSONAL
- UNKNOWN
PrioritiesSettings:
type: object
properties:
enabled:
type: boolean
EventDisplayPreferences:
required:
- attribution
- busyEmoji
- description
- doneEmoji
- freeEmoji
- lockEmoji
- prefix
- progressEmoji
- warningEmoji
type: object
properties:
progressEmoji:
type: boolean
lockEmoji:
type: boolean
freeEmoji:
type: boolean
busyEmoji:
type: boolean
doneEmoji:
type: boolean
warningEmoji:
type: boolean
description:
type: boolean
attribution:
type: boolean
prefix:
type: boolean
SchedulingWindowWeeksOverride:
type: string
enum:
- ONE
- TWO
- THREE
- FOUR
- FIVE
- SIX
- SEVEN
- EIGHT
- NINE
- TEN
- ELEVEN
- TWELVE
UserAccountLock.AccountLockType:
type: string
enum:
- PIPELINE_MIGRATION
SignupMethod:
type: string
enum:
- SCIM
- ADMIN_API
- SLACK
- SELF
AssistPlanned:
required:
- endTime
- notificationKeys
- startTime
type: object
properties:
startTime:
type: string
format: date-time
endTime:
type: string
format: date-time
notificationKeys:
type: array
items:
type: string
events:
type: array
items:
$ref: '#/components/schemas/Event'
UserMetadata:
type: object
properties:
jobTitle:
type: string
companyName:
type: string
companySize:
$ref: '#/components/schemas/UserMetadataCompanySize'
usecase:
$ref: '#/components/schemas/UserMetadataUsecase'
role:
nullable: true
allOf:
- $ref: '#/components/schemas/UserProfileRole'
goals:
type: array
items:
$ref: '#/components/schemas/UserProfileGoal'
isWorkspace:
type: boolean
department:
nullable: true
allOf:
- $ref: '#/components/schemas/UserProfileDepartment'
orgMetadata:
$ref: '#/components/schemas/OrgMetadata'
UserMetadataCompanySize:
type: string
enum:
- SUB_10
- SUB_50
- SUB_100
- SUB_500
- SUB_1000
- THOUSAND_PLUS
EventResponseStatus:
type: string
enum:
- None
- Organizer
- Accepted
- Declined
- TentativelyAccepted
- NotResponded
x-enum-varnames:
- None
- Organizer
- Accepted
- Declined
- TentativelyAccepted
- NotResponded
CalendarEntrySettings:
type: object
properties:
pipelineEnabled:
type: boolean
pipelineWatchEnabled:
type: boolean
autoMigrate:
type: boolean
shouldMigrate:
type: boolean
selfServiceMigrate:
type: boolean
dailyAudit:
type: boolean
microsoftPipelineBatching:
type: boolean
scoredTopContacts:
type: boolean
googleGhCutoff:
type: boolean
usePipelineCleanCalendar:
type: boolean
dedicatedUpsertEnabled:
type: boolean
DetailedEntitlements:
type: object
properties:
unlimitedHabitsEnabled:
$ref: '#/components/schemas/EntitlementDetails'
unlimitedSyncEnabled:
$ref: '#/components/schemas/EntitlementDetails'
unlimitedConnectedCalendarsEnabled:
$ref: '#/components/schemas/EntitlementDetails'
customSyncTransparencyEnabled:
$ref: '#/components/schemas/EntitlementDetails'
smart11CreationEnabled:
$ref: '#/components/schemas/EntitlementDetails'
customSlackSyncStatusEnabled:
$ref: '#/components/schemas/EntitlementDetails'
customConferenceBufferTitleEnabled:
$ref: '#/components/schemas/EntitlementDetails'
linearEnabled:
$ref: '#/components/schemas/EntitlementDetails'
jiraEnabled:
$ref: '#/components/schemas/EntitlementDetails'
todoistEnabled:
$ref: '#/components/schemas/EntitlementDetails'
asanaEnabled:
$ref: '#/components/schemas/EntitlementDetails'
clickupEnabled:
$ref: '#/components/schemas/EntitlementDetails'
trelloEnabled:
$ref: '#/components/schemas/EntitlementDetails'
mondayEnabled:
$ref: '#/components/schemas/EntitlementDetails'
AssistSettings:
type: object
properties:
travel:
type: boolean
otherTravelDuration:
type: integer
format: int32
conferenceBuffer:
type: boolean
conferenceBufferDuration:
type: integer
format: int32
assignmentPaddingDuration:
type: integer
format: int32
conferenceBufferPrivate:
type: boolean
conferenceBufferType:
$ref: '#/components/schemas/ConferenceBufferType'
customConferenceBufferTitle:
type: string
focus:
type: boolean
allOneOnOnesBusy:
type: boolean
autoLockForMeetings:
$ref: '#/components/schemas/AutoLock'
autoLockForNonMeetings:
$ref: '#/components/schemas/AutoLock'
sendMeetingNotifications:
type: boolean
useFreeBusyEmojis:
type: boolean
useLockEmoji:
type: boolean
includeDescription:
type: boolean
includeAttribution:
type: boolean
smartSeries:
type: boolean
smartMeetingRecurrenceType:
$ref: '#/components/schemas/SmartSeriesRecurrenceType'
smartHabitRecurrenceType:
$ref: '#/components/schemas/SmartSeriesRecurrenceType'
showClassicHabits:
type: boolean
allowSmartSeriesOptIn:
type: boolean
smartSeriesMigrateComplete:
type: boolean
neverSeenClassicHabits:
type: boolean
notificationSettings:
$ref: '#/components/schemas/AssistNotificationSettings'
assistDays:
type: integer
format: int32
bypassed:
type: boolean
dayZero:
type: string
format: date
schedulerDisabled:
type: boolean
schedulerSuppressedUntil:
type: string
format: date-time
schedulerSuppressed:
type: boolean
rescheduleUnstarted:
type: boolean
rescheduleUnstartedOkToSchedule:
type: boolean
dampSmartMeetings:
type: boolean
scheduleSmartMeetingsAtMostDaily:
type: boolean
scheduleSmartMeetingsOnce:
type: boolean
manualAssistRunsEnabled:
type: boolean
schedulerWindowWeeks:
nullable: true
allOf:
- $ref: '#/components/schemas/SchedulingWindowWeeksOverride'
extendedSmartMeetingCooldown:
type: boolean
includeOrganizerInSmartSeries:
type: boolean
deprecated: true
debugScheduler:
type: boolean
smartHabitGen2ToGen3MigrationDate:
type: string
format: date-time
smartMeetingGen2ToGen3MigrationDate:
type: string
format: date-time
gen1HabitsAndMeetingsToGen3AutoMigrate:
type: boolean
smartHabitsToGen3AutoMigrate:
type: boolean
smartMeetingsToGen3AutoMigrate:
type: boolean
SubscriptionType:
type: string
enum:
- Events
- CalendarEvents
- SyncStatus
- DailyHabit
- OneOnOne
- Task
- AssistCompleted
- AssistPlanned
- NewSubscription
- Moment
- Quest
- ProductUsage
- User
- Team
- SchedulingLink
- Analytics
- SmartMeeting
- SmartHabit
- Unsubscribe
- AssistantInteraction
- UserReset
- PipelineMigration
- ProactiveGtd
- ActionItemCreation
- AssistMigration
x-enum-varnames:
- Events
- CalendarEvents
- SyncStatus
- DailyHabit
- OneOnOne
- Task
- AssistCompleted
- AssistPlanned
- NewSubscription
- Moment
- Quest
- ProductUsage
- User
- Team
- SchedulingLink
- Analytics
- SmartMeeting
- SmartHabit
- Unsubscribe
- AssistantInteraction
- UserReset
- PipelineMigration
- ProactiveGtd
- ActionItemCreation
- AssistMigration
DayOfWeek:
type: string
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
AdventureSetting:
required:
- complete
type: object
properties:
complete:
type: boolean
AssistNotificationSettings:
required:
- detectedDigest
- instanceChanges
- instanceWindowInDays
- needsAttentionDigest
type: object
properties:
instanceChanges:
type: boolean
instanceWindowInDays:
type: integer
format: int32
needsAttentionDigest:
type: boolean
detectedDigest:
type: boolean
User:
required:
- edition
- editionUsage
- schedulerWindowWeeks
- sku
type: object
properties:
id:
type: string
email:
type: string
principal:
type: string
provider:
type: string
baseProvider:
type: string
name:
type: string
firstName:
type: string
entitlements:
$ref: '#/components/schemas/Entitlements'
detailedEntitlements:
$ref: '#/components/schemas/DetailedEntitlements'
editionEntitlements:
properties:
MAX_TEAM_SIZE:
$ref: '#/components/schemas/EntitlementValue_Object_'
SCHEDULER_WEEKS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_TASKS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_CALENDARS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_SYNCS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_HABITS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_TASKS_WEEK:
$ref: '#/components/schemas/EntitlementValue_Object_'
TRAVEL_TIME:
$ref: '#/components/schemas/EntitlementValue_Object_'
DECOMPRESSION_TIME:
$ref: '#/components/schemas/EntitlementValue_Object_'
CUSTOM_BLOCKING:
$ref: '#/components/schemas/EntitlementValue_Object_'
CUSTOM_BLOCKING_DECOMPRESSION:
$ref: '#/components/schemas/EntitlementValue_Object_'
CUSTOM_BLOCKING_HABITS:
$ref: '#/components/schemas/EntitlementValue_Object_'
CUSTOM_BLOCKING_CALENDAR_SYNC:
$ref: '#/components/schemas/EntitlementValue_Object_'
CUSTOM_SLACK_STATUS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_SCHEDULING_LINKS:
$ref: '#/components/schemas/EntitlementValue_Object_'
DERIVATIVE_SCHEDULING_LINKS:
$ref: '#/components/schemas/EntitlementValue_Object_'
SCHEDULING_LINK_SURVEY:
$ref: '#/components/schemas/EntitlementValue_Object_'
SCHEDULING_LINK_REDIRECT:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_SCHEDULING_LINK_MEETINGS_QUARTER:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_1_ON_1_ORGANIZE:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_1_ON_1_ATTEND:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_CUSTOM_TIME_SCHEMES:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATIONS:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_GOOGLE_TASKS:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_GOOGLE_ADD_ON:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_SLACK:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_RAYCAST:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_ZOOM:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_TODOIST:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_LINEAR:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_JIRA:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_CLICKUP:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_ASANA:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_OFFICE_365:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_MONDAY:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_TRELLO:
$ref: '#/components/schemas/EntitlementValue_Object_'
INTEGRATION_DROPBOX:
$ref: '#/components/schemas/EntitlementValue_Object_'
SUPPORT:
$ref: '#/components/schemas/EntitlementValue_Object_'
SSO:
$ref: '#/components/schemas/EntitlementValue_Object_'
TEAM_ANALYTICS:
$ref: '#/components/schemas/EntitlementValue_Object_'
EVENT_PREFERENCES:
$ref: '#/components/schemas/EntitlementValue_Object_'
DELEGATED_ACCESS:
$ref: '#/components/schemas/EntitlementValue_Object_'
SCHEDULING_LINK_ROUND_ROBIN:
$ref: '#/components/schemas/EntitlementValue_Object_'
SCHEDULING_LINK_BRANDING:
$ref: '#/components/schemas/EntitlementValue_Object_'
SMART_MEETING_ATTENDEE_USERS:
$ref: '#/components/schemas/EntitlementValue_Object_'
WEBHOOKS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_STATS_WINDOW:
$ref: '#/components/schemas/EntitlementValue_Object_'
FOCUS_TIME:
$ref: '#/components/schemas/EntitlementValue_Object_'
OOO_CALENDAR:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_AGENTS:
$ref: '#/components/schemas/EntitlementValue_Object_'
MAX_DAILY_LLM_COST_MICROS:
$ref: '#/components/schemas/EntitlementValue_Object_'
PROACTIVE_LLM:
$ref: '#/components/schemas/EntitlementValue_Object_'
MCP:
$ref: '#/components/schemas/EntitlementValue_Object_'
lastName:
type: string
avatarUrl:
type: string
admin:
type: boolean
slackEnabled:
type: boolean
impersonated:
type: boolean
timestampOffsetMs:
type: integer
format: int64
features:
$ref: '#/components/schemas/UserSettings'
settings:
$ref: '#/components/schemas/Settings'
metadata:
$ref: '#/components/schemas/UserMetadata'
created:
type: string
format: date-time
deleted:
type: string
format: date-time
onboarded:
type: boolean
trackingCode:
type: string
locale:
type: string
likelyPersonal:
type: boolean
apiKey:
type: string
sku:
deprecated: true
allOf:
- $ref: '#/components/schemas/ReclaimEdition'
edition:
$ref: '#/components/schemas/ReclaimEdition'
editionAfterTrial:
nullable: true
allOf:
- $ref: '#/components/schemas/ReclaimEdition'
editionUsage:
$ref: '#/components/schemas/ReclaimEdition'
preDowngradeEditionUsage:
$ref: '#/components/schemas/ReclaimEdition'
overage:
type: boolean
logContextUser:
nullable: true
allOf:
- $ref: '#/components/schemas/ObservedUser'
refCode:
type: string
hostedDomain:
type: string
nullable: true
primaryCalendar:
nullable: true
allOf:
- $ref: '#/components/schemas/ThinCalendar'
primaryCalendarId:
type: string
timezone:
type: string
startOfWeek:
$ref: '#/components/schemas/DayOfWeek'
usingDelegatedAccess:
type: boolean
firstLogin:
type: string
format: date-time
nullable: true
signupMethod:
nullable: true
allOf:
- $ref: '#/components/schemas/SignupMethod'
providerCreated:
type: string
format: date-time
nullable: true
schedulerWindowWeeks:
$ref: '#/components/schemas/SchedulingWindowWeeks'
userDateTimeFormatter:
$ref: '#/components/schemas/UserDateTimeFormatter'
userProvisioningDetails:
$ref: '#/components/schemas/UserProvisioningDetails'
EventStatus:
type: string
enum:
- PUBLISHED
- CANCELLED
TaskAutoWorkflowType:
type: string
enum:
- NOTHING
- REOPEN
- CLOSE
MicrosoftSettings:
type: object
properties:
smartSeriesDetectionEnabled:
type: boolean
useFullyExpandedSeriesMasterForInterop:
type: boolean
resolveReclaimForNonMemberUsingCalendarView:
type: boolean
GoogleAddOnSettings:
type: object
properties:
enabled:
type: boolean
UserProfileGoal:
type: string
enum:
- HEADS_DOWN_TIME
- MEETINGS
- WORK_LIFE_BALANCE
- MULTIPLE_CALENDARS
TimezoneSettings:
required:
- timeZonePreference
type: object
properties:
zoneId:
type: string
nullable: true
timeZonePreference:
$ref: '#/components/schemas/TimezonePreference'
timezonePreference:
$ref: '#/components/schemas/TimezonePreference'
EntitlementDetails:
required:
- minimumEdition
- name
type: object
properties:
minimumEdition:
type: string
name:
type: string
enabledForUser:
type: boolean
ConferenceBufferType:
type: string
enum:
- ALL_MEETINGS
- CONFERENCE_MEETINGS
UserDateTimeFormatter:
type: object
properties:
locale:
type: string
AvailabilityType:
type: string
enum:
- BUSY
- FREE
Subscription:
type: object
properties:
subscriptionType:
$ref: '#/components/schemas/SubscriptionType'
discriminator:
propertyName: subscriptionType
mapping:
Task: '#/components/schemas/TaskSubscription'
ActionItemCreation: '#/components/schemas/ActionItemCreationSubscription'
User: '#/components/schemas/UserSubscription'
AssistCompleted: '#/components/schemas/AssistCompletedSubscription'
ProductUsage: '#/components/schemas/ProductUsageSubscription'
AssistantInteraction: '#/components/schemas/AssistantInteractionSubscription'
AssistPlanned: '#/components/schemas/AssistPlannedSubscription'
ProactiveGtd: '#/components/schemas/ProactiveGtdSubscription'
SyncStatus: '#/components/schemas/SyncStatusSubscription'
SmartHabit: '#/components/schemas/SmartHabitSubscription'
SchedulingLink: '#/components/schemas/SchedulingLinkSubscription'
Quest: '#/components/schemas/QuestSubscription'
Analytics: '#/components/schemas/AnalyticsSubscription'
DailyHabit: '#/components/schemas/DailyHabitSubscription'
OneOnOne: '#/components/schemas/OneOnOneSubscription'
Moment: '#/components/schemas/MomentSubscription'
Events: '#/components/schemas/EventsSubscription'
UserReset: '#/components/schemas/UserResetSubscription'
AssistMigration: '#/components/schemas/AssistMigrationSubscription'
Team: '#/components/schemas/TeamSubscription'
CalendarEvents: '#/components/schemas/CalendarEventsSubscription'
PipelineMigration: '#/components/schemas/PipelineMigrationSubscription'
SmartMeeting: '#/components/schemas/SmartMeetingSubscription'
SyncFeatureSettings:
type: object
properties:
enabled:
type: boolean
hasVipPrivileges:
type: boolean
daysBackwardOverride:
type: integer
format: int32
AssistType:
type: string
enum:
- TASK
- CUSTOM_DAILY
- CATCHUP_AM
- CATCHUP_PM
- LUNCH
- FOCUS
- TRAVEL_PRE
- TRAVEL_POST
- CONBUF
- SMART_HABIT
- SMART_MEETING
- RECLAIM_FOCUS
GoogleCalendarEventMetadata:
required:
- guestsCanInviteOthers
- guestsCanModify
- guestsCanSeeOtherGuests
type: object
properties:
guestsCanModify:
type: boolean
guestsCanInviteOthers:
type: boolean
guestsCanSeeOtherGuests:
type: boolean
SlackStatusSetting:
type: object
properties:
emoji:
type: string
template:
type: string
dnd:
type: boolean
enabled:
type: boolean
UserPostOnboard:
type: object
properties:
welcomed:
$ref: '#/components/schemas/UserPostOnboardState'
focus:
$ref: '#/components/schemas/UserPostOnboardState'
hours:
$ref: '#/components/schemas/UserPostOnboardState'
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/reclaim-ai/refs/heads/main/openapi/reclaim-ai-websocket-api-openapi.yml