openapi: 3.0.1 info: title: Reclaim account-time-schemes assist 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: assist paths: /api/assist/habits/daily: get: tags: - assist operationId: getDailyHabits responses: '200': description: getDailyHabits 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/DailyHabit' security: - Authorization: [] post: tags: - assist operationId: create parameters: - name: notificationKey in: query schema: type: string nullable: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DailyHabit_1' required: true responses: '200': description: create 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/DailyHabit' security: - Authorization: [] /api/assist/habits/daily/{id}: get: tags: - assist operationId: getDailyHabit parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: getDailyHabit 200 response content: application/json: schema: $ref: '#/components/schemas/DailyHabit' security: - Authorization: [] put: tags: - assist operationId: update parameters: - name: id in: path required: true schema: type: integer format: int64 - name: notificationKey in: query schema: type: string nullable: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DailyHabit_2' required: true responses: '200': description: update 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/DailyHabit' security: - Authorization: [] delete: tags: - assist operationId: delete_1 parameters: - name: id in: path required: true schema: type: integer format: int64 - name: notificationKey in: query schema: type: string nullable: true responses: '200': description: OK response content: application/json: schema: nullable: true security: - Authorization: [] patch: tags: - assist operationId: patch parameters: - name: id in: path required: true schema: type: integer format: int64 - name: notificationKey in: query schema: type: string nullable: true requestBody: content: application/json: schema: $ref: '#/components/schemas/DailyHabit' required: true responses: '200': description: patch 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/DailyHabit' security: - Authorization: [] /api/assist/habits/daily/{id}/migrate-to-smart-series: post: tags: - assist operationId: migrateToSmartSeries parameters: - name: id in: path required: true schema: type: integer format: int64 - name: recurrenceType in: query schema: nullable: true allOf: - $ref: '#/components/schemas/SmartSeriesRecurrenceType' responses: '200': description: migrateToSmartSeries 200 response content: application/json: schema: type: object security: - Authorization: [] /api/assist/habits/template: get: tags: - assist operationId: getHabitTemplate parameters: - name: templateKey in: query required: true schema: $ref: '#/components/schemas/HabitTemplateKey' responses: '200': description: getHabitTemplate 200 response content: application/json: schema: $ref: '#/components/schemas/DailyHabitTemplate' security: - Authorization: [] /api/assist/habits/template/create: post: tags: - assist operationId: createHabitTemplates parameters: - name: notificationKey in: query schema: type: string nullable: true requestBody: content: application/json: schema: $ref: '#/components/schemas/TemplateRequest' required: true responses: '200': description: createHabitTemplates 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/HabitTemplateKey' deprecated: true security: - Authorization: [] /api/assist/habits/templates: get: tags: - assist operationId: getHabitTemplates parameters: - name: role in: query schema: nullable: true allOf: - $ref: '#/components/schemas/UserProfileRole' - name: department in: query schema: nullable: true allOf: - $ref: '#/components/schemas/UserProfileDepartment' responses: '200': description: getHabitTemplates 200 response content: application/json: schema: type: array items: $ref: '#/components/schemas/DailyHabitTemplate' security: - Authorization: [] /api/assist/smart-meetings/availability-diagnostics: get: tags: - assist operationId: availabilityDiagnostics parameters: - name: seriesId in: query required: true schema: type: integer format: int64 responses: '200': description: availabilityDiagnostics 200 response content: application/json: schema: $ref: '#/components/schemas/AssistController.AvailabilityDiagnostics' security: - Authorization: [] 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 DailyHabit: required: - additionalDescription - adjusted - alwaysPrivate - autoDecline - autoDeclineText - created - defendedDescription - defenseAggression - durationMax - durationMin - elevated - enabled - eventCategory - eventSubType - id - idealTime - index - invitees - notification - priority - recurrence - recurringAssignmentType - reservedWords - timesPerPeriod - title - type - updated type: object properties: id: type: integer format: int64 title: type: string alwaysPrivate: type: boolean eventCategory: $ref: '#/components/schemas/EventCategory' eventSubType: $ref: '#/components/schemas/EventSubType' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EventColor' created: type: string format: date-time updated: type: string format: date-time snoozeUntil: type: string format: date-time nullable: true defenseAggression: $ref: '#/components/schemas/DefenseAggression' defendedDescription: type: string recurringAssignmentType: $ref: '#/components/schemas/RecurringAssignmentType' invitees: type: array items: $ref: '#/components/schemas/ThinPerson' enabled: type: boolean durationMin: type: integer format: int32 durationMax: type: integer format: int32 idealTime: type: string format: partial-time idealDay: nullable: true allOf: - $ref: '#/components/schemas/DayOfWeek' recurrence: $ref: '#/components/schemas/Recurrence' timesPerPeriod: type: integer format: int32 additionalDescription: type: string index: type: integer format: int32 elevated: type: boolean type: $ref: '#/components/schemas/AssistType' reservedWords: type: array items: type: string notification: type: boolean timePolicyType: nullable: true allOf: - $ref: '#/components/schemas/TimePolicyType' oneOffPolicy: nullable: true allOf: - $ref: '#/components/schemas/TimePolicy' timeSchemeId: type: string nullable: true autoDecline: type: boolean autoDeclineText: type: string adjusted: type: boolean priority: $ref: '#/components/schemas/PriorityLevel' prioritizableType: type: string AvailabilitySettings: type: object properties: redisCacheEnabled: type: boolean 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 AvailabilityV8: required: - assistedEvents - now - timezone - user type: object properties: user: $ref: '#/components/schemas/User' now: type: string format: date-time timezone: type: string assistedEvents: type: array items: $ref: '#/components/schemas/Event' 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 AssistController.SmartMeetingAvailabilityDiagnostics: required: - now - seriesEvent - sharedAvailability - sharedAvailabilityShadowAllBusy - soloAvailability - today type: object properties: seriesEvent: $ref: '#/components/schemas/Event' soloAvailability: $ref: '#/components/schemas/AvailabilityV8' sharedAvailability: $ref: '#/components/schemas/AvailabilityV8' sharedAvailabilityShadowAllBusy: type: object additionalProperties: type: array items: $ref: '#/components/schemas/AssistSmartSeries.SmartSeriesSchedulerFactory.SmartPeriodBusyEventPart' now: type: string format: date-time today: type: string format: date UserProvisioningDetails: required: - hasTeamProvisionedMetadata type: object properties: hasTeamProvisionedMetadata: type: boolean PriorityLevel: type: string enum: - P1 - P2 - P3 - P4 - PRIORITIZE - DEFAULT x-deprecated: - PRIORITIZE - DEFAULT ConferenceType: type: string enum: - GOOGLE_MEET - MICROSOFT_TEAMS - ZOOM - CUSTOM - GENERIC_LOCATION - PHYSICAL_ADDRESS - PHONE_NUMBER 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 PrioritiesSettings: type: object properties: enabled: 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 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 Recurrence: type: string enum: - Daily - Weekly - Biweekly - Monthly - Quarterly x-enum-descriptions: - '' - '' - Every other week. - '' - '' x-enum-varnames: - Daily - Weekly - Biweekly - Monthly - Quarterly 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 DailyHabitTemplate: required: - displayTitle - durationMax - durationMin - elevated - eventCategory - idealDay - idealTime - name - oneOffPolicy - recurrence - reservedWords - timePolicyType - timesPerPeriod type: object properties: name: type: string displayTitle: type: string eventCategory: $ref: '#/components/schemas/EventType' timePolicyType: $ref: '#/components/schemas/TimePolicyType' oneOffPolicy: $ref: '#/components/schemas/TimePolicy' idealTime: type: string format: partial-time durationMin: type: integer format: int32 durationMax: type: integer format: int32 elevated: type: boolean reservedWords: type: array items: type: string recurrence: $ref: '#/components/schemas/Recurrence' timesPerPeriod: type: integer format: int32 idealDay: $ref: '#/components/schemas/DayOfWeek' 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 AssistSmartSeries.SmartSeriesSchedulerFactory.SmartPeriodBusyEventPart: required: - slot type: object properties: slot: $ref: '#/components/schemas/TentativeSlot' DayOfWeek: type: string enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY AdventureSetting: required: - complete type: object properties: complete: type: boolean Interval: type: object properties: start: type: string format: date-time end: type: string format: date-time empty: type: boolean unboundedStart: type: boolean unboundedEnd: 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 DayHours: required: - intervals type: object properties: intervals: type: array items: $ref: '#/components/schemas/LocalTimeInterval' startOfDay: type: string format: partial-time nullable: true endOfDay: type: string format: partial-time nullable: true 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' DefenseAggression: type: string enum: - NONE - LOW - DEFAULT - HIGH - MAX TaskAutoWorkflowType: type: string enum: - NOTHING - REOPEN - CLOSE EventStatus: type: string enum: - PUBLISHED - CANCELLED MicrosoftSettings: type: object properties: smartSeriesDetectionEnabled: type: boolean useFullyExpandedSeriesMasterForInterop: type: boolean resolveReclaimForNonMemberUsingCalendarView: type: boolean TentativeSlot: required: - attendeeCount - eventMetadata - eventSubType - eventType - free - hasVip - id - interval - isDamped - isForceBusy - isForceFree - isOrganizer - isPublic - isRecurring - locked - priorityLevel - responseStatus - source - sourceKey - status - title type: object properties: id: type: string eventType: $ref: '#/components/schemas/ReclaimEventType' assignmentId: type: integer format: int64 nullable: true smartSeriesLineageId: type: integer format: int64 nullable: true status: $ref: '#/components/schemas/EventStatus' interval: nullable: true allOf: - $ref: '#/components/schemas/Interval' free: type: boolean locked: type: boolean isForceFree: type: boolean isForceBusy: type: boolean isDamped: type: boolean isPublic: type: boolean responseStatus: $ref: '#/components/schemas/EventResponseStatus' source: $ref: '#/components/schemas/TentativeSlot.Source' sourceKey: type: string eventMetadata: nullable: true allOf: - $ref: '#/components/schemas/ReclaimEventMetadata' title: type: string nullable: true eventSubType: $ref: '#/components/schemas/EventSubType' isRecurring: type: boolean attendeeCount: type: integer format: int32 hasVip: type: boolean priorityLevel: $ref: '#/components/schemas/PriorityLevel' isOrganizer: type: boolean parentId: type: string nullable: true 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 AssistType: type: string enum: - TASK - CUSTOM_DAILY - CATCHUP_AM - CATCHUP_PM - LUNCH - FOCUS - TRAVEL_PRE - TRAVEL_POST - CONBUF - SMART_HABIT - SMART_MEETING - RECLAIM_FOCUS SyncFeatureSettings: type: object properties: enabled: type: boolean hasVipPrivileges: type: boolean daysBackwardOverride: type: integer format: int32 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' 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' 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 LocalTimeInterval: required: - end - start type: object properties: start: type: string format: partial-time end: type: string format: partial-time duration: type: string 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 HabitTemplateKey: type: string enum: - LUNCH - MEDITATION - TAKE_A_WALK - READING - WRITING - MORNING_CATCHUP - AFTERNOON_CATCHUP - MONTHLY_METRICS_REVIEW - SPRINT_PLANNING - CUSTOMER_FEEDBACK_REVIEW - WEEKLY_STATUS_REPORT - PRODUCT_BACKLOG_REVIEW - PRODUCT_REQUIREMENTS - RETROSPECTIVE_PLANNING - PRODUCT_LAUNCH_PLANNING - FOCUS_TIME - DEBUGGING - FEATURE_BACKLOG - TESTING - CUSTOMER_RESEARCH - RECRUITMENT - QUARTERLY_RESEARCH_REPORT - STRATEGIC_PLANNING - DEPLOY - PRODUCT_DOCUMENTATION - CODING - ARCHITECTURE_DESIGN_REVIEW - CODE_REVIEW - TRAINING - TROUBLESHOOT_ESCALATED_ISSUES - REVIEW_PRODUCT_UPDATES - COMMUNITY_ENGAGEMENT - SUPPORT_TIME - SHARE_CUSTOMER_FEEDBACK - SNIPPET_TEMPLATE_UPDATES - ADVERTISING_REVIEW - COMPETITOR_RESEARCH - PR_PLANNING - SEO_REVIEW - SOCIAL_MEDIA_UPDATES - NEWSLETTER - BLOG_WRITING - WEBINAR_PREP - EMAIL_INBOUND_LEADS - KEY_ACCOUNT_CHECK_INS - SALES_PIPELINE_REVIEW - WRITE_PROPOSAL - CRM_UPDATES - PROSPECTING - UPDATE_SALES_PRESENTATIONS - OUTBOUND_CALLS - WEEKLY_DESIGN_REVIEW - FREE_DESIGN_HOUR - USER_RESEARCH - DESIGN_USER_TESTS - DAILY_DESIGN_TIME - WIREFRAMES - USER_FLOW_DESIGN - EMPLOYEE_RELATIONS_REVIEW - PTO_REVIEW - PRODUCTIVITY_REVIEW - DEI_REVIEW - PROCESS_BACKGROUND_CHECKS - QUARTERLY_TRAINING_PREP - APPLICANT_REVIEW - EMPLOYEE_RECOGNITION - PAYROLL_UPDATES - INTERVIEW_PREP - EMPLOYEE_SURVEYS - UPDATE_JOB_POSTINGS - EMPLOYEE_NEWSLETTER_PREP - REVIEW_DEPARTMENT_REQUIREMENTS - SECURITY_REVIEWS - TEAM_MEETING_PREP - LEGAL_COMPLIANCE_REVIEW - VENDOR_REVIEWS - BUSINESS_PERFORMANCE_REVIEW - REVIEW_PROCUREMENT_REQUESTS - REVIEW_SUPPLIER_AGREEMENTS - UPDATE_INTERNAL_POLICIES - ANALYZE_TECHNOLOGY_USAGE - REVIEW_TEAM_WORKFLOWS - UPDATE_OPERATIONAL_PROCEDURES - REVIEW_FINANCIAL_REPORTS - INVESTOR_UPDATE - MONTH_END_FINANCIAL_STATEMENTS - REVIEW_FORECAST_REPORTS - BUDGET_PLANNING - REVIEW_MONTHLY_REPORTS - REVIEW_EXPENSE_REPORT - PREPARE_MONTHLY_REPORTS - UPDATE_JOURNAL_ENTRIES - REVIEW_TIME_SHEETS - PROCESS_PAYMENTS - REVIEW_ACCOUNTS_PAYABLE - TAX_PLANNING - WEEKDAY_STUDY - GROCERY_SHOPPING - LAUNDRY - INTERNSHIP_APPLICATIONS - WEEKEND_STUDY - EXERCISE - CLEAN_HOUSE - CALL_FAMILY - WORK_ON_THESIS Event: required: - allocatedTimeChunks - assist - calendarId - categoryOverride - description - etag - eventEnd - eventId - eventStart - key - location - meetingType - organizer - priority - recurrence - recurrenceMax - recurringEventId - requiresTravel - rsvpStatus - sourceDetails - status - subType - timeChunks - title - titleSeenByOthers - type - updated type: object properties: googleMetadata: description: Returns Google Calendar-specific metadata that doesn't fit into a common event model, but that services and UI might be interested in introspecting. If the event isn't a Google Calendar event, this method will return an empty value. nullable: true allOf: - $ref: '#/components/schemas/GoogleCalendarEventMetadata' schedulingLinkId: type: string nullable: true schedulingLinkMeetingId: type: string nullable: true underAssistControl: type: boolean assist: $ref: '#/components/schemas/AssistDetails' reclaimEventType: $ref: '#/components/schemas/ReclaimEventType' personalSync: type: boolean reclaimManaged: type: boolean description: Reclaim likely created and manages this event but important to note that this event might not be organized by this user so very important to check also [isReclaimManagedAndSelfOrganized](#isReclaimManagedAndSelfOrganized) if the calling class would do something different for a Reclaim managed event if the person attached to this event is an attendee, rather than the organizer. reclaimManagedAndSelfOrganized: type: boolean description: Important to note that there are Reclaim "managed" events like smart meetings and scheduling link events where the user associated with the event is *not* the organizer, and as a result, we may need to do things like color coding or scoring. eventId: type: string calendarId: type: integer format: int64 key: $ref: '#/components/schemas/EventKey' priority: $ref: '#/components/schemas/PriorityLevel' prioritySource: nullable: true allOf: - $ref: '#/components/schemas/PrioritySource' title: type: string titleSeenByOthers: type: string location: type: string onlineMeetingUrlRaw: type: string onlineMeetingUrl: type: string description: type: string descriptionOmitted: type: boolean titleTruncated: type: boolean sourceDetails: $ref: '#/components/schemas/EventSourceDetails' mergeDetails: $ref: '#/components/schemas/MergeDetails' status: $ref: '#/components/schemas/EventStatus' published: type: boolean type: $ref: '#/components/schemas/EventType' subType: $ref: '#/components/schemas/EventSubType' meetingType: $ref: '#/components/schemas/MeetingType' categoryOverride: $ref: '#/components/schemas/EventCategory' eventStart: type: string format: date-time eventEnd: type: string format: date-time timeChunks: type: integer format: int32 allocatedTimeChunks: type: integer format: int32 recurringEventId: type: string updated: type: string format: date-time recurringException: type: boolean recurrence: type: string recurrenceMax: type: string format: date-time recurring: type: boolean recurringInstance: type: boolean private: type: boolean public: type: boolean color: $ref: '#/components/schemas/EventColor' organizer: type: string numAttendees: type: integer format: int32 attendees: type: array items: $ref: '#/components/schemas/EventAttendee' free: type: boolean category: $ref: '#/components/schemas/EventCategory' rsvpStatus: $ref: '#/components/schemas/EventResponseStatus' requiresTravel: type: boolean conferenceCall: type: boolean etag: type: string nullable: true smartSeriesId: type: integer format: int64 nullable: true sourceEventType: $ref: '#/components/schemas/PlatformEventType' version: type: string manuallyStarted: type: boolean inheritedExternalId: type: string description: 'Retrieves the inherited external ID for the event. The inherited external ID is used in scenarios where a non-pipeline user is invited to an event created by Reclaim on a pipeline user''s Microsoft calendar. In such cases, the inherited external ID represents the "external-id" of the organizer''s event, which is crucial for supporting event ID parsing. This mechanism ensures compatibility with Reclaim''s existing logic for detecting and parsing event information, even when the event ID cannot be directly relied upon (e.g., in Microsoft calendars).' nullable: true UserAccountLock: required: - accountLockType - lockMessage type: object properties: accountLockType: $ref: '#/components/schemas/UserAccountLock.AccountLockType' lockMessage: type: string SmartSeriesRecurrenceType: type: string enum: - SINGLE_INSTANCES - RECURRING_SERIES ReclaimEventMetadata: type: object properties: eventReference: type: string nullable: true version: type: integer format: int32 eventType: $ref: '#/components/schemas/ReclaimEventType' RecurringAssignmentStatus: type: string enum: - NEW - ACCEPTED - DECLINED - SCHEDULED - INVITEE_ERROR 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' AssistDetails: type: object properties: type: $ref: '#/components/schemas/AssistType' customHabit: type: boolean smartSeries: type: boolean focus: type: boolean habitOrTask: type: boolean task: type: boolean conferenceBuffer: type: boolean travelBuffer: type: boolean status: $ref: '#/components/schemas/AssistStatus' travelNewEventId: type: string description: The source event id for a travel assist event. nullable: true conferenceEventId: type: string description: The source event id for a conference (decompression time) event. nullable: true lastControlledUpdate: type: string format: date-time lastControlledHash: type: integer format: int32 defended: type: boolean pinned: type: boolean lockState: nullable: true allOf: - $ref: '#/components/schemas/LockState' dailyHabitId: type: integer format: int64 nullable: true seriesLineageId: type: integer format: int64 nullable: true seriesId: type: integer format: int64 nullable: true taskId: type: integer format: int64 nullable: true taskIndex: type: integer format: int32 nullable: true policyOverride: nullable: true allOf: - $ref: '#/components/schemas/AssistPolicyOverride' lastManualAdjustment: type: string format: date-time recurringAssignmentType: $ref: '#/components/schemas/RecurringAssignmentType' eventType: $ref: '#/components/schemas/ReclaimEventType' manuallyStarted: type: boolean focusId: type: integer format: int64 nullable: true assistReferenceValid: type: boolean description: This entity maps to the assist_events table. 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 TentativeSlot.Source: type: string enum: - RECLAIM - CALENDAR SlotScorerVersion: type: string enum: - V1 ResponseStatus: type: string enum: - DECLINED - NEEDS_ACTION - TENTATIVE - ACCEPTED - UNKNOWN UserProfileRole: type: string enum: - EXEC - MANAGER - NON_MANAGER - CONSULTANT - STUDENT ThinPerson: required: - email type: object properties: reclaimUser: type: boolean userId: type: string nullable: true email: minLength: 1 type: string name: type: string avatarUrl: type: string firstName: type: string nullable: true lastName: type: string nullable: true ReclaimEventType: type: string enum: - USER - SYNC - HABIT_ASSIGNMENT - SMART_HABIT - ONE_ON_ONE_ASSIGNMENT - SMART_MEETING - TASK_ASSIGNMENT - CONF_BUFFER - TRAVEL_BUFFER - SCHEDULING_LINK_MEETING - UNKNOWN - FOCUS 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 TimePolicyType: type: string enum: - WORK - PERSONAL - MEETING - ONE_OFF - INHERITED - CUSTOM TemplateRequest: required: - templates type: object properties: templates: type: array items: $ref: '#/components/schemas/HabitTemplateKey' MeetingType: type: string enum: - DIRECT_11 - PEER_11 - SKIP_11 - XFUNC_11 - OTHER_11 - TEAM - XFUNC_TEAM - EXEC - SKIP_TEAM - ALL_HANDS - ONBOARDING_TRAINING - COMPANY_EVENT - BOARD_MEETING - OTHER_STAFF - DEAL_REVIEW - EXECUTION_REVIEW - DEMO - PLANNING_MEETING - RETRO - EMERGENCY - PEOPLE_REVIEW - OTHER_OP - ROADMAP - CUST_MEETING - CUST_RESEARCH - CUST_URGENT - RECRUIT_SCREEN - OTHER_EXTERNAL - DESIGN_BRAIN - TECH_REVIEW - KICKOFF - REQ_BRAIN - OTHER_IDEATION - UNKNOWN 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' Predicate_Event_: type: object 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 AssistStatus: type: string enum: - CONTROLLED - RELEASED - ARCHIVED 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 TimePolicy: required: - dayHours type: object properties: startOfWeek: $ref: '#/components/schemas/DayOfWeek' endOfWeek: $ref: '#/components/schemas/DayOfWeek' dayHours: properties: MONDAY: $ref: '#/components/schemas/DayHours' TUESDAY: $ref: '#/components/schemas/DayHours' WEDNESDAY: $ref: '#/components/schemas/DayHours' THURSDAY: $ref: '#/components/schemas/DayHours' FRIDAY: $ref: '#/components/schemas/DayHours' SATURDAY: $ref: '#/components/schemas/DayHours' SUNDAY: $ref: '#/components/schemas/DayHours' DailyHabit_1: required: - additionalDescription - alwaysPrivate - autoDecline - autoDeclineText - conferenceData - conferenceType - created - defendedDescription - defenseAggression - durationMax - durationMin - elevated - enabled - eventColor - id - idealTime - index - invitees - notification - oneOffPolicy - priority - priorityUntil - privateDescription - recurringAssignmentType - reservedWords - rrule - snoozeUntil - timePolicyType - timeSchemeId - title - updated type: object properties: type: $ref: '#/components/schemas/AssistType' id: type: integer format: int64 index: type: integer format: int32 created: type: string format: date-time updated: type: string format: date-time enabled: type: boolean title: type: string nullable: true defendedDescription: type: string privateDescription: type: string additionalDescription: type: string recurringAssignmentType: $ref: '#/components/schemas/RecurringAssignmentType' reclaimEventType: $ref: '#/components/schemas/ReclaimEventType' notification: type: boolean timePolicyType: $ref: '#/components/schemas/TimePolicyType' oneOffPolicy: nullable: true allOf: - $ref: '#/components/schemas/TimePolicy' timeSchemeId: type: string nullable: true idealTime: type: string format: partial-time idealDay: nullable: true allOf: - $ref: '#/components/schemas/DayOfWeek' recurrence: nullable: true allOf: - $ref: '#/components/schemas/Recurrence' rrule: type: string durationMin: type: integer description: Duration min in minutes format: int32 durationMax: type: integer format: int32 eventCategory: $ref: '#/components/schemas/EventCategory' eventColor: $ref: '#/components/schemas/EventColor' deleted: type: boolean description: Set for websocket callbacks. invitees: type: array items: $ref: '#/components/schemas/ThinPerson' alwaysPrivate: type: boolean autoDecline: type: boolean autoDeclineText: type: string defenseAggression: $ref: '#/components/schemas/DefenseAggression' elevated: type: boolean priority: $ref: '#/components/schemas/PriorityLevel' priorityUntil: type: string format: date snoozeUntil: type: string description: Even though we use a zoned date time we really only use the date portion. format: date-time nullable: true timesPerPeriod: type: integer format: int32 conferenceType: nullable: true allOf: - $ref: '#/components/schemas/ConferenceType' conferenceData: type: object additionalProperties: true nullable: true location: type: string nullable: true status: $ref: '#/components/schemas/RecurringAssignmentStatus' reservedWords: type: array items: type: string eventFilter: $ref: '#/components/schemas/Predicate_Event_' oneOnOne: type: boolean 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 SlackSettings.StatusSync: type: string enum: - 'OFF' - DEFAULT - BUSY - CUSTOM - TEAM ProjectsSettings: type: object properties: enabled: type: boolean DailyHabit_2: required: - additionalDescription - alwaysPrivate - autoDecline - autoDeclineText - conferenceData - conferenceType - created - defendedDescription - defenseAggression - durationMax - durationMin - elevated - enabled - eventColor - id - idealTime - index - invitees - notification - oneOffPolicy - priority - priorityUntil - privateDescription - recurringAssignmentType - reservedWords - rrule - snoozeUntil - timePolicyType - timeSchemeId - title - updated type: object properties: type: $ref: '#/components/schemas/AssistType' id: type: integer format: int64 index: type: integer format: int32 created: type: string format: date-time updated: type: string format: date-time enabled: type: boolean title: type: string nullable: true defendedDescription: type: string privateDescription: type: string additionalDescription: type: string recurringAssignmentType: $ref: '#/components/schemas/RecurringAssignmentType' reclaimEventType: $ref: '#/components/schemas/ReclaimEventType' notification: type: boolean timePolicyType: $ref: '#/components/schemas/TimePolicyType' oneOffPolicy: nullable: true allOf: - $ref: '#/components/schemas/TimePolicy' timeSchemeId: type: string nullable: true idealTime: type: string format: partial-time idealDay: nullable: true allOf: - $ref: '#/components/schemas/DayOfWeek' recurrence: nullable: true allOf: - $ref: '#/components/schemas/Recurrence' rrule: type: string durationMin: type: integer description: Duration min in minutes format: int32 durationMax: type: integer format: int32 eventCategory: $ref: '#/components/schemas/EventCategory' eventColor: $ref: '#/components/schemas/EventColor' deleted: type: boolean description: Set for websocket callbacks. invitees: type: array items: $ref: '#/components/schemas/ThinPerson' alwaysPrivate: type: boolean autoDecline: type: boolean autoDeclineText: type: string defenseAggression: $ref: '#/components/schemas/DefenseAggression' elevated: type: boolean priority: $ref: '#/components/schemas/PriorityLevel' priorityUntil: type: string format: date snoozeUntil: type: string description: Even though we use a zoned date time we really only use the date portion. format: date-time nullable: true timesPerPeriod: type: integer format: int32 conferenceType: nullable: true allOf: - $ref: '#/components/schemas/ConferenceType' conferenceData: type: object additionalProperties: true nullable: true location: type: string nullable: true status: $ref: '#/components/schemas/RecurringAssignmentStatus' reservedWords: type: array items: type: string eventFilter: $ref: '#/components/schemas/Predicate_Event_' oneOnOne: type: boolean SmartOneOnOneSettings: type: object properties: enabled: type: boolean AssistController.AvailabilityDiagnostics: required: - seriesId - smartMeetingAvailabilityDiagnostics - snapshotTimestamp type: object properties: snapshotTimestamp: type: string format: date-time seriesId: type: integer format: int64 smartMeetingAvailabilityDiagnostics: type: array items: $ref: '#/components/schemas/AssistController.SmartMeetingAvailabilityDiagnostics' EventColor: type: string enum: - NONE - LAVENDER - SAGE - GRAPE - FLAMINGO - BANANA - TANGERINE - PEACOCK - GRAPHITE - BLUEBERRY - BASIL - TOMATO PrioritySource: type: string enum: - MANUAL - AI - RULES 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 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 LockState: type: string enum: - MANUALLY_LOCKED - ADJUSTED - UPCOMING_WINDOW - MANUALLY_UNLOCKED - DELETED - DECLINED - IN_THE_PAST LogContext: type: object AssistPolicyOverride: required: - durationMax - durationMin - forceDefend - idealTime - windowEnd - windowStart type: object properties: windowStart: type: string format: partial-time idealTime: type: string format: partial-time windowEnd: type: string format: partial-time durationMin: type: integer format: int32 durationMax: type: integer format: int32 forceDefend: type: boolean MergeDetails.EventType: type: string enum: - ORGANIZER_EVENT - ATTENDEE_EVENT - SYNC_EVENT PlatformEventType: type: string enum: - DEFAULT - OUT_OF_OFFICE - FROM_MAIL - WORKING_LOCATION - FOCUS_TIME - BIRTHDAY 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