Reclaim.ai smart-meetings API

The smart-meetings API from Reclaim.ai — 22 operation(s) for smart-meetings.

Operations 25

GET /api/smart-meetings #
POST /api/smart-meetings #
GET /api/smart-meetings/attendeeDeclined #
GET /api/smart-meetings/availability/{seriesId} #
POST /api/smart-meetings/convert/{calendarId}/{eventId} #
GET /api/smart-meetings/detect #
POST /api/smart-meetings/invite-organizer #
POST /api/smart-meetings/planner/{eventId}/lock #
POST /api/smart-meetings/planner/{eventId}/move #
POST /api/smart-meetings/planner/{eventId}/reschedule #
POST /api/smart-meetings/planner/{eventId}/reschedule/any-other-time #
POST /api/smart-meetings/planner/{eventId}/skip #
POST /api/smart-meetings/planner/{eventId}/unlock #
POST /api/smart-meetings/planner/{lineageId}/clear-exceptions #
POST /api/smart-meetings/planner/{seriesId}/clear-force-skipped #
POST /api/smart-meetings/planner/{seriesId}/clear-time-policy-exceptions #
POST /api/smart-meetings/to-single-instances #
GET /api/smart-meetings/{lineageId} #
DELETE /api/smart-meetings/{lineageId} #
PATCH /api/smart-meetings/{lineageId} #
PATCH /api/smart-meetings/{lineageId}/as-attendee #
DELETE /api/smart-meetings/{lineageId}/disable #
POST /api/smart-meetings/{lineageId}/enable #
PATCH /api/smart-meetings/{lineageId}/force-successor #
POST /api/smart-meetings/{lineageId}/to-single-instances #

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-smart-meetings-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-smart-meetings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reclaim account-time-schemes Smart Meetings 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: smart-meetings
paths:
  /api/smart-meetings:
    get:
      tags:
      - smart-meetings
      operationId: findAllSmartMeetings
      responses:
        '200':
          description: findAllSmartMeetings 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
    post:
      tags:
      - smart-meetings
      operationId: createSmartMeeting
      parameters:
      - name: sendUpdates
        in: query
        schema:
          type:
          - boolean
          - 'null'
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSmartMeetingRequest'
        required: true
      responses:
        '200':
          description: createSmartMeeting 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/attendeeDeclined:
    get:
      tags:
      - smart-meetings
      operationId: findAllAttendeeDeclinedSmartMeetings
      responses:
        '200':
          description: findAllAttendeeDeclinedSmartMeetings 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/availability/{seriesId}:
    get:
      tags:
      - smart-meetings
      operationId: availabilityReport
      parameters:
      - name: seriesId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: start
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: end
        in: query
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: availabilityReport 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TentativeSlot'
      security:
      - Authorization: []
  /api/smart-meetings/convert/{calendarId}/{eventId}:
    post:
      tags:
      - smart-meetings
      operationId: convertToSmartMeetings
      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
          - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSmartMeetingRequest'
        required: true
      responses:
        '200':
          description: convertToSmartMeetings 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/detect:
    get:
      tags:
      - smart-meetings
      operationId: detectSmartMeetings
      parameters:
      - name: onboarding
        in: query
        schema:
          type:
          - boolean
          - 'null'
      responses:
        '200':
          description: detectSmartMeetings 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/invite-organizer:
    post:
      tags:
      - smart-meetings
      operationId: inviteOrganizer
      parameters:
      - name: lineageIds
        in: query
        required: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: inviteOrganizer 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-meetings/planner/{eventId}/lock:
    post:
      tags:
      - smart-meetings
      operationId: lockMeetingInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: lockMeetingInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-meetings/planner/{eventId}/move:
    post:
      tags:
      - smart-meetings
      operationId: moveMeetingInstance_1
      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
          - 'null'
      responses:
        '200':
          description: moveMeetingInstance_1 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-meetings/planner/{eventId}/reschedule:
    post:
      tags:
      - smart-meetings
      operationId: rescheduleMeetingInstance_1
      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
          - 'null'
      responses:
        '200':
          description: rescheduleMeetingInstance_1 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-meetings/planner/{eventId}/reschedule/any-other-time:
    post:
      tags:
      - smart-meetings
      operationId: rescheduleAnyOtherTimeMeetingInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: rescheduleAnyOtherTimeMeetingInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-meetings/planner/{eventId}/skip:
    post:
      tags:
      - smart-meetings
      operationId: skipMeetingInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: skipMeetingInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-meetings/planner/{eventId}/unlock:
    post:
      tags:
      - smart-meetings
      operationId: unlockMeetingInstance
      parameters:
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: unlockMeetingInstance 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-meetings/planner/{lineageId}/clear-exceptions:
    post:
      tags:
      - smart-meetings
      operationId: resetSchedule_1
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: resetSchedule_1 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesActionPlannedResult'
      security:
      - Authorization: []
  /api/smart-meetings/planner/{seriesId}/clear-force-skipped:
    post:
      tags:
      - smart-meetings
      operationId: clearForceSkipped_1
      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
          - 'null'
      responses:
        '200':
          description: clearForceSkipped_1 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-meetings/planner/{seriesId}/clear-time-policy-exceptions:
    post:
      tags:
      - smart-meetings
      operationId: clearTimePolicyExceptions_1
      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
          - 'null'
      responses:
        '200':
          description: clearTimePolicyExceptions_1 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-meetings/to-single-instances:
    post:
      tags:
      - smart-meetings
      operationId: convertToSingleInstances_2
      responses:
        '200':
          description: convertToSingleInstances_2 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/{lineageId}:
    get:
      tags:
      - smart-meetings
      operationId: findForSmartMeetingLineage
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: findForSmartMeetingLineage 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
    delete:
      tags:
      - smart-meetings
      operationId: deleteForSmartMeetingLineage
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: sendUpdates
        in: query
        schema:
          type:
          - boolean
          - 'null'
      - name: restoreIfAvailable
        in: query
        schema:
          type:
          - boolean
          - 'null'
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: deleteForSmartMeetingLineage 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
    patch:
      tags:
      - smart-meetings
      operationId: patchSmartMeeting
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: eventId
        in: query
        schema:
          type:
          - string
          - 'null'
      - name: sendUpdates
        in: query
        schema:
          type:
          - boolean
          - 'null'
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSmartMeetingRequest'
        required: true
      responses:
        '200':
          description: patchSmartMeeting 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/{lineageId}/as-attendee:
    patch:
      tags:
      - smart-meetings
      operationId: patchSmartMeetingForAttendee
      parameters:
      - name: lineageId
        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/SmartSeriesAttendeeRequest'
        required: true
      responses:
        '200':
          description: patchSmartMeetingForAttendee 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/{lineageId}/disable:
    delete:
      tags:
      - smart-meetings
      operationId: disable_1
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: disable_1 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-meetings/{lineageId}/enable:
    post:
      tags:
      - smart-meetings
      operationId: enable_2
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      - name: notificationKey
        in: query
        schema:
          type:
          - string
          - 'null'
      responses:
        '200':
          description: enable_2 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/smart-meetings/{lineageId}/force-successor:
    patch:
      tags:
      - smart-meetings
      operationId: forceSuccessor_1
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchSmartMeetingRequest'
        required: true
      responses:
        '200':
          description: forceSuccessor_1 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartMeetingLineageView'
      security:
      - Authorization: []
  /api/smart-meetings/{lineageId}/to-single-instances:
    post:
      tags:
      - smart-meetings
      operationId: convertToSingleInstances_3
      parameters:
      - name: lineageId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: convertToSingleInstances_3 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmartSeriesLineageView'
      security:
      - Authorization: []
components:
  schemas:
    SmartSeriesActionPlannedResult:
      required:
      - events
      - series
      - timeoutReached
      - userInfoMessage
      type: object
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
        series:
          $ref: '#/components/schemas/SmartSeriesView'
        userInfoMessage:
          type: string
        timeoutReached:
          type: boolean
      description: 'The expected result of a planner action. Note: this isn''t the reality at the point it''s returned, but what we expect to make reality as we execute the planner action.'
    PatchSmartMeetingRequest:
      type: object
      properties:
        googleMeet:
          type: boolean
          deprecated: true
        conferenceType:
          allOf:
          - $ref: '#/components/schemas/ConferenceType'
        autoDecline:
          type: boolean
        guestsCanModify:
          type: boolean
        title:
          type: string
        description:
          type:
          - string
          - 'null'
        recurrence:
          $ref: '#/components/schemas/RecurrenceDefinition'
        starting:
          type: string
          format: date
        ending:
          type:
          - string
          - 'null'
          format: date
        idealTime:
          type: string
          format: partial-time
        durationMinMins:
          type: integer
          format: int32
        durationMaxMins:
          type:
          - integer
          - 'null'
          format: int32
        eventType:
          $ref: '#/components/schemas/SmartSeriesEventType'
        color:
          allOf:
          - $ref: '#/components/schemas/EventColor'
        defenseAggression:
          $ref: '#/components/schemas/DefenseAggression'
        visibility:
          $ref: '#/components/schemas/SmartSeriesVisibility'
        defendedDescription:
          type:
          - string
          - 'null'
        autoDeclineText:
          type:
          - string
          - 'null'
        organizer:
          $ref: '#/components/schemas/SmartSeriesOrganizerRequest'
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/SmartSeriesAttendeeRequest'
        resources:
          type: array
          items:
            $ref: '#/components/schemas/SmartSeriesResourceRequest'
        location:
          type:
          - string
          - 'null'
        reservedWords:
          type: array
          items:
            type: string
        dependencyType:
          allOf:
          - $ref: '#/components/schemas/SmartSeriesDependencyType'
        dependencyRef:
          type:
          - integer
          - 'null'
          format: int64
        failurePolicy:
          $ref: '#/components/schemas/SmartSeriesBookingFailurePolicy'
        minLeadTimeMins:
          type: integer
          format: int64
        fixedTimePolicy:
          type: boolean
        rescheduleUnstartedOverride:
          type:
          - boolean
          - 'null'
        forceSuccessor:
          type: boolean
        reminders:
          type:
          - array
          - 'null'
          items:
            type: integer
            format: int32
        calendarId:
          type: integer
          format: int64
    SmartSeriesResourceRequest:
      required:
      - email
      - roomId
      type: object
      properties:
        roomId:
          type: string
        email:
          type: string
    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
    DefenseAggression:
      type: string
      enum:
      - NONE
      - LOW
      - DEFAULT
      - HIGH
      - MAX
    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
          - 'null'
        timePolicyType:
          $ref: '#/components/schemas/TimePolicyType'
        oneOffPolicy:
          allOf:
          - $ref: '#/components/schemas/TimePolicy'
        timeSchemeId:
          type:
          - string
          - 'null'
        priority:
          $ref: '#/components/schemas/PriorityLevel'
        responseStatus:
          $ref: '#/components/schemas/SmartSeriesAttendeeResponseStatus'
        visibility:
          $ref: '#/components/schemas/AttendeeCalendarVisibility'
    ConferenceSource:
      type: string
      enum:
      - NATIVE
      - PARSED
    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
    SmartSeriesRole:
      type: string
      enum:
      - ORGANIZER
      - REQUIRED_ATTENDEE
      - OPTIONAL_ATTENDEE
    SmartSeriesDependencyType:
      type: string
      enum:
      - BEFORE_ON_SAME_DAY
      - AFTER_ON_SAME_DAY
      - NOT_SAME_DAY
      - ATTEMPT_AFTER
    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
    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'
    PriorityLevel:
      type: string
      enum:
      - P1
      - P2
      - P3
      - P4
      - PRIORITIZE
      - DEFAULT
      x-deprecated:
      - PRIORITIZE
      - DEFAULT
    EventColor:
      type: string
      enum:
      - NONE
      - LAVENDER
      - SAGE
      - GRAPE
      - FLAMINGO
      - BANANA
      - TANGERINE
      - PEACOCK
      - GRAPHITE
      - BLUEBERRY
      - BASIL
      - TOMATO
    SmartSeriesPeriodSchedulerStatus:
      type: string
      enum:
      - NOT_SKIPPED
      - SKIPPED_BY_USER
      - NO_OVERLAP_WITH_TIME_SCHEME_WINDOWS
      - NO_FREE_TIME
      - NO_FREE_TIME_LEFT_LAST
      - NO_FREE_TIME_RETURN_TO_ORIGINAL
      - PARTIAL_PERIOD_SCHEDULED
      - PARTIAL_PERIOD_SKIPPED
      - SKIPPED_DUE_TO_RESERVED_WORD
    EventResponseStatus:
      type: string
      enum:
      - None
      - Organizer
      - Accepted
      - Declined
      - TentativelyAccepted
      - NotResponded
      x-enum-varnames:
      - None
      - Organizer
      - Accepted
      - Declined
      - TentativelyAccepted
      - NotResponded
    SmartSeriesAttendeeRequest:
      type: object
      properties:
        email:
          type: string
        LOG_KEY:
          type: string
        REGEX_MASK_EMAIL:
          type: string
        required:
          type: boolean
        timePolicyType:
          $ref: '#/components/schemas/TimePolicyType'
        timeSchemeId:
          type:
          - string
          - 'null'
        oneOffPolicy:
          allOf:
          - $ref: '#/components/schemas/TimePolicy'
        priority:
          allOf:
          - $ref: '#/components/schemas/PriorityLevel'
        responseStatus:
          $ref: '#/components/schemas/SmartSeriesAttendeeResponseStatus'
    MergeDetails.EventType:
      type: string
      enum:
      - ORGANIZER_EVENT
      - ATTENDEE_EVENT
      - SYNC_EVENT
    ConferenceStatus:
      type: string
      enum:
      - PENDING
      - SUCCESS
      - FAILURE
      - UNKNOWN
    SmartSeriesType:
      type: string
      enum:
      - HABIT
      - MEETING
    MeetingType:
      type: string
      enum:
      - DIRECT_11
      - PEER_11
      - SKIP_11
      - XFUNC_11
      - OTHER_11
      - TEAM
      - XFUNC_TEAM
      - EXEC
      - SKIP_TEAM
      - ALL_HANDS
      - ONBOARDING_TRAINING
      - COMPANY_EVENT
      - BOARD_MEETING
      - OTHER_STAFF
      - DEAL_REVIEW
      - EXECUTION_REVIEW
      - DEMO
      - PLANNING_MEETING
      - RETRO
      - EMERGENCY
      - PEOPLE_REVIEW
      - OTHER_OP
      - ROADMAP
      - CUST_MEETING
      - CUST_RESEARCH
      - CUST_URGENT
      - RECRUIT_SCREEN
      - OTHER_EXTERNAL
      - DESIGN_BRAIN
      - TECH_REVIEW
      - KICKOFF
      - REQ_BRAIN
      - OTHER_IDEATION
      - UNKNOWN
    Colorized:
      type: object
      properties:
        color:
          $ref: '#/components/schemas/EventColor'
    RecurrenceDefinition:
      required:
      - frequency
      type: object
      properties:
        interval:
          type: integer
          format: int32
        frequency:
          $ref: '#/components/schemas/Frequency'
        idealDays:
          type: array
          items:
            $ref: '#/components/schemas/DayOfWeek'
        idealMonthlyDay:
          $ref: '#/components/schemas/IdealMonthlyDay'
        daysBetweenPeriods:
          type: integer
          format: int32
          readOnly: true
    ConferenceType:
      type: string
      enum:
      - GOOGLE_MEET
      - MICROSOFT_TEAMS
      - ZOOM
      - CUSTOM
      - GENERIC_LOCATION
      - PHYSICAL_ADDRESS
      - PHONE_NUMBER
    ThinPerson:
      required:
      - email
      type: object
      properties:
        reclaimUser:
          type: boolean
        userId:
          type:
          - string
          - 'null'
        email:
          minLength: 1
          type: string
        name:
          type: string
        avatarUrl:
          type: string
        firstName:
          type:
          - string
          - 'null'
        lastName:
          type:
          - string
          - 'null'
    TentativeSlot.Source:
      type: string
      enum:
      - RECLAIM
      - CALENDAR
    SmartSeriesStatus:
      type: string
      enum:
      - NEW
      - ACTIVE
      - ACTIVE_TIME_POLICY_EMPTY
      - ACTIVE_TIME_POLICY_LOW
      - ACTIVE_EVERYONE_DECLINED
      - ACTIVE_EVERY_REQUIRED_DECLINED
      - DISABLED
      - INACTIVE_CALENDAR_NOT_VALID
      - INACTIVE_CALENDAR_NOT_CONNECTED
      - INACTIVE_CALENDAR_NOT_WRITABLE
      - INACTIVE_MULTI_CONNECTED_CALENDAR
      - INACTIVE_CALENDAR_NOT_FOUND
      - INACTIVE_ORGANIZER_MISSING
      - EVERYONE_DECLINED
      - EVERY_REQUIRED_DECLINED
      - CORRUPTED
      - UNKNOWN
      - NO_ACCESS
    AttendeeCalendarVisibility:
      type: string
      enum:
      - NONE
      - FREE_BUSY
      - DETAILS
      - FULL
      - RECLAIM
    SmartMeetingLineageView:
      $ref: '#/components/schemas/SmartSeriesLineageView'
    AssistType:
      type: string
      enum:
      - TASK
      - CUSTOM_DAILY
      - CATCHUP_AM
      - CATCHUP_PM
      - LUNCH
      - FOCUS
      - TRAVEL_PRE
      - TRAVEL_POST
      - CONBUF
      - SMART_HABIT
      - SMART_MEETING
      - RECLAIM_FOCUS
    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

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