Reclaim.ai assist API

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

Operations 11

GET /api/assist/habits/daily #
POST /api/assist/habits/daily #
GET /api/assist/habits/daily/{id} #
PUT /api/assist/habits/daily/{id} #
DELETE /api/assist/habits/daily/{id} #
PATCH /api/assist/habits/daily/{id} #
POST /api/assist/habits/daily/{id}/migrate-to-smart-series #
GET /api/assist/habits/template #
POST /api/assist/habits/template/create #
GET /api/assist/habits/templates #
GET /api/assist/smart-meetings/availability-diagnostics #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/reclaim-ai-assist-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reclaim-ai-assist-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reclaim account-time-schemes Assist API
  description: Reclaim's awesome API
  contact:
    name: Reclaim.ai Inc.
    url: http://reclaim.ai
    email: info@reclaim.ai
  license:
    name: Reclaim 9.9
    url: http://reclaim.ai
  version: '0.1'
servers:
- url: https://api.app.reclaim.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: assist
paths:
  /api/assist/habits/daily:
    get:
      tags:
      - assist
      operationId: getDailyHabits
      responses:
        '200':
          description: getDailyHabits 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DailyHabit'
      security:
      - Authorization: []
    post:
      tags:
      - assist
      operationId: create
      parameters:
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DailyHabit_1'
        required: true
      responses:
        '200':
          description: create 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DailyHabit'
      security:
      - Authorization: []
  /api/assist/habits/daily/{id}:
    get:
      tags:
      - assist
      operationId: getDailyHabit
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: getDailyHabit 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyHabit'
      security:
      - Authorization: []
    put:
      tags:
      - assist
      operationId: update
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DailyHabit_2'
        required: true
      responses:
        '200':
          description: update 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DailyHabit'
      security:
      - Authorization: []
    delete:
      tags:
      - assist
      operationId: delete_1
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema: {}
      security:
      - Authorization: []
    patch:
      tags:
      - assist
      operationId: patch
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DailyHabit'
        required: true
      responses:
        '200':
          description: patch 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DailyHabit'
      security:
      - Authorization: []
  /api/assist/habits/daily/{id}/migrate-to-smart-series:
    post:
      tags:
      - assist
      operationId: migrateToSmartSeries
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: recurrenceType
        in: query
        schema:
          allOf:
          - $ref: '#/components/schemas/SmartSeriesRecurrenceType'
      responses:
        '200':
          description: migrateToSmartSeries 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/assist/habits/template:
    get:
      tags:
      - assist
      operationId: getHabitTemplate
      parameters:
      - name: templateKey
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/HabitTemplateKey'
      responses:
        '200':
          description: getHabitTemplate 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyHabitTemplate'
      security:
      - Authorization: []
  /api/assist/habits/template/create:
    post:
      tags:
      - assist
      operationId: createHabitTemplates
      parameters:
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TemplateRequest'
        required: true
      responses:
        '200':
          description: createHabitTemplates 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HabitTemplateKey'
      deprecated: true
      security:
      - Authorization: []
  /api/assist/habits/templates:
    get:
      tags:
      - assist
      operationId: getHabitTemplates
      parameters:
      - name: role
        in: query
        schema:
          allOf:
          - $ref: '#/components/schemas/UserProfileRole'
      - name: department
        in: query
        schema:
          allOf:
          - $ref: '#/components/schemas/UserProfileDepartment'
      responses:
        '200':
          description: getHabitTemplates 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DailyHabitTemplate'
      security:
      - Authorization: []
  /api/assist/smart-meetings/availability-diagnostics:
    get:
      tags:
      - assist
      operationId: availabilityDiagnostics
      parameters:
      - name: seriesId
        in: query
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: availabilityDiagnostics 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssistController.AvailabilityDiagnostics'
      security:
      - Authorization: []
components:
  schemas:
    DefenseAggression:
      type: string
      enum:
      - NONE
      - LOW
      - DEFAULT
      - HIGH
      - MAX
    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
    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'
    HabitTemplateKey:
      type: string
      enum:
      - LUNCH
      - MEDITATION
      - TAKE_A_WALK
      - READING
      - WRITING
      - MORNING_CATCHUP
      - AFTERNOON_CATCHUP
      - MONTHLY_METRICS_REVIEW
      - SPRINT_PLANNING
      - CUSTOMER_FEEDBACK_REVIEW
      - WEEKLY_STATUS_REPORT
      - PRODUCT_BACKLOG_REVIEW
      - PRODUCT_REQUIREMENTS
      - RETROSPECTIVE_PLANNING
      - PRODUCT_LAUNCH_PLANNING
      - FOCUS_TIME
      - DEBUGGING
      - FEATURE_BACKLOG
      - TESTING
      - CUSTOMER_RESEARCH
      - RECRUITMENT
      - QUARTERLY_RESEARCH_REPORT
      - STRATEGIC_PLANNING
      - DEPLOY
      - PRODUCT_DOCUMENTATION
      - CODING
      - ARCHITECTURE_DESIGN_REVIEW
      - CODE_REVIEW
      - TRAINING
      - TROUBLESHOOT_ESCALATED_ISSUES
      - REVIEW_PRODUCT_UPDATES
      - COMMUNITY_ENGAGEMENT
      - SUPPORT_TIME
      - SHARE_CUSTOMER_FEEDBACK
      - SNIPPET_TEMPLATE_UPDATES
      - ADVERTISING_REVIEW
      - COMPETITOR_RESEARCH
      - PR_PLANNING
      - SEO_REVIEW
      - SOCIAL_MEDIA_UPDATES
      - NEWSLETTER
      - BLOG_WRITING
      - WEBINAR_PREP
      - EMAIL_INBOUND_LEADS
      - KEY_ACCOUNT_CHECK_INS
      - SALES_PIPELINE_REVIEW
      - WRITE_PROPOSAL
      - CRM_UPDATES
      - PROSPECTING
      - UPDATE_SALES_PRESENTATIONS
      - OUTBOUND_CALLS
      - WEEKLY_DESIGN_REVIEW
      - FREE_DESIGN_HOUR
      - USER_RESEARCH
      - DESIGN_USER_TESTS
      - DAILY_DESIGN_TIME
      - WIREFRAMES
      - USER_FLOW_DESIGN
      - EMPLOYEE_RELATIONS_REVIEW
      - PTO_REVIEW
      - PRODUCTIVITY_REVIEW
      - DEI_REVIEW
      - PROCESS_BACKGROUND_CHECKS
      - QUARTERLY_TRAINING_PREP
      - APPLICANT_REVIEW
      - EMPLOYEE_RECOGNITION
      - PAYROLL_UPDATES
      - INTERVIEW_PREP
      - EMPLOYEE_SURVEYS
      - UPDATE_JOB_POSTINGS
      - EMPLOYEE_NEWSLETTER_PREP
      - REVIEW_DEPARTMENT_REQUIREMENTS
      - SECURITY_REVIEWS
      - TEAM_MEETING_PREP
      - LEGAL_COMPLIANCE_REVIEW
      - VENDOR_REVIEWS
      - BUSINESS_PERFORMANCE_REVIEW
      - REVIEW_PROCUREMENT_REQUESTS
      - REVIEW_SUPPLIER_AGREEMENTS
      - UPDATE_INTERNAL_POLICIES
      - ANALYZE_TECHNOLOGY_USAGE
      - REVIEW_TEAM_WORKFLOWS
      - UPDATE_OPERATIONAL_PROCEDURES
      - REVIEW_FINANCIAL_REPORTS
      - INVESTOR_UPDATE
      - MONTH_END_FINANCIAL_STATEMENTS
      - REVIEW_FORECAST_REPORTS
      - BUDGET_PLANNING
      - REVIEW_MONTHLY_REPORTS
      - REVIEW_EXPENSE_REPORT
      - PREPARE_MONTHLY_REPORTS
      - UPDATE_JOURNAL_ENTRIES
      - REVIEW_TIME_SHEETS
      - PROCESS_PAYMENTS
      - REVIEW_ACCOUNTS_PAYABLE
      - TAX_PLANNING
      - WEEKDAY_STUDY
      - GROCERY_SHOPPING
      - LAUNDRY
      - INTERNSHIP_APPLICATIONS
      - WEEKEND_STUDY
      - EXERCISE
      - CLEAN_HOUSE
      - CALL_FAMILY
      - WORK_ON_THESIS
    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:
          allOf:
          - $ref: '#/components/schemas/EventColor'
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        snoozeUntil:
          type:
          - string
          - 'null'
          format: date-time
        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:
          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:
          allOf:
          - $ref: '#/components/schemas/TimePolicyType'
        oneOffPolicy:
          allOf:
          - $ref: '#/components/schemas/TimePolicy'
        timeSchemeId:
          type:
          - string
          - 'null'
        autoDecline:
          type: boolean
        autoDeclineText:
          type: string
        adjusted:
          type: boolean
        priority:
          $ref: '#/components/schemas/PriorityLevel'
        prioritizableType:
          type: string
    EntitlementValue_Object_:
      required:
      - nextEdition
      - nextValue
      - value
      type: object
      properties:
        value: {}
        nextValue: {}
        nextEdition:
          allOf:
          - $ref: '#/components/schemas/ReclaimEdition'
    EventResponseStatus:
      type: string
      enum:
      - None
      - Organizer
      - Accepted
      - Declined
      - TentativelyAccepted
      - NotResponded
      x-enum-varnames:
      - None
      - Organizer
      - Accepted
      - Declined
      - TentativelyAccepted
      - NotResponded
    UserAccountLock.AccountLockType:
      type: string
      enum:
      - PIPELINE_MIGRATION
    ReclaimEdition:
      type: string
      enum:
      - NONE
      - TRIAL
      - ASSISTANT
      - PRO
      - TEAM
      - REWARD
      - LEGACY_PRO_TRIAL
      - LEGACY_TEAM_TRIAL
      - LITE
      - STARTER
      - BUSINESS
      - TRIAL_BUSINESS
      - TRIAL_BUSINESS_12W
      - TRIAL_BUSINESS_FOR_LEGACY_PLANS
      - ENTERPRISE
      - TEAM_REWARD
      - LITE_V2
      - LITE_V3
    CalendarPermissionSettings:
      type: object
      properties:
        enabled:
          type: boolean
    AssistSmartSeries.SmartSeriesSchedulerFactory.SmartPeriodBusyEventPart:
      required:
      - slot
      type: object
      properties:
        slot:
          $ref: '#/components/schemas/TentativeSlot'
    PrioritiesSettings:
      type: object
      properties:
        enabled:
          type: boolean
    OrgMetadata.OrgManager:
      required:
      - displayName
      - managerId
      - ref
      type: object
      properties:
        managerId:
          type: string
        displayName:
          type: string
        ref:
          type: string
    UserMetadata:
      type: object
      properties:
        jobTitle:
          type: string
        companyName:
          type: string
        companySize:
          $ref: '#/components/schemas/UserMetadataCompanySize'
        usecase:
          $ref: '#/components/schemas/UserMetadataUsecase'
        role:
          allOf:
          - $ref: '#/components/schemas/UserProfileRole'
        goals:
          type: array
          items:
            $ref: '#/components/schemas/UserProfileGoal'
        isWorkspace:
          type: boolean
        department:
          allOf:
          - $ref: '#/components/schemas/UserProfileDepartment'
        orgMetadata:
          $ref: '#/components/schemas/OrgMetadata'
    PrioritySource:
      type: string
      enum:
      - MANUAL
      - AI
      - RULES
    RecurringAssignmentStatus:
      type: string
      enum:
      - NEW
      - ACCEPTED
      - DECLINED
      - SCHEDULED
      - INVITEE_ERROR
    ScheduleAssistantSettings:
      type: object
      properties:
        enabled:
          type: boolean
        calendarUIEnabled:
          type: boolean
        scoringSettings:
          $ref: '#/components/schemas/ScheduleAssistantScoringSettings'
        experimentalFeaturesEnabled:
          type: boolean
        mcpDebug:
          type: boolean
        disableBackgroundAutomation:
          type: boolean
        orgRelationshipsEnabled:
          type: boolean
        enableExternalLlm:
          type: boolean
        selfServiceMigrationEnabled:
          type: boolean
        persistedToolApprovalsEnabled:
          type: boolean
    EventAttendee:
      required:
      - email
      type: object
      properties:
        email:
          type: string
        self:
          type:
          - boolean
          - 'null'
        displayName:
          type:
          - string
          - 'null'
        responseStatus:
          allOf:
          - $ref: '#/components/schemas/ResponseStatus'
        comment:
          type:
          - string
          - 'null'
        optional:
          type:
          - boolean
          - 'null'
        additionalGuests:
          type:
          - integer
          - 'null'
          format: int32
        organizer:
          type:
          - boolean
          - 'null'
        resource:
          type:
          - boolean
          - 'null'
    UserAdventures:
      type: object
      properties:
        adventures:
          properties:
            CORE_CONCEPTS:
              $ref: '#/components/schemas/AdventureSetting'
            CONNECT_PRIMARY_CALENDAR:
              $ref: '#/components/schemas/AdventureSetting'
            ADD_AGENT:
              $ref: '#/components/schemas/AdventureSetting'
            ADD_FOCUS_TIME:
              $ref: '#/components/schemas/AdventureSetting'
            ADD_BUFFERS:
              $ref: '#/components/schemas/AdventureSetting'
            ADD_HABIT:
              $ref: '#/components/schemas/AdventureSetting'
            HEAVY_MEETING_LOAD:
              $ref: '#/components/schemas/AdventureSetting'
            CONNECT_CALENDARS:
              $ref: '#/components/schemas/AdventureSetting'
            CALENDAR_SYNC:
              $ref: '#/components/schemas/AdventureSetting'
            SHARED_CALENDARS:
              $ref: '#/components/schemas/AdventureSetting'
            SCHEDULING_LINKS:
              $ref: '#/components/schemas/AdventureSetting'
            SCHEDULING_LINK_SETTINGS:
              $ref: '#/components/schemas/AdventureSetting'
            HOURS:
              $ref: '#/components/schemas/AdventureSetting'
            PROFILE:
              $ref: '#/components/schemas/AdventureSetting'
            PERMISSIONS:
              $ref: '#/components/schemas/AdventureSetting'
            SLACK:
              $ref: '#/components/schemas/AdventureSetting'
            INTEGRATIONS:
              $ref: '#/components/schemas/AdventureSetting'
            TASK_INTEGRATIONS:
              $ref: '#/components/schemas/AdventureSetting'
            CHAT:
              $ref: '#/components/schemas/AdventureSetting'
            LOG_WORK:
              $ref: '#/components/schemas/AdventureSetting'
            PREVIEW_MODE:
              $ref: '#/components/schemas/AdventureSetting'
    AdventureSetting:
      required:
      - complete
      type: object
      properties:
        complete:
          type: boolean
    SmartOneOnOneSettings:
      type: object
      properties:
        enabled:
          type: boolean
    GoogleCalendarEventMetadata:
      required:
      - guestsCanInviteOthers
      - guestsCanModify
      - guestsCanSeeOtherGuests
      type: object
      properties:
        guestsCanModify:
          type: boolean
        guestsCanInviteOthers:
          type: boolean
        guestsCanSeeOtherGuests:
          type: boolean
    SlackSettings.StatusSync:
      type: string
      enum:
      - 'OFF'
      - DEFAULT
      - BUSY
      - CUSTOM
      - TEAM
    SlackStatusSetting:
      type: object
      properties:
        emoji:
          type: string
        template:
          type: string
        dnd:
          type: boolean
        enabled:
          type: boolean
    DayHours:
      required:
      - intervals
      type: object
      properties:
        intervals:
          type: array
          items:
            $ref: '#/components/schemas/LocalTimeInterval'
        startOfDay:
          type:
          - string
          - 'null'
          format: partial-time
        endOfDay:
          type:
          - string
          - 'null'
          format: partial-time
    TaskAutoWorkflowSettings:
      type: object
      properties:
        category:
          $ref: '#/components/schemas/TaskAutoWorkflowType'
        durationToWaitInDays:
          type: integer
          format: int32
    UserAccountLock:
      required:
      - accountLockType
      - lockMessage
      type: object
      properties:
        accountLockType:
          $ref: '#/components/schemas/UserAccountLock.AccountLockType'
        lockMessage:
          type: string
    ObservedUser:
      type: object
      allOf:
      - $ref: '#/components/schemas/LogContext'
      - properties:
          id:
            type: string
          trackingCode:
            type: string
          edition:
            $ref: '#/components/schemas/ReclaimEdition'
    TimezoneSettings:
      required:
      - timeZonePreference
      type: object
      properties:
        zoneId:
          type:
          - string
          - 'null'
        timeZonePreference:
          $ref: '#/components/schemas/TimezonePreference'
        timezonePreference:
          $ref: '#/components/schemas/TimezonePreference'
    ConferenceBufferType:
      type: string
      enum:
      - ALL_MEETINGS
      - CONFERENCE_MEETINGS
    TaskCooldown:
      type: string
      enum:
      - NONE
      - LEGACY
      - HALF_HOUR
      - ONE_HOUR
      - TWO_HOURS
      - FOUR_HOURS
      - ONCE_A_DAY
    UserDateTimeFormatter:
      type: object
      properties:
        locale:
          type: string
    Predicate_Event_:
      type: object
    ColorsSettings:
      type: object
      properties:
        enabled:
          type: boolean
        categoriesEnabled:
          type: boolean
        lastModified:
          type: string
          format: date-time
        priorities:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EventColor'
        categories:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EventColor'
    EventColor:
      type: string
      enum:
      - NONE
      - LAVENDER
      - SAGE
      - GRAPE
      - FLAMINGO
      - BANANA
      - TANGERINE
      - PEACOCK
      - GRAPHITE
      - BLUEBERRY
      - BASIL
      - TOMATO
    Entitlements:
      type: object
      properties:
        unlimitedHabitsEnabled:
          type: boolean
        unlimitedConnectedCalendarsEnabled:
          type: boolean
        unlimitedSyncEnabled:
          type: boolean
        customSyncTransparencyEnabled:
          type: boolean
        smart11CreationEnabled:
          type: boolean
        customSlackSyncStatusEnabled:
          type: boolean
        customConferenceBufferTitleEnabled:
          type: boolean
        schedulingLinkSurveyEnabled:
          type: boolean
        maxDaysAheadForSchedulingLinks:
          type: integer
          format: int32
        linearEnabled:
          type: boolean
        jiraEnabled:
          type: boolean
        todoistEnabled:
          type: boolean
        asanaEnabled:
          type: boolean
        clickupEnabled:
          type: boolean
        trelloEnabled:
          type: boolean
        mondayEnabled:
          type: boolean
        dropboxEnabled:
          type: boolean
        SSOEnabled:
          type: boolean
    DefaultRsvpAvailability:
      type: object
      properties:
        treatNeedsActionRsvpAs:
          $ref: '#/components/schemas/AvailabilityType'
    AssistDetails:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/AssistType'
        customHabit:
          type: boolean
        smartSeries:
          type: boolean
        focus:
          type: boolean
        habitOrTask:
          type: boolean
        task:
          type: boolean
        conferenceBuffer:
          type: boolean
        travelBuffer:
          type: boolean
        status:
          $ref: '#/components/schemas/AssistStatus'
        travelNewEventId:
          type:
          - string
          - 'null'
          description: The source event id for a travel assist event.
        conferenceEventId:
          type:
          - string
          - 'null'
          description: The source event id for a conference (decompression time) event.
        lastControlledUpdate:
          type: string
          format: date-time
        lastControlledHash:
          type: integer
          format: int32
        defended:
          type: boolean
        pinned:
          type: boolean
        lockState:
          allOf:
          - $ref: '#/components/schemas/LockState'
        dailyHabitId:
          type:
          - integer
          - 'null'
          format: int64
        seriesLineageId:
          type:
          - integer
          - 'null'
          format: int64
        seriesId:
          type:
          - integer
          - 'null'
          format: int64
        taskId:
          type:
          - integer
          - 'null'
          format: int64
        taskIndex:
          type:
          - integer
          - 'null'
          format: int32
        policyOverride:
          allOf:
          - $ref: '#/components/schemas/AssistPolicyOverride'
        lastManualAdjustment:
          type: string
          format: date-time
        recurringAssignmentType:
          $ref: '#/components/schemas/RecurringAssignmentType'
        eventType:
          $ref: '#/components/schemas/ReclaimEventType'
        manuallyStarted:
          type: boolean
        focusId:
          type:
          - integer
          - 'null'
          format: int64
        assistReferenceValid:
          type: boolean
      description: This entity maps to the assist_events table.
    EntitlementDetails:
      required:
      - minimumEdition
      - name
      type: object
      properties:
        minimumEdition:
          type: string
        name:
          type: string
        enabledForUser:
          type: boolean
    DropboxSettings:
      type: object
      properties:
        enabled:
          type: boolean
    SlackSettings:
      type: object
      properties:
        enabled:
          type: boolean
        newSlackExperienceEnabled:
          type: boolean
        customSlackStatusWaterMark:
          type:
          - string
          - 'null'
        previousStatusWaterMarks:
          type:
          - array
          - 'null'
          items:
            type: string
        oooMessageTemplate:
          type:
          - string
          - 'null'
        personalSyncNotifyNew:
          type: boolean
        personalSyncNotifyUpdated:
          type: boolean
        personalSyncNotifyDeleted:
          type: boolean
        personalSyncNotificationsIncludingSelf:
          type: boolean
        habitNotifyUpcoming:
          type: boolean
        taskNotifyUpcoming:
          type: boolean
        travelNotify:
          type: boolean
        outsideHoursMigrated:
          type: boolean
        statusSync:
          $ref: '#/components/schemas/SlackSettings.StatusSync'
        statusEnabled:
          type: boolean
        privateStatus:
          $ref: '#/components/schemas/SlackStatusSetting'
        statuses:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SlackStatusSetting'
        outSideHours:
          $ref: '#/components/schemas/SlackOutsideHoursSetting'
        stopNotifyingDisappearingAfterByType:
          type: object
          additionalProperties:
            type: string
            format: date
    BillingSettings:
      type: object
      properties:
        enabled:
          type: boolean
    EventType:
      type: string
      enum:
      - MEETING
      - WORK
      - LOGISTICS
      - PERSONAL
    WeeklyReport:
      type: object
      properties:
        enabled:
          type: boolean
        sendReport:
          type: boolean
    WebhookSettings:
      type: object
      properties:
        enabled:
          type: boolean
        all:
          $ref: '#/components/schemas/WebhookSettings'
    AssistNotificationSettings:
      required:
      - detectedDigest
      - instanceChanges
      - instanceWindowInDays
      - needsAttentionDigest
      type: object
      properties:
        instanceChanges:
          type: boolean
        instanceWindowInDays:
          type: integer
          format: int32
        needsAttentionDigest:
          type: boolean
        detectedDigest:
          type: boolean
    UserProvisioningDetails:
      required:
      - hasTeamProvisionedMetadata
      type: object
      properties:
        hasTeamProvisionedMetadata:
          type: boolean
    EventStatus:
      type: string
      enum:
      - PUBLISHED
      - CANCELLED
    EventKey:
      required:
      - calendarId
      - eventId
      type: object
      properties:
        eventId:
          type: string
        calendarId:
          type: integer
          format: int64
    TimePolicy:
      required:
      - dayHours
      type: object
      properties:
        startOfWeek:
          $ref: '#/components/schemas/DayOfWeek'
        endOfWeek:
          $ref: '#/components/schemas/DayOfWeek'
        dayHours:
          properties:
            MONDAY:
              $ref: '#/components/schemas/DayHours'
            TUESDAY:
              $ref: '#/components/schemas/DayHours'
            WEDNESDAY:
              $ref: '#/components/schemas/DayHours'
            THURSDAY:
              $ref: '#/components/schemas/DayHours'
            FRIDAY:
              $ref: '#/components/schemas/DayHours'
            SATURDAY:
              $ref: '#/components/schemas/DayHours'
            SUNDAY:
              $ref: '#/components/schemas/DayHours'
    AvailabilityV8:
      required:
      - assistedEvents
      - now
      - timezone
      - user
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
        now:
          type: string
          format: date-time
        timezone:
          type: string
        assistedEvents:
          type: array
          items:
            $ref: '#/components/schemas/Event'
    Settings:
      type: object
      properties:
        autoAddHangouts:
          type: boolean
        defaultEventLength:
          type: integer
          format: int32
        weekStart:
          type: integer
        

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