Reclaim.ai smart-habits API

The smart-habits API from Reclaim.ai — 29 operation(s) for smart-habits.

OpenAPI Specification

reclaim-ai-smart-habits-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes smart-habits 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: smart-habits
paths:
  /api/smart-habits:
    get:
      tags:
      - smart-habits
      operationId: findAllSmartHabits
      responses:
        '200':
          description: findAllSmartHabits 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
    post:
      tags:
      - smart-habits
      operationId: createSmartHabit
      parameters:
      - name: sendUpdates
        in: query
        schema:
          type: boolean
          nullable: true
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSmartHabitRequest'
        required: true
      responses:
        '200':
          description: createSmartHabit 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
  /api/smart-habits/convert/{calendarId}/{eventId}:
    post:
      tags:
      - smart-habits
      operationId: convertToSmartHabits
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSmartHabitRequest'
        required: true
      responses:
        '200':
          description: convertToSmartHabits 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-habits/detect:
    get:
      tags:
      - smart-habits
      operationId: detectSmartHabits
      parameters:
      - name: onboarding
        in: query
        schema:
          type: boolean
          nullable: true
      responses:
        '200':
          description: detectSmartHabits 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
  /api/smart-habits/planner/{eventId}/done:
    post:
      tags:
      - smart-habits
      operationId: markAsDone
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: markAsDone 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{eventId}/lock:
    post:
      tags:
      - smart-habits
      operationId: lockHabitInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: lockHabitInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{eventId}/move:
    post:
      tags:
      - smart-habits
      operationId: moveMeetingInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: start
        in: query
        required: true
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        required: true
        schema:
          type: string
          format: date-time
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: moveMeetingInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{eventId}/reschedule:
    post:
      tags:
      - smart-habits
      operationId: rescheduleMeetingInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: snoozeOption
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/SnoozeOption'
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: rescheduleMeetingInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{eventId}/skip:
    post:
      tags:
      - smart-habits
      operationId: skipHabitInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: skipHabitInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{eventId}/unlock:
    post:
      tags:
      - smart-habits
      operationId: unlockHabitInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: unlockHabitInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{lineageId}/clear-exceptions:
    post:
      tags:
      - smart-habits
      operationId: resetSchedule
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: resetSchedule 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{lineageId}/record:
    post:
      tags:
      - smart-habits
      operationId: record
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: start
        in: query
        required: true
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        required: true
        schema:
          type: string
          format: date-time
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: record 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{lineageId}/recordable-periods:
    get:
      tags:
      - smart-habits
      operationId: recordablePeriods
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: recordablePeriods 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartSeriesPeriodView'
      security:
      - Authorization: []
  /api/smart-habits/planner/{lineageId}/start:
    post:
      tags:
      - smart-habits
      operationId: startNow
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: startNow 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{lineageId}/stop:
    post:
      tags:
      - smart-habits
      operationId: stop
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: stop 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-habits/planner/{seriesId}/clear-force-skipped:
    post:
      tags:
      - smart-habits
      operationId: clearForceSkipped
      parameters:
      - name: seriesId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: clearForceSkipped 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-habits/planner/{seriesId}/clear-time-policy-exceptions:
    post:
      tags:
      - smart-habits
      operationId: clearTimePolicyExceptions
      parameters:
      - name: seriesId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: date
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: clearTimePolicyExceptions 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-habits/shared:
    post:
      tags:
      - smart-habits
      operationId: createSharedHabit
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSharedSmartHabitRequest'
        required: true
      responses:
        '200':
          description: createSharedHabit 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedSmartHabit'
      security:
      - Authorization: []
  /api/smart-habits/shared/v2/{sharedHabitShortCode}:
    get:
      tags:
      - smart-habits
      operationId: getSharedHabit
      parameters:
      - name: sharedHabitShortCode
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: getSharedHabit 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedSmartHabitView'
      security:
      - Authorization:
        - isAuthenticated()
        - isAnonymous()
  /api/smart-habits/shared/{sharedHabitShortCode}:
    get:
      tags:
      - smart-habits
      operationId: getSharedHabit_deprecated
      parameters:
      - name: sharedHabitShortCode
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: getSharedHabit_deprecated 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartHabitTemplate'
      deprecated: true
      security:
      - Authorization:
        - isAuthenticated()
        - isAnonymous()
  /api/smart-habits/template:
    get:
      tags:
      - smart-habits
      operationId: getSmartHabitTemplate
      parameters:
      - name: key
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/SmartHabitTemplateKey'
      responses:
        '200':
          description: getSmartHabitTemplate 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartHabitTemplate'
      security:
      - Authorization: []
  /api/smart-habits/templates:
    get:
      tags:
      - smart-habits
      operationId: getSmartHabitTemplates
      parameters:
      - name: role
        in: query
        schema:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/UserProfileRole'
      - name: department
        in: query
        schema:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/UserProfileDepartment'
      responses:
        '200':
          description: getSmartHabitTemplates 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartHabitTemplate'
      security:
      - Authorization: []
  /api/smart-habits/templates/create:
    post:
      tags:
      - smart-habits
      operationId: createHabitTemplates_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateHabitTemplateRequest'
        required: true
      responses:
        '200':
          description: createHabitTemplates_1 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
  /api/smart-habits/to-single-instances:
    post:
      tags:
      - smart-habits
      operationId: convertToSingleInstances
      responses:
        '200':
          description: convertToSingleInstances 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
  /api/smart-habits/{lineageId}:
    get:
      tags:
      - smart-habits
      operationId: findForSmartHabitLineage
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: findForSmartHabitLineage 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
    delete:
      tags:
      - smart-habits
      operationId: deleteForSmartHabitLineage
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: sendUpdates
        in: query
        schema:
          type: boolean
          nullable: true
      - name: restoreIfAvailable
        in: query
        schema:
          type: boolean
          nullable: true
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: deleteForSmartHabitLineage 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
    patch:
      tags:
      - smart-habits
      operationId: patchSmartHabit
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: eventId
        in: query
        schema:
          type: string
          nullable: true
      - name: sendUpdates
        in: query
        schema:
          type: boolean
          nullable: true
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSmartHabitRequest'
        required: true
      responses:
        '200':
          description: patchSmartHabit 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
  /api/smart-habits/{lineageId}/as-attendee:
    patch:
      tags:
      - smart-habits
      operationId: patchSmartHabitForAttendee
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmartSeriesAttendeeRequest'
        required: true
      responses:
        '200':
          description: patchSmartHabitForAttendee 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
  /api/smart-habits/{lineageId}/disable:
    delete:
      tags:
      - smart-habits
      operationId: disable
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: disable 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-habits/{lineageId}/enable:
    post:
      tags:
      - smart-habits
      operationId: enable_1
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: enable_1 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-habits/{lineageId}/force-successor:
    patch:
      tags:
      - smart-habits
      operationId: forceSuccessor
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSmartHabitRequest'
        required: true
      responses:
        '200':
          description: forceSuccessor 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartHabitLineageView'
      security:
      - Authorization: []
  /api/smart-habits/{lineageId}/to-single-instances:
    post:
      tags:
      - smart-habits
      operationId: convertToSingleInstances_1
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: convertToSingleInstances_1 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesLineageView'
      security:
      - Authorization: []
components:
  schemas:
    EventSourceDetails:
      required:
      - base64Id
      - calendarId
      - description
      - etag
      - eventId
      - eventKey
      - title
      - url
      - writable
      type: object
      properties:
        writable:
          type: boolean
        calendarId:
          type: integer
          format: int64
        eventId:
          type: string
        etag:
          type: string
        eventKey:
          $ref: '#/components/schemas/EventKey'
        base64Id:
          type: string
        url:
          type: string
        title:
          type: string
        description:
          type: string
    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'
    EventKey:
      required:
      - calendarId
      - eventId
      type: object
      properties:
        eventId:
          type: string
        calendarId:
          type: integer
          format: int64
    SmartHabitTemplateKey:
      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
      - REVIEW_TIME_TRACKING_ANALYTICS
      - SEND_MONTHLY_INVOICES
      - PERFORMANCE_REVIEW_PLANNING
      - SALES_AND_REVENUE_ANALYSIS
      - INVENTORY_MANAGEMENT_AND_RECONCILIATION
      - QUALITY_CONTROL_ASSESSMENTS
      - UPDATE_WEBSITE_CONTENT
      - UPDATE_SOFTWARE_SYSTEMS_AND_APPLICATIONS
      - EQUIPMENT_MAINTENANCE_AND_SERVICING
      - REVIEW_AND_REPLENISH_OFFICE_SUPPLIES
      - EVENT_AND_CONFERENCE_PLANNING
      - HEALTH_AND_SAFETY_INSPECTIONS
      - UPDATE_PROJECT_TIMELINES_AND_MILESTONES
      - REVIEW_MARKETING_STRATEGIES
      - UPDATE_EMPLOYEE_SCHEDULES
      - MARKET_RESEARCH
      - PREPARE_MONTHLY_TEAM_BUILDING_ACTIVITIES
      - CONTENT_CALENDAR_PLANNING
      - REVIEW_COMPANY_GOALS
      - ANALYZE_EMPLOYEE_TURNOVER_RATES
      - PAY_BILLS
      - PAY_CREDIT_CARD
      - MOW_LAWN
      - PERSONAL_FINANCIAL_PLANNING
      - MEAL_PLANNING
      - REVIEW_PERSONAL_GOALS
      - SELF_CARE_TIME
      - GARDENING
      - HOME_MAINTENANCE
      - DECLUTTERING_AND_DONATING
      - REVIEW_AND_UPDATE_PASSWORDS
      - UPDATE_PERSONAL_PORTFOLIO
      - UPDATE_RESUME_CV
      - SEND_MONTHLY_BIRTHDAY_CARDS
      - DAILY_JOURNALING_DIARY
      - DEEP_CLEAN_VEHICLE
      - SCHEDULE_DENTAL_CLEANING
      - RUNNING
      - MORNING_MINDFULNESS
      - BEDTIME_WINDDOWN
      - DAILY_LEARNING_HOUR
      - COMPANY_CULTURE_QUARTERLY_REVIEW
      - LEADERSHIP_MEETING_PREP
      - QUARTERLY_POLICY_PROCESS_REVIEW
      - RESOURCE_REVIEW
      - SHAREHOLDER_MEETING_PREP
      - SPEAKING_ENGAGEMENTS_PREP
      - PRODUCT_ROADMAP_REVIEW
      - MONTHLY_GTM_REVIEW
      - QUARTERLY_GOAL_PLANNING
      - MONTHLY_OPERATIONAL_REVIEW
      - AM_EXECUTIVE_EMAIL_REVIEW
      - PM_EXECUTIVE_EMAIL_REVIEW
      - DRAFT_MEMOS
      - PREP_MEETING_AGENDAS
      - PREP_MEETING_MINUTES
      - ARRANGE_WEEKLY_TRANSPORTATION
      - INVITATION_REVIEW
      - WEEKLY_APPOINTMENT_SCHEDULING
      - DOCUMENT_PREP
      - EXECUTIVE_CALENDAR_REVIEW
      - WEEKLY_EXPENSE_REPORTING
      - DELIVERABLES_FOLLOW_UP
      - PROJECT_COORDINATION
      - VENDOR_STAKEHOLDER_CHECKINS
      - WEEKLY_RESEARCH_REPORT
      - FAMILY_MOVIE_NIGHT
      - DINNER_WITH_FAMILY
      - WEEKEND_OUTING
      - FAMILY_GAME_NIGHT
      - PLAN_FAMILY_VACATION
      - SCHOOL_DROPOFF
      - ORGANIZE_PLAYDATES
      - PLAN_FAMILY_BUDGET
      - DAILY_ACCESS_ACCOUNT_REVIEW
      - NETWORK_VULNERABILITY_SCAN
      - CRITICAL_SECURITY_UPDATES
      - SECURITY_AWARENESS
      - PHISHING_SIMULATION
    Frequency:
      type: string
      enum:
      - DAILY
      - WEEKLY
      - MONTHLY
    ConferenceSource:
      type: string
      enum:
      - NATIVE
      - PARSED
    MergeDetails:
      required:
      - key
      - sourceCalendarId
      - sourceReclaimCalendarId
      - type
      type: object
      properties:
        key:
          type: string
        type:
          $ref: '#/components/schemas/MergeDetails.EventType'
        sourceCalendarId:
          type: string
          nullable: true
        sourceReclaimCalendarId:
          type: integer
          format: int64
          nullable: true
    UserProfileDepartment:
      type: string
      enum:
      - PRODUCT
      - ENGINEERING
      - SUPPORT
      - MARKETING
      - SALES
      - DESIGN
      - HR
      - OPERATIONS
      - ACCOUNTING_AND_FINANCE
      - FOUNDER
      - EXECUTIVE_ASSISTANT
      - IT_SECURITY
      - OTHER
      x-deprecated:
      - OTHER
    SnoozeOption:
      type: string
      enum:
      - FROM_NOW_15M
      - FROM_NOW_30M
      - FROM_NOW_1H
      - FROM_NOW_2H
      - FROM_NOW_4H
      - TOMORROW
      - IN_TWO_DAYS
      - NEXT_WEEK
    Colorized:
      type: object
      properties:
        color:
          $ref: '#/components/schemas/EventColor'
    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'
    EventType:
      type: string
      enum:
      - MEETING
      - WORK
      - LOGISTICS
      - PERSONAL
    RecurringAssignmentType:
      type: string
      enum:
      - ONE_ON_ONE
      - DAILY_HABIT
      - TASK
    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
    PriorityLevel:
      type: string
      enum:
      - P1
      - P2
      - P3
      - P4
      - PRIORITIZE
      - DEFAULT
      x-deprecated:
      - PRIORITIZE
      - DEFAULT
    SmartHabitTemplate:
      required:
      - durationMaxMins
      - durationMinMins
      - eventType
      - idealTime
      - name
      - oneOffPolicy
      - priority
      - recurrence
      - timePolicyType
      - title
      type: object
      properties:
        name:
          type: string
        title:
          type: string
        idealTime:
          type: string
          format: partial-time
        recurrence:
          $ref: '#/components/schemas/RecurrenceDefinition'
        durationMaxMins:
          type: integer
          format: int32
        durationMinMins:
          type: integer
          format: int32
        eventType:
          $ref: '#/components/schemas/SmartSeriesEventType'
        timePoli

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