openapi: 3.0.1 info: title: Reclaim account-time-schemes calendars 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: calendars paths: /api/calendars/permissions/sync: post: tags: - calendars operationId: syncPermissions responses: '200': description: syncPermissions 200 response content: application/json: schema: type: object security: - Authorization: [] /api/calendars/personal: get: tags: - calendars operationId: getAllPersonal responses: '200': description: getAllPersonal 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendar' security: - Authorization: [] /api/calendars/personal/candidates: get: tags: - calendars operationId: getPersonalCandidates parameters: - name: credentialId in: query schema: type: integer format: int64 nullable: true responses: '200': description: getPersonalCandidates 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendar' security: - Authorization: [] /api/calendars/personal/{id}: get: tags: - calendars operationId: getPersonal parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: getPersonal 200 response content: application/json: schema: $ref: '#/components/schemas/Calendar' security: - Authorization: [] delete: tags: - calendars operationId: deletePersonal parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK response content: application/json: schema: nullable: true deprecated: true security: - Authorization: [] /api/calendars/primary: get: tags: - calendars operationId: getPrimary responses: '200': description: getPrimary 200 response content: application/json: schema: $ref: '#/components/schemas/Calendar' security: - Authorization: [] /api/calendars/share: post: tags: - calendars operationId: share parameters: - name: credentialId in: query required: true schema: type: integer format: int64 responses: '200': description: OK response content: application/json: schema: nullable: true security: - Authorization: [] /api/calendars/sync: get: tags: - calendars operationId: getAllSync responses: '200': description: getAllSync 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendar' security: - Authorization: [] post: tags: - calendars operationId: createSync requestBody: content: application/json: schema: $ref: '#/components/schemas/CalendarRequest' required: true responses: '200': description: createSync 200 response content: application/json: schema: $ref: '#/components/schemas/Calendar' security: - Authorization: [] /api/calendars/sync/candidates: get: tags: - calendars operationId: getSyncCandidates parameters: - name: credentialId in: query schema: type: integer format: int64 nullable: true responses: '200': description: getSyncCandidates 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendar' security: - Authorization: [] /api/calendars/sync/interest: post: tags: - calendars operationId: interest parameters: - name: type in: query required: true schema: type: string responses: '200': description: OK response content: application/json: schema: nullable: true security: - Authorization: [] /api/calendars/sync/{credentialId}/candidates/sources: get: tags: - calendars operationId: getSourceCandidates parameters: - name: credentialId in: path required: true schema: type: integer format: int64 responses: '200': description: getSourceCandidates 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendar' security: - Authorization: [] /api/calendars/sync/{credentialId}/candidates/targets: get: tags: - calendars operationId: getTargetCandidates parameters: - name: credentialId in: path required: true schema: type: integer format: int64 responses: '200': description: getTargetCandidates 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendar' security: - Authorization: [] /api/calendars/sync/{id}: get: tags: - calendars operationId: getSync parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: getSync 200 response content: application/json: schema: $ref: '#/components/schemas/Calendar' security: - Authorization: [] delete: tags: - calendars operationId: deleteSync parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK response content: application/json: schema: nullable: true security: - Authorization: [] /api/calendars/watch: post: tags: - calendars operationId: watch responses: '200': description: watch 200 response content: application/json: schema: type: string /api/calendars/watchList: post: tags: - calendars summary: Heads up! We have seen at least one case where Google can issue an excessive, unnatural amount of watch callbacks. description: Heads up! We have seen at least one case where Google can issue an excessive, unnatural amount of watch callbacks. for more information. Specifically, BE CAREFUL adding any blocking IO code, such as web service calls or database queries, upstream of that job. operationId: listWatch responses: '200': description: listWatch 200 response content: application/json: schema: type: string /api/calendars/watchSettings: post: tags: - calendars operationId: settingsWatch responses: '200': description: settingsWatch 200 response content: application/json: schema: type: string /api/calendars/{calendarId}/audit-and-repair: post: tags: - calendars operationId: repair parameters: - name: calendarId in: path required: true schema: type: integer format: int64 responses: '200': description: repair 200 response content: application/json: schema: type: object additionalProperties: true security: - Authorization: [] /api/calendars/{calendarId}/audit-and-repair-v2: post: tags: - calendars operationId: auditAndRepairV2 parameters: - name: calendarId in: path required: true schema: type: integer format: int64 - name: resyncMode in: query required: true schema: $ref: '#/components/schemas/CalendarConsistencyService.ResyncMode' responses: '200': description: auditAndRepairV2 200 response content: application/json: schema: type: object additionalProperties: true security: - Authorization: [] /api/calendars/{credentialId}/{externalCalendarId}/clean: post: tags: - calendars operationId: cleanCalendar parameters: - name: credentialId in: path required: true schema: type: integer format: int64 - name: externalCalendarId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CleanRequest' required: true responses: '200': description: cleanCalendar 200 response security: - Authorization: [] /api/calendars/{credentialId}/{externalId}/colors: delete: tags: - calendars operationId: clearColors parameters: - name: credentialId in: path required: true schema: type: integer format: int64 - name: externalId in: path required: true schema: type: string - name: daysBack in: query schema: type: string requestBody: content: application/json: schema: type: object properties: daysBack: type: integer format: int32 nullable: true required: true responses: '200': description: clearColors 200 response content: application/json: schema: type: object security: - Authorization: [] /api/calendars/{targetCalendarId}/rescore: post: tags: - calendars operationId: cleanSync parameters: - name: targetCalendarId in: path required: true schema: type: integer format: int64 responses: '200': description: cleanSync 200 response security: - Authorization: [] components: schemas: 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 WebhookSettings: type: object properties: enabled: type: boolean all: $ref: '#/components/schemas/WebhookSettings' 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 AuthProvider: type: string enum: - google - microsoft - dropbox - test - mock_provider x-enum-varnames: - google - microsoft - dropbox - test - mock_provider 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' TaskAutoWorkflowSettings: type: object properties: category: $ref: '#/components/schemas/TaskAutoWorkflowType' durationToWaitInDays: type: integer format: int32 EventType: type: string enum: - MEETING - WORK - LOGISTICS - PERSONAL CalendarRequest: required: - calendar type: object properties: calendar: $ref: '#/components/schemas/Calendar' EventTypeSupport: required: - checkAfter - focusTime type: object properties: focusTime: type: boolean checkAfter: type: string format: date-time 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 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 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 SyncSettings: type: object properties: transparency: $ref: '#/components/schemas/SyncTransparency' workingHours: type: boolean defaultType: $ref: '#/components/schemas/EventType' type: $ref: '#/components/schemas/SyncCalendarType' color: $ref: '#/components/schemas/EventColor' allDayEvents: $ref: '#/components/schemas/SyncAllDayEvents' syncReclaimEvents: 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 Calendar.Type: type: string enum: - PRIMARY - SHADOW - PERSONAL - PRIORITY - PROJECT - OOO 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 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' SyncCalendarType: type: string enum: - BUSINESS - PERSONAL - TRAVEL - OOO 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 DayOfWeek: type: string enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY AdventureSetting: required: - complete type: object properties: complete: type: boolean CleanRequest: required: - assistEvents - futureOnly type: object properties: futureOnly: type: boolean assistEvents: type: boolean sourceCalendarId: type: integer format: int64 nullable: true sourceCalendarExternalId: type: string nullable: true syncEncodingVersion: type: integer format: int64 nullable: true GCalConstants.AccessRole: type: string enum: - freeBusyReader - reader - owner - writer - none x-enum-varnames: - freeBusyReader - reader - owner - writer - none 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' 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' Reminder: required: - minutes - reminderType type: object properties: reminderType: $ref: '#/components/schemas/ReminderType' minutes: type: integer format: int32 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 SyncFeatureSettings: type: object properties: enabled: type: boolean hasVipPrivileges: type: boolean daysBackwardOverride: type: integer format: int32 Calendar: required: - syncSettings type: object properties: valid: type: boolean primaryCalendarForAccount: type: boolean id: type: integer format: int64 name: type: string colorHex: type: string user: $ref: '#/components/schemas/User' userId: type: string calendarId: type: string externalCalendarId: $ref: '#/components/schemas/ExternalCalendarId' credentialEmail: $ref: '#/components/schemas/CredentialName' credentialProvider: $ref: '#/components/schemas/AuthProvider' credentialId: type: integer format: int64 syncToken: type: string watchGuid: type: string watchResourceId: type: string data: type: object additionalProperties: true eventTypeSupport: $ref: '#/components/schemas/EventTypeSupport' accessDomainRead: type: boolean authorized: type: boolean created: type: string format: date-time deleted: type: string format: date-time type: $ref: '#/components/schemas/Calendar.Type' accessRole: $ref: '#/components/schemas/GCalConstants.AccessRole' systemCalendar: type: boolean nextRefresh: type: string format: date-time timezone: type: string primaryCalendarId: type: string priority: type: integer format: int32 projectId: type: integer format: int64 connected: type: boolean syncSettings: $ref: '#/components/schemas/SyncSettings' lastSynced: type: string format: date-time syncIdEncodingVersion: type: integer format: int32 useType: $ref: '#/components/schemas/CalendarUseType' blockAvailability: type: boolean directlyConnected: type: boolean primary: type: boolean defaultReminders: type: array deprecated: true items: type: integer format: int32 reminderDefaults: type: array items: $ref: '#/components/schemas/Reminder' 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' habits: $ref: '#/components/schemas/UserPostOnboardState' firstTask: $ref: '#/components/schemas/UserPostOnboardState' integration: $ref: '#/components/schemas/UserPostOnboardState' smartMeetings: $ref: '#/components/schemas/UserPostOnboardState' schedulingLinks: $ref: '#/components/schemas/UserPostOnboardState' slackStatusSync: $ref: '#/components/schemas/UserPostOnboardState' travelTime: $ref: '#/components/schemas/UserPostOnboardState' zoom: $ref: '#/components/schemas/UserPostOnboardState' connectCalendars: $ref: '#/components/schemas/UserPostOnboardState' colors: $ref: '#/components/schemas/UserPostOnboardState' reclaimFree: $ref: '#/components/schemas/UserPostOnboardState' guidedTours: $ref: '#/components/schemas/UserPostOnboardState' SyncAllDayEvents: type: string enum: - SKIP_ALL - SYNC_BUSY - SYNC_ALL SyncTransparency: type: string enum: - DEFAULT - SEMI_PRIVATE - PRIVATE - PUBLIC - SEMI_PRIVATE_ALT AnalyticsSettings: type: object properties: teamAnalyticsV4ViewEnabled: type: boolean teamAnalyticsV4FiltersEnabled: type: boolean AutoLock: type: string enum: - 'OFF' - SAME_DAY - SAME_WEEK - TOMORROW - ROLLING_3_DAYS QuestSettings: type: object properties: enabled: type: boolean SchedulingLinkSettings: type: object properties: enabled: type: boolean note: type: string remindersMigrated: type: boolean messageTemplates: type: object additionalProperties: type: string nameVisibility: nullable: true allOf: - $ref: '#/components/schemas/SchedulingLinkNameVisibility' DateFieldOrder: type: string enum: - MDY - DMY - YMD TaskDefaults: type: object properties: timeChunksRequired: type: integer format: int32 commsTimeChunksRequired: type: integer format: int32 delayedStartInMinutes: type: integer format: int32 dueInDays: type: integer format: int32 nullable: true category: deprecated: true allOf: - $ref: '#/components/schemas/EventCategory' alwaysPrivate: type: boolean minChunkSize: type: integer format: int32 maxChunkSize: type: integer format: int32 timeSchemeId: type: string nullable: true priority: type: string onDeck: type: boolean splitUp: type: boolean googleTaskIntegrationNoDueDateWhenMissing: type: boolean UserOnboard: type: object properties: habits: type: boolean tasks: type: boolean googleTasks: type: boolean planItemPrioritized: type: boolean smartOneOnOnes: type: boolean bufferTime: type: boolean tasksReindex: type: boolean googleAddOn: type: boolean v16Scheduler: type: boolean helpMenus: type: boolean smartMeetingsJustNewQuest: type: boolean smartHabitsJustNewQuest: type: boolean smartMeetingsNavItem: type: boolean smartMeetingsPricingWarning: type: boolean showDowngradeAcknowledgement: type: boolean showUpgradeRestoreModal: type: boolean setupGuideV2: type: boolean accountAndPersonalSettings: type: boolean webhooks: type: boolean focus: type: boolean eventCreationInPlanner: type: boolean assistantIntegrations: type: boolean assistMigrationWelcomePending: type: boolean assistantPreviewChanges: type: boolean schedulingLinks: type: boolean Entitlements: type: object properties: unlimitedHabitsEnabled: type: boolean unlimitedConnectedCalendarsEnabled: type: boolean unlimitedSyncEnabled: type: boolean customSyncTransparencyEnabled: type: boolean smart11CreationEnabled: type: boolean customSlackSyncStatusEnabled: type: boolean customConferenceBufferTitleEnabled: type: boolean schedulingLinkSurveyEnabled: type: boolean maxDaysAheadForSchedulingLinks: type: integer format: int32 linearEnabled: type: boolean jiraEnabled: type: boolean todoistEnabled: type: boolean asanaEnabled: type: boolean clickupEnabled: type: boolean trelloEnabled: type: boolean mondayEnabled: type: boolean dropboxEnabled: type: boolean SSOEnabled: type: boolean ColorsSettings: type: object properties: enabled: type: boolean categoriesEnabled: type: boolean lastModified: type: string format: date-time priorities: type: object additionalProperties: $ref: '#/components/schemas/EventColor' categories: type: object additionalProperties: $ref: '#/components/schemas/EventColor' OrgMetadata.OrgManager: required: - displayName - managerId - ref type: object properties: managerId: type: string displayName: type: string ref: type: string UserAccountLock: required: - accountLockType - lockMessage type: object properties: accountLockType: $ref: '#/components/schemas/UserAccountLock.AccountLockType' lockMessage: type: string SmartSeriesRecurrenceType: type: string enum: - SINGLE_INSTANCES - RECURRING_SERIES CalendarPermissionSettings: type: object properties: enabled: type: boolean TaskSettings: required: - defaults type: object properties: enabled: type: boolean googleTasks: type: boolean defaults: $ref: '#/components/schemas/TaskDefaults' autoWorkflowSettings: $ref: '#/components/schemas/TaskAutoWorkflowSettings' scheduleWorkQueueOnly: type: boolean cooldown: $ref: '#/components/schemas/TaskCooldown' CalendarUseType: type: string enum: - UNKNOWN - MULTI_USE - WORK - PERSONAL - FAMILY - TEAM - VACATION - TRAVEL - TEAM_OOO_CALENDAR TaskCooldown: type: string enum: - NONE - LEGACY - HALF_HOUR - ONE_HOUR - TWO_HOURS - FOUR_HOURS - ONCE_A_DAY EventCategory: $ref: '#/components/schemas/Colorized' ThinCalendar: required: - calendarId - credentialEmail - credentialId - id - lastSynced - timezone type: object properties: id: type: integer format: int64 timezone: type: string calendarId: type: string lastSynced: type: string format: date-time credentialId: type: integer format: int64 credentialEmail: type: string SlotScorerVersion: type: string enum: - V1 UserProfileRole: type: string enum: - EXEC - MANAGER - NON_MANAGER - CONSULTANT - STUDENT ReminderType: type: string enum: - UI_NOTIFICATION - EMAIL AppNotificationsSettings: type: object properties: enabled: type: boolean unscheduledPriority: type: boolean audioAlertEnabled: type: boolean titleTagAlertEnabled: type: boolean UserSettings: required: - accountLocks - analyticsSettings - appNotifications - asana - assistSettings - assistant - availabilitySettings - billing - calendar - calendarEntrySettings - calendarPermissionSettings - colors - dropboxSettings - eventDisplayPreferences - experimentalSettings - focus - googleAddOnSettings - interests - microsoft - onboard - postOnboard - priorities - projects - quests - rsvpSetting - schedulingLinks - slackSettings - smartOneOnOnes - sync - taskSettings - temporal - timezoneSettings - todoistSettings - webhookSettings - weeklyReport type: object properties: assistSettings: $ref: '#/components/schemas/AssistSettings' scheduler: type: integer format: int32 prioritizationEnabled: type: boolean extraScopes: type: boolean peopleScopes: type: boolean directoryScopes: type: boolean taskSettings: $ref: '#/components/schemas/TaskSettings' priorities: $ref: '#/components/schemas/PrioritiesSettings' colors: $ref: '#/components/schemas/ColorsSettings' calendar: $ref: '#/components/schemas/CalendarSettings' focus: $ref: '#/components/schemas/FocusSettings' asana: $ref: '#/components/schemas/AsanaSettings' webhookSettings: $ref: '#/components/schemas/WebhookSettings' billing: $ref: '#/components/schemas/BillingSettings' projects: $ref: '#/components/schemas/ProjectsSettings' sync: $ref: '#/components/schemas/SyncFeatureSettings' slackSettings: $ref: '#/components/schemas/SlackSettings' todoistSettings: $ref: '#/components/schemas/TodoistSettings' appNotifications: $ref: '#/components/schemas/AppNotificationsSettings' interests: $ref: '#/components/schemas/UserInterests' onboard: $ref: '#/components/schemas/UserOnboard' postOnboard: $ref: '#/components/schemas/UserPostOnboard' weeklyReport: $ref: '#/components/schemas/WeeklyReport' smartOneOnOnes: $ref: '#/components/schemas/SmartOneOnOneSettings' schedulingLinks: $ref: '#/components/schemas/SchedulingLinkSettings' quests: $ref: '#/components/schemas/QuestSettings' googleAddOnSettings: $ref: '#/components/schemas/GoogleAddOnSettings' calendarEntrySettings: $ref: '#/components/schemas/CalendarEntrySettings' microsoft: $ref: '#/components/schemas/MicrosoftSettings' eventDisplayPreferences: $ref: '#/components/schemas/EventDisplayPreferences' timezoneSettings: $ref: '#/components/schemas/TimezoneSettings' rsvpSetting: $ref: '#/components/schemas/RSVPSetting' experimentalSettings: $ref: '#/components/schemas/ExperimentalSettings' dropboxSettings: $ref: '#/components/schemas/DropboxSettings' assistant: $ref: '#/components/schemas/ScheduleAssistantSettings' availabilitySettings: $ref: '#/components/schemas/AvailabilitySettings' calendarPermissionSettings: $ref: '#/components/schemas/CalendarPermissionSettings' analyticsSettings: $ref: '#/components/schemas/AnalyticsSettings' temporal: $ref: '#/components/schemas/TemporalSettings' accountLocks: type: array items: $ref: '#/components/schemas/UserAccountLock' adventures: $ref: '#/components/schemas/UserAdventures' appNotificationsSettings: $ref: '#/components/schemas/AppNotificationsSettings' maskSuppressUntil: type: string format: date-time availableMeetingTimes: type: array items: type: integer format: int32 FocusSettings: type: object properties: enabled: type: boolean debug: type: boolean EntitlementValue_Object_: required: - nextEdition - nextValue - value type: object properties: value: {} nextValue: nullable: true nextEdition: nullable: true allOf: - $ref: '#/components/schemas/ReclaimEdition' RSVPSetting: type: object properties: calendarSync: $ref: '#/components/schemas/DefaultRsvpAvailability' Settings: type: object properties: autoAddHangouts: type: boolean defaultEventLength: type: integer format: int32 weekStart: type: integer format: int32 format24HourTime: type: boolean locale: type: string showDeclinedEvents: type: boolean timezone: type: string dateFieldOrder: $ref: '#/components/schemas/DateFieldOrder' TodoistSettings: type: object properties: apiV1Enabled: type: boolean OrgMetadata: type: object properties: employeeNumber: type: string nullable: true costCenter: type: string nullable: true organization: type: string nullable: true division: type: string nullable: true department: type: string nullable: true manager: nullable: true allOf: - $ref: '#/components/schemas/OrgMetadata.OrgManager' customValues: type: object additionalProperties: true nullable: true UserPostOnboardState: type: string enum: - NEVER_SHOWN - NEVER_INTERACTED - PASS - CHECK - CTA DropboxSettings: type: object properties: enabled: type: boolean SlackOutsideHoursSetting: required: - dnd - policy type: object properties: policy: type: string message: type: string nullable: true dnd: type: boolean BillingSettings: type: object properties: enabled: type: boolean UserAdventures: type: object properties: adventures: properties: CORE_CONCEPTS: $ref: '#/components/schemas/AdventureSetting' CONNECT_PRIMARY_CALENDAR: $ref: '#/components/schemas/AdventureSetting' ADD_AGENT: $ref: '#/components/schemas/AdventureSetting' ADD_FOCUS_TIME: $ref: '#/components/schemas/AdventureSetting' ADD_BUFFERS: $ref: '#/components/schemas/AdventureSetting' ADD_HABIT: $ref: '#/components/schemas/AdventureSetting' HEAVY_MEETING_LOAD: $ref: '#/components/schemas/AdventureSetting' CONNECT_CALENDARS: $ref: '#/components/schemas/AdventureSetting' CALENDAR_SYNC: $ref: '#/components/schemas/AdventureSetting' SHARED_CALENDARS: $ref: '#/components/schemas/AdventureSetting' SCHEDULING_LINKS: $ref: '#/components/schemas/AdventureSetting' SCHEDULING_LINK_SETTINGS: $ref: '#/components/schemas/AdventureSetting' HOURS: $ref: '#/components/schemas/AdventureSetting' PROFILE: $ref: '#/components/schemas/AdventureSetting' PERMISSIONS: $ref: '#/components/schemas/AdventureSetting' SLACK: $ref: '#/components/schemas/AdventureSetting' INTEGRATIONS: $ref: '#/components/schemas/AdventureSetting' TASK_INTEGRATIONS: $ref: '#/components/schemas/AdventureSetting' CHAT: $ref: '#/components/schemas/AdventureSetting' LOG_WORK: $ref: '#/components/schemas/AdventureSetting' PREVIEW_MODE: $ref: '#/components/schemas/AdventureSetting' SchedulingLinkNameVisibility: type: string enum: - NEVER - USER_IS_LINK_OWNER - VISIBLE_TO_TEAM_MEMBERS - VISIBLE_ON_TEAM_MEMBERS_LINKS - ALWAYS ExternalCalendarId: required: - externalId type: object properties: externalId: type: string SlackSettings.StatusSync: type: string enum: - 'OFF' - DEFAULT - BUSY - CUSTOM - TEAM ProjectsSettings: type: object properties: enabled: type: boolean SmartOneOnOneSettings: type: object properties: enabled: type: boolean EventColor: type: string enum: - NONE - LAVENDER - SAGE - GRAPE - FLAMINGO - BANANA - TANGERINE - PEACOCK - GRAPHITE - BLUEBERRY - BASIL - TOMATO ScheduleAssistantScoringSettings: type: object properties: version: $ref: '#/components/schemas/SlotScorerVersion' ReclaimEdition: type: string enum: - NONE - TRIAL - ASSISTANT - PRO - TEAM - REWARD - LEGACY_PRO_TRIAL - LEGACY_TEAM_TRIAL - LITE - STARTER - BUSINESS - TRIAL_BUSINESS - TRIAL_BUSINESS_12W - TRIAL_BUSINESS_FOR_LEGACY_PLANS - ENTERPRISE - TEAM_REWARD - LITE_V2 - LITE_V3 CalendarConsistencyService.ResyncMode: type: string enum: - NONE - RESYNC_ON_ANY_MISMATCH - RESYNC_ON_NON_RECURRING_MISMATCH - RESYNC_ON_ANY_MISMATCH_EXCEPT_NON_RECLAIM_RECURRING SlackSettings: type: object properties: enabled: type: boolean newSlackExperienceEnabled: type: boolean customSlackStatusWaterMark: type: string nullable: true previousStatusWaterMarks: type: array nullable: true items: type: string oooMessageTemplate: type: string nullable: true personalSyncNotifyNew: type: boolean personalSyncNotifyUpdated: type: boolean personalSyncNotifyDeleted: type: boolean personalSyncNotificationsIncludingSelf: type: boolean habitNotifyUpcoming: type: boolean taskNotifyUpcoming: type: boolean travelNotify: type: boolean outsideHoursMigrated: type: boolean statusSync: $ref: '#/components/schemas/SlackSettings.StatusSync' statusEnabled: type: boolean privateStatus: $ref: '#/components/schemas/SlackStatusSetting' statuses: type: object additionalProperties: $ref: '#/components/schemas/SlackStatusSetting' outSideHours: $ref: '#/components/schemas/SlackOutsideHoursSetting' stopNotifyingDisappearingAfterByType: type: object additionalProperties: type: string format: date ObservedUser: type: object allOf: - $ref: '#/components/schemas/LogContext' - properties: id: type: string trackingCode: type: string edition: $ref: '#/components/schemas/ReclaimEdition' TemporalSettings: type: object properties: eventTransitionsEnabled: type: boolean CalendarSettings: type: object properties: enabled: type: boolean calendarCleanupRunning: type: string format: date-time CredentialName: required: - email type: object properties: email: type: string LogContext: type: object ScheduleAssistantSettings: type: object properties: enabled: type: boolean calendarUIEnabled: type: boolean scoringSettings: $ref: '#/components/schemas/ScheduleAssistantScoringSettings' experimentalFeaturesEnabled: type: boolean mcpDebug: type: boolean disableBackgroundAutomation: type: boolean orgRelationshipsEnabled: type: boolean enableExternalLlm: type: boolean selfServiceMigrationEnabled: type: boolean persistedToolApprovalsEnabled: type: boolean WeeklyReport: type: object properties: enabled: type: boolean sendReport: type: boolean securitySchemes: Authorization: type: oauth2