Reclaim.ai smart-meetings API

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

OpenAPI Specification

reclaim-ai-smart-meetings-api-openapi.yml Raw ↑
openapi: 3.0.1
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'
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
          nullable: true
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      - name: restoreIfAvailable
        in: query
        schema:
          type: boolean
          nullable: true
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      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
          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/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
          nullable: true
      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
          nullable: true
      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
          nullable: true
      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:
    ConferenceDetails:
      required:
      - solution
      - source
      - status
      - url
      type: object
      properties:
        solution:
          $ref: '#/components/schemas/ConferenceSolution'
        url:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/ConferenceStatus'
        source:
          $ref: '#/components/schemas/ConferenceSource'
    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'
    AssistStatus:
      type: string
      enum:
      - CONTROLLED
      - RELEASED
      - ARCHIVED
    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
    EventAttendee:
      required:
      - email
      type: object
      properties:
        email:
          type: string
        self:
          type: boolean
          nullable: true
        displayName:
          type: string
          nullable: true
        responseStatus:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ResponseStatus'
        comment:
          type: string
          nullable: true
        optional:
          type: boolean
          nullable: true
        additionalGuests:
          type: integer
          format: int32
          nullable: true
        organizer:
          type: boolean
          nullable: true
        resource:
          type: boolean
          nullable: true
    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
    GoogleCalendarEventMetadata:
      required:
      - guestsCanInviteOthers
      - guestsCanModify
      - guestsCanSeeOtherGuests
      type: object
      properties:
        guestsCanModify:
          type: boolean
        guestsCanInviteOthers:
          type: boolean
        guestsCanSeeOtherGuests:
          type: boolean
    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'
    SmartSeriesResourceView:
      required:
      - buildingId
      - buildingName
      - capacity
      - category
      - email
      - floorName
      - roomId
      - roomName
      type: object
      properties:
        email:
          type: string
        roomId:
          type: string
          nullable: true
        capacity:
          type: integer
          format: int32
          nullable: true
        buildingId:
          type: string
          nullable: true
        buildingName:
          type: string
          nullable: true
        roomName:
          type: string
          nullable: true
        floorName:
          type: string
          nullable: true
        category:
          type: string
          nullable: true
    EventKey:
      required:
      - calendarId
      - eventId
      type: object
      properties:
        eventId:
          type: string
        calendarId:
          type: integer
          format: int64
    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
    SmartSeriesResourceRequest:
      required:
      - email
      - roomId
      type: object
      properties:
        roomId:
          type: string
        email:
          type: string
    LocalTimeInterval:
      required:
      - end
      - start
      type: object
      properties:
        start:
          type: string
          format: partial-time
        end:
          type: string
          format: partial-time
        duration:
          type: string
    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
    SmartSeriesType:
      type: string
      enum:
      - HABIT
      - MEETING
    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.'
    Frequency:
      type: string
      enum:
      - DAILY
      - WEEKLY
      - MONTHLY
    ConferenceSource:
      type: string
      enum:
      - NATIVE
      - PARSED
    SmartSeriesOrganizerRequest:
      type: object
      properties:
        timePolicyType:
          $ref: '#/components/schemas/TimePolicyType'
        timeSchemeId:
          type: string
          nullable: true
        oneOffPolicy:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/TimePolicy'
        priority:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/PriorityLevel'
        LOG_KEY:
          type: string
        PATCH_TIME_SCHEME_ID:
          type: string
        PATCH_ONE_OFF_POLICY:
          type: string
        PATCH_PRIORITY:
          type: string
    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
    SmartSeriesEventType:
      type: string
      enum:
      - FOCUS
      - SOLO_WORK
      - PERSONAL
      - TEAM_MEETING
      - EXTERNAL_MEETING
      - ONE_ON_ONE
      x-deprecated:
      - FOCUS
    SmartSeriesRole:
      type: string
      enum:
      - ORGANIZER
      - REQUIRED_ATTENDEE
      - OPTIONAL_ATTENDEE
    ConferenceStatus:
      type: string
      enum:
      - PENDING
      - SUCCESS
      - FAILURE
      - UNKNOWN
    ConferenceSolution:
      type: string
      enum:
      - GOOGLE_MEET
      - MICROSOFT_TEAMS
      - ZOOM
      - WEBEX
      - RING_CENTRAL
      - POP
      - COSCREEN
      - BLUE_JEANS
      - JITSI
      - OTHER
      - UNKNOWN
    EventResponseStatus:
      type: string
      enum:
      - None
      - Organizer
      - Accepted
      - Declined
      - TentativelyAccepted
      - NotResponded
      x-enum-varnames:
      - None
      - Organizer
      - Accepted
      - Declined
      - TentativelyAccepted
      - NotResponded
    Event:
      required:
      - allocatedTimeChunks
      - assist
      - calendarId
      - categoryOverride
      - description
      - etag
      - eventEnd
      - eventId
      - eventStart
      - key
      - location
      - meetingType
      - organizer
      - priority
      - recurrence
      - recurrenceMax
      - recurringEventId
      - requiresTravel
      - rsvpStatus
      - sourceDetails
      - status
      - subType
      - timeChunks
      - title
      - titleSeenByOthers
      - type
      - updated
      type: object
      properties:
        googleMetadata:
          description: Returns Google Calendar-specific metadata that doesn't fit into a common event model, but that services and UI might be interested in introspecting. If the event isn't a Google Calendar event, this method will return an empty value.
          nullable: true
          allOf:
          - $ref: '#/components/schemas/GoogleCalendarEventMetadata'
        schedulingLinkId:
          type: string
          nullable: true
        schedulingLinkMeetingId:
          type: string
          nullable: true
        underAssistControl:
          type: boolean
        assist:
          $ref: '#/components/schemas/AssistDetails'
        reclaimEventType:
          $ref: '#/components/schemas/ReclaimEventType'
        personalSync:
          type: boolean
        reclaimManaged:
          type: boolean
          description: Reclaim likely created and manages this event but important to note that this event might not be organized by this user so very important to check also [isReclaimManagedAndSelfOrganized](#isReclaimManagedAndSelfOrganized) if the calling class would do something different for a Reclaim managed event if the person attached to this event is an attendee, rather than the organizer.
        reclaimManagedAndSelfOrganized:
          type: boolean
          description: Important to note that there are Reclaim "managed" events like smart meetings and scheduling link events where the user associated with the event is *not* the organizer, and as a result, we may need to do things like color coding or scoring.
        eventId:
          type: string
        calendarId:
          type: integer
          format: int64
        key:
          $ref: '#/components/schemas/EventKey'
        priority:
          $ref: '#/components/schemas/PriorityLevel'
        prioritySource:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/PrioritySource'
        title:
          type: string
        titleSeenByOthers:
          type: string
        location:
          type: string
        onlineMeetingUrlRaw:
          type: string
        onlineMeetingUrl:
          type: string
        description:
          type: string
        descriptionOmitted:
          type: boolean
        titleTruncated:
          type: boolean
        sourceDetails:
          $ref: '#/components/schemas/EventSourceDetails'
        mergeDetails:
          $ref: '#/components/schemas/MergeDetails'
        status:
          $ref: '#/components/schemas/EventStatus'
        published:
          type: boolean
        type:
          $ref: '#/components/schemas/EventType'
        subType:
          $ref: '#/components/schemas/EventSubType'
        meetingType:
          $ref: '#/components/schemas/MeetingType'
        categoryOverride:
          $ref: '#/components/schemas/EventCategory'
        eventStart:
          type: string
          format: date-time
        eventEnd:
          type: string
          format: date-time
        timeChunks:
          type: integer
          format: int32
        allocatedTimeChunks:
          type: integer
          format: int32
        recurringEventId:
          type: string
        updated:
          type: string
          format: date-time
        recurringException:
          type: boolean
        recurrence:
          type: string
        recurrenceMax:
          type: string
          format: date-time
        recurring:
          type: boolean
        recurringInstance:
     

# --- 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