Reclaim.ai calendarSyncPolicy API

The calendarSyncPolicy API from Reclaim.ai — 4 operation(s) for calendarsyncpolicy.

OpenAPI Specification

reclaim-ai-calendarsyncpolicy-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes calendarSyncPolicy 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: calendarSyncPolicy
paths:
  /api/calendars/sync-policy:
    get:
      tags:
      - calendarSyncPolicy
      operationId: getSyncPolicies
      responses:
        '200':
          description: getSyncPolicies 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CalendarSyncPolicyWithCalendars'
      security:
      - Authorization: []
    post:
      tags:
      - calendarSyncPolicy
      operationId: createSyncPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarSyncPolicyRequest'
        required: true
      responses:
        '200':
          description: createSyncPolicy 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarSyncPolicyWithCalendars'
      security:
      - Authorization: []
  /api/calendars/sync-policy/validate:
    post:
      tags:
      - calendarSyncPolicy
      operationId: testSyncPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarSyncPolicy'
        required: true
      responses:
        '200':
          description: testSyncPolicy 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/calendars/sync-policy/{sourceId}/to/{targetId}:
    get:
      tags:
      - calendarSyncPolicy
      operationId: getSyncPolicy
      parameters:
      - name: sourceId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: targetId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: getSyncPolicy 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarSyncPolicyWithCalendars'
      security:
      - Authorization: []
    delete:
      tags:
      - calendarSyncPolicy
      operationId: deleteSyncPolicy
      parameters:
      - name: sourceId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: targetId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                nullable: true
      security:
      - Authorization: []
    patch:
      tags:
      - calendarSyncPolicy
      operationId: patchSyncPolicy
      parameters:
      - name: sourceId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: targetId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: suppressEncodingChange
        in: query
        schema:
          type: boolean
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarSyncPolicy'
        required: true
      responses:
        '200':
          description: patchSyncPolicy 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarSyncPolicyWithCalendars'
      security:
      - Authorization: []
  /api/calendars/sync-policy/{sourceId}/to/{targetId}/repair:
    post:
      tags:
      - calendarSyncPolicy
      operationId: repairSync
      parameters:
      - name: sourceId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: targetId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: repairSync 200 response
          content:
            application/json:
              schema:
                type: object
      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'
    CalendarSyncPolicyRequest:
      required:
      - calendarSyncPolicy
      type: object
      properties:
        calendarSyncPolicy:
          $ref: '#/components/schemas/CalendarSyncPolicy'
    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'
    EventType:
      type: string
      enum:
      - MEETING
      - WORK
      - LOGISTICS
      - PERSONAL
    TaskAutoWorkflowSettings:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/TaskAutoWorkflowType'
        durationToWaitInDays:
          type: integer
          format: int32
    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
    DisabledReason:
      type: string
      enum:
      - LOOP_SUSPECTED
    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'
    CalendarSyncPolicyWithCalendars:
      required:
      - sourceCalendar
      - targetCalendar
      type: object
      allOf:
      - $ref: '#/components/schemas/CalendarSyncPolicy'
      - $ref: '#/components/schemas/SyncSettings'
      - properties:
          sourceCalendar:
            $ref: '#/components/schemas/Calendar'
          targetCalendar:
            $ref: '#/components/schemas/Calendar'
    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
    GCalConstants.AccessRole:
      type: string
      enum:
      - freeBusyReader
      - reader
      - owner
      - writer
      - none
      x-enum-varnames:
      - freeBusyReader
      - reader
      - owner
      - writer
      - none
    AssistNotificationSettings:
      required:
      - detectedDigest
      - instanceChanges
      - instanceWindowInDays
      - needsAttentionDigest
      type: object
      properties:
        instanceChanges:
          type: boolean
        instanceWindowInDays:
          type: integer
          format: int32
        needsAttentionDigest:
          type: boolean
        detectedDigest:
          type: boolean
    User:
      required:
      - edition
      - editionUsage
      - schedulerWindowWeeks
      - sku
      type: object
      properties:
        id:
          type: string
        email:
          type: string
        principal:
          type: string
        provider:
          type: string
        baseProvider:
          type: string
        name:
          type: string
        firstName:
          type: string
        entitlements:
          $ref: '#/components/schemas/Entitlements'
        detailedEntitlements:
          $ref: '#/components/schemas/DetailedEntitlements'
        editionEntitlements:
          properties:
            MAX_TEAM_SIZE:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SCHEDULER_WEEKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_TASKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_CALENDARS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_SYNCS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_HABITS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_TASKS_WEEK:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            TRAVEL_TIME:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            DECOMPRESSION_TIME:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING_DECOMPRESSION:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING_HABITS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING_CALENDAR_SYNC:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_SLACK_STATUS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_SCHEDULING_LINKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            DERIVATIVE_SCHEDULING_LINKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SCHEDULING_LINK_SURVEY:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SCHEDULING_LINK_REDIRECT:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_SCHEDULING_LINK_MEETINGS_QUARTER:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_1_ON_1_ORGANIZE:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_1_ON_1_ATTEND:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_CUSTOM_TIME_SCHEMES:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATIONS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_GOOGLE_TASKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_GOOGLE_ADD_ON:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_SLACK:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_RAYCAST:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_ZOOM:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_TODOIST:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_LINEAR:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_JIRA:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_CLICKUP:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_ASANA:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_OFFICE_365:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_MONDAY:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_TRELLO:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            INTEGRATION_DROPBOX:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SUPPORT:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SSO:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            TEAM_ANALYTICS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            EVENT_PREFERENCES:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            DELEGATED_ACCESS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SCHEDULING_LINK_ROUND_ROBIN:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SCHEDULING_LINK_BRANDING:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SMART_MEETING_ATTENDEE_USERS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            WEBHOOKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_STATS_WINDOW:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            FOCUS_TIME:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            OOO_CALENDAR:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_AGENTS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_DAILY_LLM_COST_MICROS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            PROACTIVE_LLM:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MCP:
              $ref: '#/components/schemas/EntitlementValue_Object_'
        lastName:
          type: string
        avatarUrl:
          type: string
        admin:
          type: boolean
        slackEnabled:
          type: boolean
        impersonated:
          type: boolean
        timestampOffsetMs:
          type: integer
          format: int64
        features:
          $ref: '#/components/schemas/UserSettings'
        settings:
          $ref: '#/components/schemas/Settings'
        metadata:
          $ref: '#/components/schemas/UserMetadata'
        created:
          type: string
          format: date-time
        deleted:
          type: string
          format: date-time
        onboarded:
          type: boolean
        trackingCode:
          type: string
        locale:
          type: string
        likelyPersonal:
          type: boolean
        apiKey:
          type: string
        sku:
          deprecated: true
          allOf:
          - $ref: '#/components/schemas/ReclaimEdition'
        edition:
          $ref: '#/components/schemas/ReclaimEdition'
        editionAfterTrial:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ReclaimEdition'
        editionUsage:
          $ref: '#/components/schemas/ReclaimEdition'
        preDowngradeEditionUsage:
          $ref: '#/components/schemas/ReclaimEdition'
        overage:
          type: boolean
        logContextUser:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ObservedUser'
        refCode:
          type: string
        hostedDomain:
          type: string
          nullable: true
        primaryCalendar:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ThinCalendar'
        primaryCalendarId:
          type: string
        timezone:
          type: string
        startOfWeek:
          $ref: '#/components/schemas/DayOfWeek'
        usingDelegatedAccess:
          type: boolean
        firstLogin:
          type: string
          format: date-time
          nullable: true
        signupMethod:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/SignupMethod'
        providerCreated:
          type: string
          format: date-time
          nullable: true
        schedulerWindowWeeks:
          $ref: '#/components/schemas/SchedulingWindowWeeks'
        userDateTimeFormatter:
          $ref: '#/components/schemas/UserDateTimeFormatter'
        userProvisioningDetails:
          $ref: '#/components/schemas/UserProvisioningDetails'
    TaskAutoWorkflowType:
      type: string
      enum:
      - NOTHING
      - REOPEN
      - CLOSE
    MicrosoftSettings:
      type: object
      properties:
        smartSeriesDetectionEnabled:
          type: boolean
        useFullyExpandedSeriesMasterForInterop:
          type: boolean
        resolveReclaimForNonMemberUsingCalendarView:
          type: boolean
    GoogleAddOnSettings:
      type: object
      properties:
        enabled:
          type: boolean
    UserProfileGoal:
      type: string
      enum:
      - HEADS_DOWN_TIME
      - MEETINGS
      - WORK_LIFE_BALANCE
      - MULTIPLE_CALENDARS
    TimezoneSettings:
      required:
      - timeZonePreference
      type: object
      properties:
        zoneId:
          type: string
          nullable: true
        timeZonePreference:
          $ref: '#/components/schemas/TimezonePreference'
        timezonePreference:
          $ref: '#/components/schemas/TimezonePreference'
    Reminder:
      required:
      - minutes
      - reminderType
      type: object
      properties:
        reminderType:
          $ref: '#/components/schemas/ReminderType'
        minutes:
          type: integer
          format: int32
    EntitlementDetails:
      required:
      - minimumEdition
      - name
      type: object
      properties:
        minimumEdition:
          type: string
        name:
          type: string
        enabledForUser:
          type: boolean
    ConferenceBufferType:
      type: string
      enum:
      - ALL_MEETINGS
      - CONFERENCE_MEETINGS
    UserDateTimeFormatter:
      type: object
      properties:
        locale:
          type: string
    AvailabilityType:
      type: string
      enum:
      - BUSY
      - FREE
    SyncFeatureSettings:
      type: object
      properties:
        enabled:
          type: boolean
        hasVipPrivileges:
          type: boolean
        daysBackwardOverride:
          type: integer
          format: int32
    Calendar:
      required:
      - syncSettings
      type: object
      properties:
        valid:
          type: boolean
        primaryCalendarForAccount:
          type: boolean
        id:
          type: integer
          format: int64
        name:
          type: string
        colorHex:
          type: string
        user:
          $ref: '#/components/schemas/User'
        userId:
          type: string
        calendarId:
          type: string
        externalCalendarId:
          $ref: '#/components/schemas/ExternalCalendarId'
        credentialEmail:
          $ref: '#/components/schemas/CredentialName'
        credentialProvider:
          $ref: '#/components/schemas/AuthProvider'
        credentialId:
          type: integer
          format: int64
        syncToken:
          type: string
        watchGuid:
          type: string
        watchResourceId:
          type: string
        data:
          type: object
          additionalProperties: true
        eventTypeSupport:
          $ref: '#/components/schemas/EventTypeSupport'
        accessDomainRead:
          type: boolean
        authorized:
          type: boolean
        created:
          type: string
          format: date-time
        deleted:
          type: string
          format: date-time
        type:
          $ref: '#/components/schemas/Calendar.Type'
        accessRole:
          $ref: '#/components/schemas/GCalConstants.AccessRole'
        systemCalendar:
          type: boolean
        nextRefresh:
          type: string
          format: date-time
        timezone:
          type: string
        primaryCalendarId:
          type: string
        priority:
          type: integer
          format: int32
        projectId:
          type: integer
          format: int64
        connected:
          type: boolean
        syncSettings:
          $ref: '#/components/schemas/SyncSettings'
        lastSynced:
          type: string
          format: date-time
        syncIdEncodingVersion:
          type: integer
          format: int32
        useType:
          $ref: '#/components/schemas/CalendarUseType'
        blockAvailability:
          type: boolean
        directlyConnected:
          type: boolean
        primary:
          type: boolean
        defaultReminders:
          type: array
          deprecated: true
          items:
            type: integer
            format: int32
        reminderDefaults:
          type: array
          items:
            $ref: '#/components/schemas/Reminder'
    SlackStatusSetting:
      type: object
      properties:
        emoji:
          type: string
        template:
          type: string
        dnd:
          type: boolean
        enabled:
          type: boolean
    UserPostOnboard:
      type: object
      properties:
        welcomed:
          $ref: '#/components/schemas/UserPostOnboardState'
        focus:
          $ref: '#/components/schemas/UserPostOnboardState'
        hours:
          $ref: '#/components/schemas/UserPostOnboardState'
        habits:
          $ref: '#/components/schemas/UserPostOnboardState'
        firstTask:
          $ref: '#/components/schemas/UserPostOnboardState'
        integration:
          $ref: '#/components/schemas/UserPostOnboardState'
        smartMeetings:
          $ref: '#/components/schemas/UserPostOnboardState'
        schedulingLinks:
          $ref: '#/components/schemas/UserPostOnboardState'
        slackStatusSync:
          $ref: '#/components/schemas/UserPostOnboardState'
        travelTime:
          $ref: '#/components/schemas/UserPostOnboardState'
        zoom:
          $ref: '#/components/schemas/UserPostOnboardState'
        connectCalendars:
          $ref: '#/components/schemas/UserPostOnboardState'
        colors:
          $ref: '#/components/schemas/UserPostOnboardState'
        reclaimFree:
          $ref: '#/components/schemas/UserPostOnboardState'
        guidedTours:
          $ref: '#/components/schemas/UserPostOnboardState'
    SyncAllDayEvents:
      type: string
      enum:
      - SKIP_ALL
      - SYNC_BUSY
      - SYNC_ALL
    SyncTransparency:
      type: string
      enum:
      - DEFAULT
      - SEMI_PRIVATE
      - PRIVATE
      - PUBLIC
      - SEMI_PRIVATE_ALT
    AnalyticsSettings:
      type: object
      properties:
        teamAnalyticsV4ViewEnabled:
          type: boolean
        teamAnalyticsV4FiltersEnabled:
          type: boolean
    AutoLock:
      type: string
      enum:
      - 'OFF'
      - SAME_DAY
      - SAME_WEEK
      - TOMORROW
      - ROLLING_3_DAYS
    QuestSettings:
      type: object
      properties:
        enabled:
          type: boolean
    SchedulingLinkSettings:
      type: object
      properties:
        enabled:
          type: boolean
        note:
          type: string
        remindersMigrated:
          type: boolean
        messageTemplates:
          type: object
          additionalPro

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