Reclaim.ai contacts API

The contacts API from Reclaim.ai — 7 operation(s) for contacts.

OpenAPI Specification

reclaim-ai-contacts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes contacts 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: contacts
paths:
  /api/users/current/contacts:
    get:
      tags:
      - contacts
      operationId: getContacts
      parameters:
      - name: user
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/User'
      responses:
        '200':
          description: getContacts 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ThinPerson'
      security:
      - Authorization: []
  /api/users/current/contacts/invite:
    post:
      tags:
      - contacts
      operationId: inviteContacts
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ThinPerson'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                nullable: true
      security:
      - Authorization: []
  /api/users/current/contacts/invite/v2:
    post:
      tags:
      - contacts
      operationId: inviteContactsV2
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                nullable: true
      security:
      - Authorization: []
  /api/users/current/contacts/v2:
    get:
      tags:
      - contacts
      operationId: getContactsV2
      parameters:
      - name: user
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/User'
      - name: includePendingInvites
        in: query
        required: true
        schema:
          type: boolean
          default: false
      - name: contactTypes
        in: query
        schema:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ContactType'
      responses:
        '200':
          description: getContactsV2 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContactView'
      deprecated: true
      security:
      - Authorization: []
  /api/users/current/contacts/v3:
    get:
      tags:
      - contacts
      operationId: getContactsV3
      parameters:
      - name: user
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/User'
      - name: includePendingInvites
        in: query
        required: true
        schema:
          type: boolean
          default: false
      - name: lastEmailOrEmpty
        in: query
        required: true
        schema:
          type: string
      - name: countPerPage
        in: query
        required: true
        schema:
          type: integer
          format: int32
          default: 100
      - name: contactTypes
        in: query
        schema:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ContactType'
      - name: search
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: getContactsV3 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContactView'
      security:
      - Authorization: []
  /api/users/current/contacts/v4/directory/{calendarId}:
    get:
      tags:
      - contacts
      operationId: getContactsV4ForCalendar
      parameters:
      - name: user
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/User'
      - name: calendarId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: limit
        in: query
        required: true
        schema:
          type: integer
          format: int32
          default: 1000
      - name: contactTypes
        in: query
        schema:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ContactType'
      - name: search
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: getContactsV4ForCalendar 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonContactView'
      security:
      - Authorization: []
  /api/users/current/contacts/v4/top-contacts/{calendarId}:
    get:
      tags:
      - contacts
      operationId: getContactsV4ForCalendar_1
      parameters:
      - name: user
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/User'
      - name: calendarId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: limit
        in: query
        required: true
        schema:
          type: integer
          format: int32
          default: 1000
      responses:
        '200':
          description: getContactsV4ForCalendar_1 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonContactView'
      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
    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
    AsanaSettings:
      type: object
      properties:
        enabled:
          type: boolean
    ContactView:
      required:
      - avatarUrl
      - contactType
      - email
      - firstName
      - hasPendingInvite
      - isTeamMember
      - isTopContact
      - lastName
      - name
      - userId
      type: object
      properties:
        email:
          type: string
        userId:
          type: string
          nullable: true
        name:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        contactType:
          $ref: '#/components/schemas/ContactType'
        isTopContact:
          type: boolean
        avatarUrl:
          type: string
          nullable: true
        isTeamMember:
          type: boolean
        hasPendingInvite:
          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
    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
    PersonContactView:
      required:
      - contactType
      - credentialId
      - emailCalendarId
      - score
      type: object
      properties:
        emailCalendarId:
          $ref: '#/components/schemas/ExternalCalendarId'
        userId:
          type: string
          nullable: true
        credentialId:
          type: integer
          format: int64
        calendarId:
          type: integer
          format: int64
          nullable: true
        name:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        contactType:
          $ref: '#/components/schemas/ContactType'
        avatarUrl:
          type: string
          nullable: true
        score:
          type: number
          format: double
        metadata:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ContactMetadataView'
    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'
    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
    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'
    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
    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'
    ContactMetadataView:
      required:
      - description
      - value
      type: object
      properties:
        description:
          type: string
        value:
          type: string
    AnalyticsSettings:
      type: object
      properties:
        teamAnalyticsV4ViewEnabled:
          type: boolean
        teamAnalyticsV4FiltersEnabled:
          type: boolean
    AutoLock:
      type: string
      enum:
      - 'OFF'
      - SAME_DAY
      - SAME_WEEK
      - TOMORROW
      - ROLLING_3_DAYS
    QuestSettings:
      type: object
      properties:
        enabled:
          type: boolean
    SchedulingLinkSettings:
      type: object
      properties:
        enabled:
          type: boolean
        note:
          type: string
        remindersMigrated:
          type: boolean
        messageTemplates:
          type: object
          additionalProperties:
            type: string
        nameVisibility:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/SchedulingLinkNameVisibility'
    DateFieldOrder:
      type: string
      enum:
      - MDY
      - DMY
      - YMD
    TaskDefaults:
      type: object
      properties:
        timeChunksRequired:
          type: integer
          format: int32
        commsTimeChunksRequired:
          type: integer
          format: int32
        delayedStartInMinutes:
          type: integer
          format: int32
        dueInDays:
          type: integer
          format: int32
          nullable: true
        category:
          deprecated: true
          allOf:
          - $ref: '#/components/schemas/EventCategory'
        alwaysPrivate:
          type: boolean
        minChunkSize:
          type: integer
          format: int32
        maxChunkSize:
          type: integer
          format: int32
        timeSchemeId:
          type: string
          nullable: true
        priority:
          type: string
        onDeck:
          type: boolean
        splitUp:
          type: boolean
        googleTaskIntegrationNoDueDateWhenMissing:
          type: boolean
    UserOnboard:
      type: object
      properties:
        habits:
          type: boolean
        tasks:
          type: boolean
        googleTasks:
          type: boolean
        planItemPrioritized:
          type: boolean
        smartOneOnOnes:
          type: boolean
        bufferTime:
          type: boolean
        tasksReindex:
          type: boolean
        googleAddOn:
          type: boolean
        v16Scheduler:
          type: boolean
        helpMenus:
          type: boolean
        smartMeetingsJustNewQuest:
          type: boolean
        smartHabitsJustNewQuest:
          type: boolean
        smartMeetingsNavItem:
          type: boolean
        smartMeetingsPric

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