Reclaim.ai resources API

The resources API from Reclaim.ai — 1 operation(s) for resources.

OpenAPI Specification

reclaim-ai-resources-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes resources 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: resources
paths:
  /api/resources:
    get:
      tags:
      - resources
      operationId: getResources
      parameters:
      - name: user
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/User'
      responses:
        '200':
          description: getResources 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resources'
      security:
      - Authorization: []
components:
  schemas:
    SmartSeriesLineageView:
      type: object
      properties:
        lineageId:
          type: integer
          format: int64
        calendarId:
          type: integer
          format: int64
        type:
          $ref: '#/components/schemas/SmartSeriesType'
        status:
          $ref: '#/components/schemas/SmartSeriesStatus'
        activeSeries:
          $ref: '#/components/schemas/SmartSeriesView'
        series:
          type: array
          items:
            $ref: '#/components/schemas/SmartSeriesView'
        periods:
          type: array
          items:
            $ref: '#/components/schemas/SmartSeriesPeriodView'
        enabled:
          type: boolean
        restorable:
          type: boolean
        recurrenceType:
          $ref: '#/components/schemas/SmartSeriesRecurrenceType'
    DefaultRsvpAvailability:
      type: object
      properties:
        treatNeedsActionRsvpAs:
          $ref: '#/components/schemas/AvailabilityType'
    SchedulingWindowWeeks:
      type: string
      enum:
      - ONE
      - TWO
      - THREE
      - FOUR
      - FIVE
      - SIX
      - SEVEN
      - EIGHT
      - NINE
      - TEN
      - ELEVEN
      - TWELVE
    EventKey:
      required:
      - calendarId
      - eventId
      type: object
      properties:
        eventId:
          type: string
        calendarId:
          type: integer
          format: int64
    WebhookSettings:
      type: object
      properties:
        enabled:
          type: boolean
        all:
          $ref: '#/components/schemas/WebhookSettings'
    SchedulingLinkMemberStatus:
      type: string
      enum:
      - ACTIVE
      - UNPAID
      - NOT_IN_TEAM
      - ACCOUNT_DELETED
      - UNAUTHORIZED
    DelayStart:
      type: string
      enum:
      - NO_DELAY
      - FROM_NOW_MINUTES
      - FROM_NOW_HOURS
      - FROM_NOW_DAYS
      - FROM_NOW_START_OF_NEXT_DAY
      - FROM_NOW_START_OF_NEXT_WEEK
    Frequency:
      type: string
      enum:
      - DAILY
      - WEEKLY
      - MONTHLY
    ConferenceSource:
      type: string
      enum:
      - NATIVE
      - PARSED
    LinkInvalidationReason:
      type: string
      enum:
      - ACCESS_LOST
      - USER_INITIATED
    SchedulingLinkRole:
      type: string
      enum:
      - MAIN_ORGANIZER
      - CO_ORGANIZER
      - HOST
      x-deprecated:
      - MAIN_ORGANIZER
    UserInterests:
      type: object
      properties:
        tasks:
          type: boolean
        priorities:
          type: boolean
        office365:
          type: boolean
        calendar:
          type: boolean
        asana:
          type: boolean
        trello:
          type: boolean
        todoist:
          type: boolean
        jira:
          type: boolean
        linear:
          type: boolean
        clickup:
          type: boolean
        monday:
          type: boolean
        MSTeams:
          type: boolean
    DailyHabit:
      required:
      - additionalDescription
      - adjusted
      - alwaysPrivate
      - autoDecline
      - autoDeclineText
      - created
      - defendedDescription
      - defenseAggression
      - durationMax
      - durationMin
      - elevated
      - enabled
      - eventCategory
      - eventSubType
      - id
      - idealTime
      - index
      - invitees
      - notification
      - priority
      - recurrence
      - recurringAssignmentType
      - reservedWords
      - timesPerPeriod
      - title
      - type
      - updated
      type: object
      properties:
        id:
          type: integer
          format: int64
        title:
          type: string
        alwaysPrivate:
          type: boolean
        eventCategory:
          $ref: '#/components/schemas/EventCategory'
        eventSubType:
          $ref: '#/components/schemas/EventSubType'
        eventColor:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EventColor'
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        snoozeUntil:
          type: string
          format: date-time
          nullable: true
        defenseAggression:
          $ref: '#/components/schemas/DefenseAggression'
        defendedDescription:
          type: string
        recurringAssignmentType:
          $ref: '#/components/schemas/RecurringAssignmentType'
        invitees:
          type: array
          items:
            $ref: '#/components/schemas/ThinPerson'
        enabled:
          type: boolean
        durationMin:
          type: integer
          format: int32
        durationMax:
          type: integer
          format: int32
        idealTime:
          type: string
          format: partial-time
        idealDay:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/DayOfWeek'
        recurrence:
          $ref: '#/components/schemas/Recurrence'
        timesPerPeriod:
          type: integer
          format: int32
        additionalDescription:
          type: string
        index:
          type: integer
          format: int32
        elevated:
          type: boolean
        type:
          $ref: '#/components/schemas/AssistType'
        reservedWords:
          type: array
          items:
            type: string
        notification:
          type: boolean
        timePolicyType:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TimePolicyType'
        oneOffPolicy:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TimePolicy'
        timeSchemeId:
          type: string
          nullable: true
        autoDecline:
          type: boolean
        autoDeclineText:
          type: string
        adjusted:
          type: boolean
        priority:
          $ref: '#/components/schemas/PriorityLevel'
        prioritizableType:
          type: string
    AvailabilitySettings:
      type: object
      properties:
        redisCacheEnabled:
          type: boolean
    MeetingLimit.MeetingLimitPeriod:
      type: string
      enum:
      - DAILY
      - WEEKLY
    UserProfileDepartment:
      type: string
      enum:
      - PRODUCT
      - ENGINEERING
      - SUPPORT
      - MARKETING
      - SALES
      - DESIGN
      - HR
      - OPERATIONS
      - ACCOUNTING_AND_FINANCE
      - FOUNDER
      - EXECUTIVE_ASSISTANT
      - IT_SECURITY
      - OTHER
      x-deprecated:
      - OTHER
    TaskSourceType:
      type: string
      enum:
      - TODOIST
      - TRELLO
      - GTASKS
      - LINEAR
      - ASANA
      - CLICK_UP
      - JIRA
      - RECLAIM_APP
      - SLACK
      - RECLAIM_ASSIST
      - RECLAIM_ASSISTANT
    MeetingLocation:
      required:
      - conferenceType
      type: object
      properties:
        conferenceType:
          $ref: '#/components/schemas/ConferenceType'
        location:
          type: string
          nullable: true
        disabled:
          type: boolean
          nullable: true
    EntityPermissions:
      required:
      - canDelete
      - canEdit
      - canEnable
      - canView
      type: object
      properties:
        canView:
          type: boolean
        canEdit:
          type: boolean
        canEnable:
          type: boolean
        canDelete:
          type: boolean
    Colorized:
      type: object
      properties:
        color:
          $ref: '#/components/schemas/EventColor'
    SchedulingLinkFourOhFourAlert:
      type: string
      enum:
      - CALENDAR_ACCESS
      - DISABLED
    SmartSeriesAttendeeView:
      required:
      - attendee
      - priority
      - required
      - responseStatus
      - role
      - timePolicyType
      - visibility
      type: object
      properties:
        attendee:
          $ref: '#/components/schemas/ThinPerson'
        required:
          type: boolean
        role:
          $ref: '#/components/schemas/SmartSeriesRole'
        timezone:
          type: string
          nullable: true
        timePolicyType:
          $ref: '#/components/schemas/TimePolicyType'
        oneOffPolicy:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TimePolicy'
        timeSchemeId:
          type: string
          nullable: true
        priority:
          $ref: '#/components/schemas/PriorityLevel'
        responseStatus:
          $ref: '#/components/schemas/SmartSeriesAttendeeResponseStatus'
        visibility:
          $ref: '#/components/schemas/AttendeeCalendarVisibility'
    SurveyQuestionType:
      type: string
      enum:
      - ONE_LINE
      - RADIO
      - MULTI_LINE
      - DROPDOWN
      - PHONE_NUMBER
      - EMAIL
    TaskAutoWorkflowSettings:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/TaskAutoWorkflowType'
        durationToWaitInDays:
          type: integer
          format: int32
    RecurringAssignmentType:
      type: string
      enum:
      - ONE_ON_ONE
      - DAILY_HABIT
      - TASK
    AsanaSettings:
      type: object
      properties:
        enabled:
          type: boolean
    MeetingLimit:
      required:
      - limit
      - period
      type: object
      properties:
        limit:
          type: integer
          format: int32
        period:
          $ref: '#/components/schemas/MeetingLimit.MeetingLimitPeriod'
    TimezonePreference:
      type: string
      enum:
      - USE_PRIMARY_CALENDAR_TZ
      - USE_RECLAIM_TZ
    UserProvisioningDetails:
      required:
      - hasTeamProvisionedMetadata
      type: object
      properties:
        hasTeamProvisionedMetadata:
          type: boolean
    PriorityLevel:
      type: string
      enum:
      - P1
      - P2
      - P3
      - P4
      - PRIORITIZE
      - DEFAULT
      x-deprecated:
      - PRIORITIZE
      - DEFAULT
    ConferenceType:
      type: string
      enum:
      - GOOGLE_MEET
      - MICROSOFT_TEAMS
      - ZOOM
      - CUSTOM
      - GENERIC_LOCATION
      - PHYSICAL_ADDRESS
      - PHONE_NUMBER
    SmartSeriesPeriodEventStatus:
      type: string
      enum:
      - NONE
      - PRESENT
      - DEFENDED
      - LOCKED
      - DONE
      - UNKNOWN
      x-deprecated:
      - UNKNOWN
    ConferenceDetails:
      required:
      - solution
      - source
      - status
      - url
      type: object
      properties:
        solution:
          $ref: '#/components/schemas/ConferenceSolution'
        url:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/ConferenceStatus'
        source:
          $ref: '#/components/schemas/ConferenceSource'
    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
    SmartSeriesResourceView:
      required:
      - buildingId
      - buildingName
      - capacity
      - category
      - email
      - floorName
      - roomId
      - roomName
      type: object
      properties:
        email:
          type: string
        roomId:
          type: string
          nullable: true
        capacity:
          type: integer
          format: int32
          nullable: true
        buildingId:
          type: string
          nullable: true
        buildingName:
          type: string
          nullable: true
        roomName:
          type: string
          nullable: true
        floorName:
          type: string
          nullable: true
        category:
          type: string
          nullable: true
    PrioritiesSettings:
      type: object
      properties:
        enabled:
          type: boolean
    EventSubType:
      type: string
      enum:
      - ONE_ON_ONE
      - STAFF_MEETING
      - OP_REVIEW
      - EXTERNAL
      - IDEATION
      - FOCUS
      - PRODUCTIVITY
      - TRAVEL
      - FLIGHT
      - TRAIN
      - RECLAIM
      - VACATION
      - HEALTH
      - ERRAND
      - OTHER_PERSONAL
      - UNKNOWN
    EventDisplayPreferences:
      required:
      - attribution
      - busyEmoji
      - description
      - doneEmoji
      - freeEmoji
      - lockEmoji
      - prefix
      - progressEmoji
      - warningEmoji
      type: object
      properties:
        progressEmoji:
          type: boolean
        lockEmoji:
          type: boolean
        freeEmoji:
          type: boolean
        busyEmoji:
          type: boolean
        doneEmoji:
          type: boolean
        warningEmoji:
          type: boolean
        description:
          type: boolean
        attribution:
          type: boolean
        prefix:
          type: boolean
    TaskStatus:
      type: string
      enum:
      - NEW
      - SCHEDULED
      - IN_PROGRESS
      - COMPLETE
      - CANCELLED
      - ARCHIVED
    SchedulingWindowWeeksOverride:
      type: string
      enum:
      - ONE
      - TWO
      - THREE
      - FOUR
      - FIVE
      - SIX
      - SEVEN
      - EIGHT
      - NINE
      - TEN
      - ELEVEN
      - TWELVE
    UserAccountLock.AccountLockType:
      type: string
      enum:
      - PIPELINE_MIGRATION
    ChangeLogReason:
      type: string
      enum:
      - SMART_1_1_SKIPPED
      - SMART_1_1_ATTENDEE_DECLINED
      - SMART_1_1_CREATED
      - SMART_1_1_ATTENDEE_AUTO_ACCEPTED
      - SMART_1_1_DELETED
      - SMART_1_1_ATTENDEE_RESCHEDULED
      - SMART_1_1_PIN
      - SMART_1_1_UNPIN
      - HABIT_START_NOW
      - HABIT_RESTART_NOW
      - HABIT_MOVED
      - HABIT_RESCHEDULED
      - HABIT_ENABLED
      - HABIT_DISABLED
      - HABIT_DELETED
      - HABIT_SKIPPED
      - HABIT_STOPPED
      - HABIT_MARKED_DONE
      - HABIT_UNPIN
      - HABIT_PIN
      - HABIT_CREATED
      - HABIT_PRIORITY_CHANGED
      - HABIT_TIME_POLICY_CHANGED
      - SMART_HABIT_START
      - SMART_HABIT_STOP
      - SMART_HABIT_RESCHEDULE
      - SMART_HABIT_RESET_SCHEDULE
      - SMART_HABIT_SKIP
      - SMART_HABIT_PIN
      - SMART_HABIT_UNPIN
      - SMART_HABIT_MOVE
      - SMART_HABIT_MARK_DONE
      - SMART_HABIT_RECORD
      - SMART_HABIT_SKIPPED_DUE_TO_RESERVED_WORD
      - SMART_HABIT_DECLINE
      - SMART_MEETING_RESCHEDULE
      - SMART_MEETING_RESET_SCHEDULE
      - SMART_MEETING_SKIP
      - SMART_MEETING_PIN
      - SMART_MEETING_UNPIN
      - SMART_MEETING_MOVE
      - SMART_MEETING_MARK_DONE
      - SMART_MEETING_DECLINE
      - SMART_SERIES_EVENT_REMOVED_DUE_TO_FORCE_SKIP
      - SMART_SERIES_EVENT_REMOVED_DUE_TO_NO_TIME
      - SMART_SERIES_EVENT_MOVED
      - SMART_SERIES_EVENT_NO_TIME_ORIGINAL
      - SMART_SERIES_EVENT_NO_TIME_LAST
      - SMART_SERIES_EVENT_NO_TIME_PARTIAL_PERIOD_REMOVED
      - SMART_SERIES_EVENT_NO_TIME_PARTIAL_PERIOD_PUNTED
      - TASK_PIN
      - TASK_UNPIN
      - TASK_START_NOW
      - EVENT_AUTO_LOCK_CHANGED
      - SCHEDULING_LINK_CREATED
      - SCHEDULING_LINK_DELETED
      - SCHEDULING_LINK_BRANDING_CREATED
      - SCHEDULING_LINK_BRANDING_UPDATED
      - SCHEDULING_LINK_BRANDING_DELETED
      - FOCUS_EVENT_PIN
      - FOCUS_EVENT_UNPIN
      - FOCUS_EVENT_RESCHEDULE
      - EVENT_DELETED_VIA_CALENDAR_ASSIGNMENT_SKIPPED_FOR_PERIOD
      - EVENT_DELETED_VIA_CALENDAR_ASSIGNMENT_SKIPPED_FOR_DAY
    SignupMethod:
      type: string
      enum:
      - SCIM
      - ADMIN_API
      - SLACK
      - SELF
    SchedulingLink:
      required:
      - branding
      - delayStart
      - disableBuffers
      - durations
      - effectiveTimePolicy
      - enabled
      - fixedTimePolicy
      - fourOhFourAlerts
      - hidden
      - iconType
      - id
      - linkOwnerTeamId
      - optionalOrganizer
      - organizers
      - owner
      - pageSlug
      - permissions
      - resolvedBrandingMode
      - sharedMeetingTimes
      - slug
      - title
      - webhookConfigIds
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        slug:
          type: string
        pageSlug:
          type: string
        description:
          type: string
          nullable: true
        enabled:
          type: boolean
        hidden:
          type: boolean
        mainOrganizerId:
          type: string
          nullable: true
          deprecated: true
        hostId:
          type: string
          nullable: true
        owner:
          $ref: '#/components/schemas/ThinPerson'
        linkOwnerTeamId:
          type: integer
          format: int64
        organizers:
          type: array
          items:
            $ref: '#/components/schemas/SchedulingLinkOrganizerView'
        effectiveTimePolicy:
          $ref: '#/components/schemas/TimePolicy'
        durations:
          type: array
          items:
            type: integer
            format: int32
        defaultDuration:
          type: integer
          format: int32
          nullable: true
        delayStart:
          $ref: '#/components/schemas/DelayStart'
        delayStartUnits:
          type: integer
          format: int32
          nullable: true
        daysIntoFuture:
          type: integer
          format: int32
          nullable: true
        startDate:
          type: string
          format: date
          nullable: true
        endDate:
          type: string
          format: date
          nullable: true
        priority:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/SchedulingPriority'
        locationOptions:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/MeetingLocation'
        defaultLocationIndex:
          type: integer
          format: int32
          nullable: true
        iconType:
          $ref: '#/components/schemas/IconType'
        organizerRefCode:
          type: string
          nullable: true
          deprecated: true
        ownerRefCode:
          type: string
          nullable: true
        parentId:
          type: string
          nullable: true
        meetingTitle:
          type: string
          nullable: true
        linkGroupId:
          type: string
          nullable: true
        linkGroupName:
          type: string
          nullable: true
        linkGroupDescription:
          type: string
          nullable: true
        derivativeContext:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/DerivativeContext'
        expires:
          type: string
          format: date-time
          nullable: true
        reminderEmailDurationMins:
          type: integer
          format: int32
          nullable: true
        reminderEmailMessage:
          type: string
          nullable: true
        targetCalendarId:
          type: integer
          format: int64
          nullable: true
          deprecated: true
        invalidationReason:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/LinkInvalidationReason'
        permissions:
          $ref: '#/components/schemas/EntityPermissions'
        meetingLimit:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/MeetingLimit'
        survey:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/Survey'
        redirectUrl:
          type: string
          nullable: true
        disableBuffers:
          type: boolean
        sharedMeetingTimes:
          type: array
          items:
            type: integer
            format: int32
        brandingMode:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/BrandingMode'
        resolvedBrandingMode:
          $ref: '#/components/schemas/BrandingMode'
        branding:
          $ref: '#/components/schemas/SchedulingLinkBrandingResponse'
        optionalOrganizer:
          type: boolean
        ownerAttendanceType:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AttendanceType'
        fixedTimePolicy:
          type: boolean
        webhookConfigIds:
          type: array
          items:
            type: string
        fourOhFourAlerts:
          type: array
          items:
            $ref: '#/components/schemas/SchedulingLinkFourOhFourAlert'
    Recurrence:
      type: string
      enum:
      - Daily
      - Weekly
      - Biweekly
      - Monthly
      - Quarterly
      x-enum-descriptions:
      - ''
      - ''
      - Every other week.
      - ''
      - ''
      x-enum-varnames:
      - Daily
      - Weekly
      - Biweekly
      - Monthly
      - Quarterly
    UserMetadata:
      type: object
      properties:
        jobTitle:
          type: string
        companyName:
          type: string
        companySize:
          $ref: '#/components/schemas/UserMetadataCompanySize'
        usecase:
          $ref: '#/components/schemas/UserMetadataUsecase'
        role:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/UserProfileRole'
        goals:
          type: array
          items:
            $ref: '#/components/schemas/UserProfileGoal'
        isWorkspace:
          type: boolean
        department:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/UserProfileDepartment'
        orgMetadata:
          $ref: '#/components/schemas/OrgMetadata'
    UserMetadataCompanySize:
      type: string
      enum:
      - SUB_10
      - SUB_50
      - SUB_100
      - SUB_500
      - SUB_1000
      - THOUSAND_PLUS
    SmartSeriesRole:
      type: string
      enum:
      - ORGANIZER
      - REQUIRED_ATTENDEE
      - OPTIONAL_ATTENDEE
    ConferenceStatus:
      type: string
      enum:
      - PENDING
      - SUCCESS
      - FAILURE
      - UNKNOWN
    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'
    ChangeLogEntryView:
      required:
      - changedAt
      - id
      - reason
      type: object
      properties:
        id:
          type: integer
          format: int64
        changedAt:
          type: string
          format: date-time
        reclaimEventType:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ReclaimEventType'
        assignmentId:
          type: integer
          format: int64
          nullable: true
        assignmentSubId:
          type: integer
          format: int64
          nullable: true
        eventId:
          type: string
          nullable: true
        organizerId:
          type: string
          nullable: true
        actorId:
          type: string
          nullable: true
        reason:
          $ref: '#/components/schemas/ChangeLogReason'
        lockChangedMetadata:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ChangeLogEntryMetadataView'
        periodSkippedMetadata:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ChangeLogEntryMetadataView'
        eventMovedMetadata:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ChangeLogEntryMetadataView'
        periodSkippedDueToReservedWordMetadata:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ChangeLogEntryMetadataView'
    BrandingMode:
      type: string
      enum:
      - RECLAIM
      - NONE
      - CUSTOM
    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
    IdealMonthlyDay:
      type: object
      properties:
        idealDayOfMonth:
          type: integer
          format: int32
        idealDayOfWeek:
          $ref: '#/components/schemas/DayOfWeek'
        idealWeek:
          type: integer
          format: int32
    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
    DayHours:
      required:
      - intervals
      type: object
      properties:
        intervals:
          type: array
          items:
            $ref: '#/components/schemas/LocalTimeInterval'
        startOfDay:
          type: string
          format: partial-time
          nullable: true
        endOfDay:
          type: string
          format: partial-time
          nullable: true
    User:
      required:
      - edition
      - editionUsage
      - schedulerWindowWeeks
      - sku
      type: object
      properties:
        id:
          type: string
        email:
          type: string
        principal:
          type: string
        provider:
          type: string
        baseProvider:
          type: string
        name:
          type: string
        firstName:
          type: string
        entitlements:
          $ref: '#/components/schemas/Entitlements'
        detailedEntitlements:
          $ref: '#/components/schemas/DetailedEntitlements'
        editionEntitlements:
          properties:
            MAX_TEAM_SIZE:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            SCHEDULER_WEEKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_TASKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_CALENDARS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_SYNCS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_HABITS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_TASKS_WEEK:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            TRAVEL_TIME:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            DECOMPRESSION_TIME:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING_DECOMPRESSION:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING_HABITS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_BLOCKING_CALENDAR_SYNC:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            CUSTOM_SLACK_STATUS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            MAX_SCHEDULING_LINKS:
              $ref: '#/components/schemas/EntitlementValue_Object_'
            DERIVATIVE_SCHEDULING

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