Reclaim.ai calendars API

The calendars API from Reclaim.ai — 20 operation(s) for calendars.

OpenAPI Specification

reclaim-ai-calendars-api-openapi.yml Raw ↑
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:

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/reclaim-ai/refs/heads/main/openapi/reclaim-ai-calendars-api-openapi.yml