Reclaim.ai interactions API

The interactions API from Reclaim.ai — 25 operation(s) for interactions.

OpenAPI Specification

reclaim-ai-interactions-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reclaim account-time-schemes interactions 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: interactions
paths:
  /api/interactions:
    get:
      tags:
      - interactions
      operationId: listSessions
      parameters:
      - name: expand
        in: query
        schema:
          type: boolean
          nullable: true
      responses:
        '200':
          description: listSessions 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InteractionSessionView'
      security:
      - Authorization: []
    post:
      tags:
      - interactions
      operationId: interact
      parameters:
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                request:
                  $ref: '#/components/schemas/SessionInteractionRequest'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/apply:
    post:
      tags:
      - interactions
      operationId: apply
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionApplyRequest'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/chat:
    post:
      tags:
      - interactions
      operationId: chat
      parameters:
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                request:
                  $ref: '#/components/schemas/SessionInteractionRequest'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/chat/suggestions:
    get:
      tags:
      - interactions
      operationId: chatSuggestions
      parameters:
      - name: count
        in: query
        schema:
          type: integer
          format: int32
          nullable: true
      responses:
        '200':
          description: chatSuggestions 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserChatMessage'
      security:
      - Authorization: []
  /api/interactions/chat/suggestions/catalog:
    get:
      tags:
      - interactions
      operationId: chatSuggestionsCatalog
      responses:
        '200':
          description: chatSuggestionsCatalog 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChatLearnMoreCategory'
      security:
      - Authorization: []
  /api/interactions/close:
    post:
      tags:
      - interactions
      operationId: close
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionCloseRequest'
        required: true
      responses:
        '200':
          description: close 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InteractionSessionView'
      security:
      - Authorization: []
  /api/interactions/current:
    post:
      tags:
      - interactions
      operationId: currentEvents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CurrentEventsRequest'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/daily-digest/current:
    get:
      tags:
      - interactions
      operationId: dailyDigestCurrent
      parameters:
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionInteractionResponse'
      deprecated: true
      security:
      - Authorization: []
  /api/interactions/daily-digest/current/promote:
    get:
      tags:
      - interactions
      operationId: promoteDailyDigest
      responses:
        '200':
          description: promoteDailyDigest 200 response
          content:
            application/json:
              schema:
                type: object
      security:
      - Authorization: []
  /api/interactions/onboarding/checklist:
    get:
      tags:
      - interactions
      operationId: getOnboardingChecklist
      responses:
        '200':
          description: getOnboardingChecklist 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingChecklist'
      security:
      - Authorization: []
  /api/interactions/onboarding/complete-step:
    post:
      tags:
      - interactions
      operationId: completeOnboardingStep
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteOnboardingStepRequest'
        required: true
      responses:
        '200':
          description: completeOnboardingStep 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingStatus'
      security:
      - Authorization: []
  /api/interactions/onboarding/dismiss:
    post:
      tags:
      - interactions
      operationId: dismissOnboarding
      responses:
        '200':
          description: dismissOnboarding 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingStatus'
      security:
      - Authorization: []
  /api/interactions/onboarding/quick-status:
    get:
      tags:
      - interactions
      operationId: getOnboardingQuickStatus
      responses:
        '200':
          description: getOnboardingQuickStatus 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingStatus'
      security:
      - Authorization: []
  /api/interactions/onboarding/reset:
    post:
      tags:
      - interactions
      operationId: resetOnboarding
      responses:
        '200':
          description: resetOnboarding 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingStatus'
      security:
      - Authorization: []
  /api/interactions/onboarding/skip-step:
    post:
      tags:
      - interactions
      operationId: skipOnboardingStep
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteOnboardingStepRequest'
        required: true
      responses:
        '200':
          description: skipOnboardingStep 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingStatus'
      security:
      - Authorization: []
  /api/interactions/onboarding/status:
    get:
      tags:
      - interactions
      operationId: getOnboardingStatus
      responses:
        '200':
          description: getOnboardingStatus 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OnboardingStatus'
      security:
      - Authorization: []
  /api/interactions/proactive-gtd/current:
    get:
      tags:
      - interactions
      operationId: proactiveGtdCurrent
      parameters:
      - name: type
        in: query
        schema:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ProactiveGtdScope.Type'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/proactive-gtd/generate:
    post:
      tags:
      - interactions
      operationId: generateProactiveGtd
      parameters:
      - name: type
        in: query
        schema:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ProactiveGtdScope.Type'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/proactive-gtd/promote:
    post:
      tags:
      - interactions
      operationId: promoteProactiveGtd
      parameters:
      - name: type
        in: query
        schema:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ProactiveGtdScope.Type'
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/proactive-gtd/tasks:
    get:
      tags:
      - interactions
      operationId: proactiveGtdTasks
      parameters:
      - name: type
        in: query
        schema:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ProactiveGtdScope.Type'
      responses:
        '200':
          description: proactiveGtdTasks 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProactiveGtdTasks'
      security:
      - Authorization: []
  /api/interactions/recommendations/promote:
    post:
      tags:
      - interactions
      operationId: promoteRecommendations
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/records:
    get:
      tags:
      - interactions
      operationId: listRecords
      parameters:
      - 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: expand
        in: query
        schema:
          type: boolean
          nullable: true
      responses:
        '200':
          description: listRecords 200 response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InteractionRecordView'
      security:
      - Authorization: []
  /api/interactions/task/{compoundKey}:
    get:
      tags:
      - interactions
      operationId: getGtdTask
      parameters:
      - name: compoundKey
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: getGtdTask 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GtdTask'
      security:
      - Authorization: []
  /api/interactions/update:
    post:
      tags:
      - interactions
      operationId: update_1
      parameters:
      - name: notificationKey
        in: query
        schema:
          type: string
          nullable: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                request:
                  $ref: '#/components/schemas/SessionInteractionRequest'
        required: true
      responses:
        '200':
          description: OK response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSessionInteractionResponse'
      security:
      - Authorization: []
  /api/interactions/{id}:
    get:
      tags:
      - interactions
      operationId: findSessionById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: expand
        in: query
        schema:
          type: boolean
          nullable: true
      responses:
        '200':
          description: findSessionById 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InteractionSessionView'
      security:
      - Authorization: []
components:
  schemas:
    GroupSubjectView:
      type: object
      discriminator:
        propertyName: type
        mapping:
          EventKey: '#/components/schemas/EventKeySubjectView'
      oneOf:
      - $ref: '#/components/schemas/EventKeySubjectView'
    GtdGoogleTasksTaskForCreate:
      required:
      - sourceType
      - title
      type: object
      properties:
        sourceType:
          $ref: '#/components/schemas/GtdTaskId.TaskSourceType'
        title:
          type: string
        description:
          type: string
          nullable: true
        due:
          type: string
          format: date-time
          nullable: true
        start:
          type: string
          format: date-time
          nullable: true
        priority:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/PriorityLevel'
        estimateMinutes:
          type: integer
          format: int32
          nullable: true
        listId:
          type: string
          nullable: true
        parentTaskId:
          type: string
          nullable: true
        type:
          type: string
    EventLockAction:
      required:
      - eventKey
      - lockMode
      - policyId
      type: object
      properties:
        hash:
          type: string
          nullable: true
        policyId:
          type: string
          format: uuid
        eventKey:
          $ref: '#/components/schemas/EventKey'
        lockMode:
          $ref: '#/components/schemas/EventLockAction.LockMode'
        type:
          type: string
    LlmTaskListOutput:
      required:
      - tasks
      type: object
      properties:
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/GtdTask'
        type:
          type: string
    AnyAttendeeEventMatcher:
      required:
      - attendeeMatcher
      type: object
      properties:
        attendeeMatcher:
          $ref: '#/components/schemas/AttendeeMatcher'
        type:
          type: string
      description: Matches if any attendee satisfies the given attendee predicate
    SessionInteractionUpdateMethod:
      type: string
      enum:
      - REPLACE
      - PATCH
    LlmTaskCreatedOutput:
      required:
      - note
      - sourceType
      - status
      - title
      type: object
      properties:
        sourceType:
          type: string
        status:
          type: string
        title:
          type: string
        note:
          type: string
        interactionId:
          type: string
          nullable: true
        actionHash:
          type: string
          nullable: true
        newTaskId:
          type: string
          nullable: true
        type:
          type: string
    AndEventMatcher:
      required:
      - left
      - right
      type: object
      properties:
        left:
          $ref: '#/components/schemas/EventMatcher'
        right:
          $ref: '#/components/schemas/EventMatcher'
        type:
          type: string
      description: Matches if both the left and right matchers match
    StopTask:
      required:
      - task
      type: object
      properties:
        task:
          $ref: '#/components/schemas/GtdTask'
        type:
          type: string
    UpdateTaskStatus:
      required:
      - statusId
      - task
      type: object
      properties:
        task:
          $ref: '#/components/schemas/GtdTask'
        statusId:
          type: string
    AddEventAction:
      required:
      - attendees
      - dateRange
      - eventKey
      - guestsCanModify
      - policyId
      - title
      type: object
      properties:
        eventKey:
          readOnly: true
          allOf:
          - $ref: '#/components/schemas/EventKey'
        hash:
          type: string
          nullable: true
        policyId:
          type: string
          format: uuid
        calendarId:
          type: integer
          format: int64
          nullable: true
        eventId:
          type: string
          nullable: true
        dateRange:
          $ref: '#/components/schemas/EventDateRange'
        title:
          type: string
        description:
          type: string
          nullable: true
        color:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EntryColor'
        location:
          type: string
          nullable: true
        transparency:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/Transparency'
        visibility:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/Visibility'
        reminders:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/Reminders'
        eventCategory:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EventCategory'
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/EventAttendee'
        notificationRequest:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EntryNotificationRequest'
        guestsCanModify:
          type: boolean
        guestsCanInviteOthers:
          type: boolean
          nullable: true
        guestsCanSeeOtherGuests:
          type: boolean
          nullable: true
        conferenceRequest:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ConferenceRequest'
        recurrence:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ReclaimRecurrence'
        priority:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/PriorityLevel'
        type:
          type: string
    Transparency:
      type: string
      enum:
      - OPAQUE
      - TRANSPARENT
    GtdTaskForCreate:
      type: object
      discriminator:
        propertyName: type
        mapping:
          GtdAsanaTaskForCreate: '#/components/schemas/GtdAsanaTaskForCreate'
          GtdTodoistTaskForCreate: '#/components/schemas/GtdTodoistTaskForCreate'
          GtdClickUpTaskForCreate: '#/components/schemas/GtdClickUpTaskForCreate'
          GtdGoogleTasksTaskForCreate: '#/components/schemas/GtdGoogleTasksTaskForCreate'
          GtdLinearTaskForCreate: '#/components/schemas/GtdLinearTaskForCreate'
          ReclaimTaskForCreate: '#/components/schemas/ReclaimTaskForCreate'
          GtdJiraTaskForCreate: '#/components/schemas/GtdJiraTaskForCreate'
          GtdNotionTaskForCreate: '#/components/schemas/GtdNotionTaskForCreate'
      oneOf:
      - $ref: '#/components/schemas/ReclaimTaskForCreate'
      - $ref: '#/components/schemas/GtdAsanaTaskForCreate'
      - $ref: '#/components/schemas/GtdClickUpTaskForCreate'
      - $ref: '#/components/schemas/GtdGoogleTasksTaskForCreate'
      - $ref: '#/components/schemas/GtdJiraTaskForCreate'
      - $ref: '#/components/schemas/GtdLinearTaskForCreate'
      - $ref: '#/components/schemas/GtdNotionTaskForCreate'
      - $ref: '#/components/schemas/GtdTodoistTaskForCreate'
    GtdTaskId.TaskSourceType:
      type: string
      enum:
      - TODOIST
      - CLICK_UP
      - LINEAR
      - GOOGLE_TASKS
      - JIRA
      - ASANA
      - NOTION
      - RECLAIM
    InteractionTools:
      type: string
      enum:
      - GET_SCHEDULE
      - TAKE_ACTION
      - ACCEPT_PROPOSED_SOLUTION
      - REMOVE_ACTION
      - RESCHEDULE_EVENT
      - CHANGE_RSVP
      - ADD_VIDEO_CONFERENCE
      - ACTIONS_FOR_EVENTS
      - ADD_EVENT
      - UPDATE_EVENT
      - GET_EVENT_DETAILS
      - CANCEL_EVENT
      - SUGGESTED_TIMES
      - SUGGESTED_TIMES_FOR_EVENT
      - FOCUS_STATS
      - TOP_CONTACTS
      - SEARCH_CONTACTS
      - GET_PROBLEMS
      - GET_PROBLEMS_V2
      - SWITCH_MODE
      - CHANGE_SCHEDULING_WINDOW
      - GET_USER_PREFERENCES
      - LIST_TIME_SCHEMES
      - MUTATE_TIME_SCHEME
      - LIST_AGENTS
      - CREATE_HABIT
      - MANAGE_EVENT_AS_HABIT
      - PATCH_HABIT
      - CREATE_SMART_MEETING
      - MANAGE_EVENT_AS_SMART_MEETING
      - PATCH_SMART_MEETING
      - CREATE_BUFFER
      - PATCH_BUFFER
      - CREATE_FOCUS
      - PATCH_FOCUS
      - CREATE_DEFEND
      - PATCH_DEFEND
      - CREATE_EVENT_WARNING
      - PATCH_EVENT_WARNING
      - CREATE_RSVP_REMINDER
      - PATCH_RSVP_REMINDER
      - CREATE_VIDEO_LINK_CHECK
      - PATCH_VIDEO_LINK_CHECK
      - DELETE_AGENT
      - SEARCH_TASKS
      - GET_PROACTIVE_TASKS
      - DISPLAY_TASKS
      - LIST_AGENT_UPCOMING_EVENTS
      - PROPOSE_TASK_PLAN
      - FIND_OPEN_TIME
      - START_TASK
      - STOP_TASK
      - LOG_TASK
      - COMPLETE_TASK
      - UNCOMPLETE_TASK
      - UPDATE_TASK_STATUS
      - SAVE_MEMORY
      - DELETE_MEMORY
      - GET_PENDING_CHANGES
      - APPLY_CHANGES
      - GET_ZOOM_MEETING_SUMMARY
      - GET_ORG_RELATIONSHIPS
      - PLAN_COMPLETE
      - AI_SCHEDULER_V2_COMPLETE
      - SPAWN_SCHEDULER_WORKER
      - RESPOND_TO_ORCHESTRATOR
      - GET_NEXT_PROBLEM
      - MARK_ONBOARDING_STEP
      - GET_ONBOARDING_PROGRESS
      - SUGGEST_POLICY
      - SUMMARIZE_RECLAIM_TASKS
      - SUMMARIZE_TODOIST_TASKS
      - SUMMARIZE_LINEAR_TASKS
      - SUMMARIZE_ASANA_TASKS
      - SUMMARIZE_NOTION_TASKS
      - SUMMARIZE_CLICKUP_TASKS
      - SUMMARIZE_JIRA_TASKS
      - SUMMARIZE_GOOGLE_TASKS
      - CREATE_GOOGLE_TASK
      - CREATE_RECLAIM_TASK
      - UPDATE_RECLAIM_TASK
      - UPDATE_GOOGLE_TASK
      - SEARCH_RECLAIM_TASKS
      - GET_GOOGLE_TASK_LISTS
      - MCP_LINEAR_ALL
      - MCP_TODOIST_ALL
      - MCP_ASANA_ALL
      - MCP_NOTION_ALL
      - MCP_CLICKUP_ALL
      - MCP_JIRA_ALL
    Colorized:
      type: object
      properties:
        color:
          $ref: '#/components/schemas/EventColor'
    EventDateRange:
      type: object
      discriminator:
        propertyName: type
        mapping:
          FixedDateTimeRange: '#/components/schemas/FixedDateTimeRange'
          AllDayDateRange: '#/components/schemas/AllDayDateRange'
      oneOf:
      - $ref: '#/components/schemas/FixedDateTimeRange'
      - $ref: '#/components/schemas/AllDayDateRange'
    AgentTodoListUpdatedView.ItemView:
      required:
      - description
      - key
      - status
      type: object
      properties:
        key:
          type: string
        description:
          type: string
        status:
          $ref: '#/components/schemas/AgentTodo.Status'
    SelfRSVPMatcher:
      required:
      - operator
      type: object
      properties:
        operator:
          $ref: '#/components/schemas/EventMatcherOperator'
        predicateValue:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/ResponseStatus'
        predicateValues:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ResponseStatus'
        type:
          type: string
      description: Matches by the user's own RSVP status
    UncompleteGtdTaskAction:
      required:
      - task
      type: object
      properties:
        hash:
          type: string
          nullable: true
        task:
          $ref: '#/components/schemas/GtdTask'
        type:
          type: string
    SmartSeriesId:
      required:
      - lineageId
      - seriesId
      type: object
      properties:
        seriesId:
          type: integer
          format: int64
        lineageId:
          type: integer
          format: int64
        type:
          type: string
    LlmFocusStatsOutput:
      required:
      - analytics
      type: object
      properties:
        analytics:
          $ref: '#/components/schemas/LlmAnalyticsResult'
        type:
          type: string
    McpApprovalResultRequest:
      required:
      - approvalId
      - approved
      - arguments
      - scope
      - toolName
      type: object
      properties:
        approvalId:
          type: string
        toolName:
          type: string
        arguments:
          type: string
        approved:
          type: boolean
        reason:
          type: string
          nullable: true
        serverLabel:
          type: string
          nullable: true
        scope:
          $ref: '#/components/schemas/McpApprovalScope'
        type:
          type: string
    HasVideoConferenceEventMatcher:
      required:
      - predicateValue
      type: object
      properties:
        predicateValue:
          type: boolean
        type:
          type: string
      description: Matches events with or without a video conference link
    TimeWindowEventMatcher.TimeWindowMatchMode:
      type: string
      enum:
      - STARTS_WITHIN
      - ENDS_WITHIN
      - STARTS_OR_ENDS_WITHIN
      - CONTAINED_WITHIN
      - OVERLAPS
    RecurrenceFrequency:
      type: string
      enum:
      - DAILY
      - WEEKLY
      - MONTHLY
      - YEARLY
    CancelEventAction:
      required:
      - eventKey
      - policyId
      type: object
      properties:
        hash:
          type: string
          nullable: true
        policyId:
          type: string
          format: uuid
        eventKey:
          $ref: '#/components/schemas/EventKey'
        notificationMessage:
          type: string
          nullable: true
        notificationRequest:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EntryNotificationRequest'
        recurrenceEditType:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/RecurrenceEditType'
        assistantData:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/AssistantData'
        title:
          type: string
          nullable: true
        start:
          type: string
          format: date-time
          nullable: true
        end:
          type: string
          format: date-time
          nullable: true
        type:
          type: string
    RescheduleEventAction:
      required:
      - end
      - eventKey
      - policyId
      - start
      type: object
      properties:
        hash:
          type: string
          nullable: true
        policyId:
          type: string
          format: uuid
        eventKey:
          $ref: '#/components/schemas/EventKey'
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
        notificationMessage:
          type: string
          nullable: true
        notificationRequest:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EntryNotificationRequest'
        recurrenceEditType:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/RecurrenceEditType'
        rescheduledFromStart:
          type: string
          format: date-time
          nullable: true
        rescheduledFromEnd:
          type: string
          format: date-time
          nullable: true
        type:
          type: string
    LacksRsvpCreateRequestFields:
      required:
      - commonData
      type: object
      properties:
        commonData:
          $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields'
        eventMatcher:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EventMatcher'
        eventMatcherTags:
          description: Predefined event matching tags. Either this or eventMatcher is required.
          nullable: true
          allOf:
          - $ref: '#/components/schemas/EventMatcherTags'
        type:
          type: string
    DisplayTasks:
      required:
      - tasks
      type: object
      properties:
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/GtdTask'
        taskGroups:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          nullable: true
        type:
          type: string
    AttendeeCountEventMatcher:
      required:
      - attendeeType
      - includeResources
      - operator
      - predicateValue
      type: object
      properties:
        operator:
          $ref: '#/components/schemas/EventMatcherOperator'
        predicateValue:
          type: integer
          format: int32
        attendeeType:
          $ref: '#/components/schemas/AttendeeCountEventMatcher.AttendeeType'
        includeResources:
          type: boolean
          default: false
        type:
          type: string
      description: Matches by attendee count using a comparison operator
    EventConflictPatchRequestFields:
      type: object
      properties:
        commonData:
          $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields'
        timePolicy:
          nullable: true
          allOf:
          - $ref: '#/components/schemas/SchedulePolicyTimePolicy'
        type:
          type: string
    LlmContextMetadata:
      type: object
    ZoomConferenceRequest:
      required:
      - enabled
      type: object
      properties:
        enabled:
          type: boolean
        type:
          type: string
    EventEditType:
      type: string
      enum:
      - THIS
      - ALL
      - THIS_AND_FOLLOWING
    Reminders:
      required:
      - overrides
      - useDefault
      type: object
      properties:
        useDefault:
          type: boolean
        overrides:
          type: array
          items:
            $ref: '#/components/schemas/Reminder'
    CreateGtdTaskAction:
      required:
      - fields
      - sourceType
      - title
      type: object
      properties:
        hash:
          type: string
          nullable: true
        sourceType:
          $ref: '#/components/schemas/GtdTaskId.TaskSourceType'
        title:
          type: string
        fields:
          $ref: '#/components/schemas/GtdTaskForCreate'
        tempId:
          type: string
          nullable: true
        type:
          type: string
    ManualEventEdit:
      required:
      - eventDateRange
      - eventKey
      - eventStatus
      - policyId
      - policyType
      - relatedFields
      type: object
      properties:
        hash:
          type: string
          nullable: true
        policyId:
          type: string
          format: uuid
        policyType:
          $ref: '#/components/schemas/SchedulePolicyType'
        eventKey:
          $ref: '#/components/schemas/EventKey'
        eventDateRange:
          $ref: '#/components/schemas/EventDateRange'
        eventVersion:
          type: integer
          format: int32
          nullable: true
        eventStatus:
          $ref: '#/components/schemas/EntryStatus'
        relatedFields:
          type: array
          items:
            $ref: '#/components/schemas/Cal

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