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/CalendarEventField' type: type: string RecurrenceEditType: type: string enum: - ALL - THIS_AND_FOLLOWING PlatformEventData: type: object discriminator: propertyName: type mapping: GoogleEventData: '#/components/schemas/GoogleEventData' OutlookEventData: '#/components/schemas/OutlookEventData' oneOf: - $ref: '#/components/schemas/GoogleEventData' - $ref: '#/components/schemas/OutlookEventData' ConferenceRequest: type: object discriminator: propertyName: type mapping: ZoomConferenceRequest: '#/components/schemas/ZoomConferenceRequest' MeetConferenceRequest: '#/components/schemas/MeetConferenceRequest' TeamsConferenceRequest: '#/components/schemas/TeamsConferenceRequest' oneOf: - $ref: '#/components/schemas/MeetConferenceRequest' - $ref: '#/components/schemas/TeamsConferenceRequest' - $ref: '#/components/schemas/ZoomConferenceRequest' PolicyScope: type: string enum: - USER - TEAM LacksVideoConferencePatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' 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 ShowScheduleActionRequest: required: - actionShown - actor type: object properties: actor: $ref: '#/components/schemas/InteractionActor' actionShown: $ref: '#/components/schemas/ScheduleAction' type: type: string DayOfWeek: type: string enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY InteractionFocusType: type: string enum: - FOCUSED - UNFOCUSED ShieldsUpProblem: required: - hash - policyId - policyType - problemType type: object properties: hash: type: string policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' problemType: $ref: '#/components/schemas/ShieldsUpProblemType' eventKey: nullable: true allOf: - $ref: '#/components/schemas/EventKey' type: type: string HabitPatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' eventMatcher: nullable: true allOf: - $ref: '#/components/schemas/EventMatcher' idealDurationMinutes: type: integer description: Preferred duration in minutes. Reclaim tries this first, falling back to minDurationMinutes. format: int64 nullable: true minDurationMinutes: type: integer description: Minimum acceptable duration in minutes. format: int64 availableTimeForTransparencyChangeMinutes: type: integer description: Minutes before event start to switch the calendar entry from free to busy. Null keeps the event busy from creation. format: int64 nullable: true availableSlotsForTransparencyChange: type: integer description: Number of alternative time slots to hold as free before committing to one. Null means only the best slot is held. format: int64 nullable: true autoBusyBeforeStartMinutes: type: integer description: Minutes before start to force the event to show as busy, even if other slots are still held. Null disables. format: int64 nullable: true timePolicy: nullable: true allOf: - $ref: '#/components/schemas/SchedulePolicyTimePolicy' proactivelyUseIdealTime: type: boolean description: When true, Reclaim proactively schedules at the ideal duration even when no conflict forces rescheduling. noAvailabilityAction: description: 'What to do when no available slot exists: CANCEL (remove the event) or WARNING (keep it and surface a warning).' nullable: true allOf: - $ref: '#/components/schemas/ManagedEventNoAvailabilityAction' suppressWarnings: type: boolean description: When true, suppresses all warnings/problems detected by this policy. type: type: string RecentPaperDocMatcher: required: - defaultValue - recentThresholdMinutes type: object properties: defaultValue: type: boolean recentThresholdMinutes: type: integer format: int32 type: type: string description: Matches events with a recently modified paper document ChatLearnMoreSuggestion: required: - icon - text type: object properties: text: type: string icon: $ref: '#/components/schemas/ChatLearnMoreIcon' TeamsConferenceData: required: - conferenceUrl type: object properties: conferenceUrl: type: string entryPoints: type: array nullable: true items: $ref: '#/components/schemas/ConferenceEntryPoint' type: type: string Reminder: required: - minutes - reminderType type: object properties: reminderType: $ref: '#/components/schemas/ReminderType' minutes: type: integer format: int32 EventLockAction.LockMode: type: string enum: - LOCK - UNLOCK LlmCalendarEvent.Conference: required: - type type: object properties: type: type: string url: type: string nullable: true zoomMeetingId: type: string nullable: true SchedulePolicy: type: object discriminator: propertyName: type mapping: EventConflictPolicy: '#/components/schemas/EventConflictPolicy' FocusTimePolicy: '#/components/schemas/FocusTimePolicy' LacksRsvpPolicy: '#/components/schemas/LacksRsvpPolicy' AttendeeAvailabilityWarningPolicy: '#/components/schemas/AttendeeAvailabilityWarningPolicy' BasicEventWarningPolicy: '#/components/schemas/BasicEventWarningPolicy' SmartMeetingPolicy: '#/components/schemas/SmartMeetingPolicy' ShieldsUpPolicy: '#/components/schemas/ShieldsUpPolicy' BufferEventPolicy: '#/components/schemas/BufferEventPolicy' LacksVideoConferencePolicy: '#/components/schemas/LacksVideoConferencePolicy' HabitPolicy: '#/components/schemas/HabitPolicy' UnknownPolicy: '#/components/schemas/UnknownPolicy' oneOf: - $ref: '#/components/schemas/AttendeeAvailabilityWarningPolicy' - $ref: '#/components/schemas/BasicEventWarningPolicy' - $ref: '#/components/schemas/BufferEventPolicy' - $ref: '#/components/schemas/EventConflictPolicy' - $ref: '#/components/schemas/FocusTimePolicy' - $ref: '#/components/schemas/HabitPolicy' - $ref: '#/components/schemas/LacksRsvpPolicy' - $ref: '#/components/schemas/LacksVideoConferencePolicy' - $ref: '#/components/schemas/ShieldsUpPolicy' - $ref: '#/components/schemas/SmartMeetingPolicy' - $ref: '#/components/schemas/UnknownPolicy' SlotAvailability: required: - attendees - movabilityScore type: object properties: movabilityScore: type: integer format: int32 attendees: type: array items: $ref: '#/components/schemas/AttendeeAvailabilityView' AssistType: type: string enum: - TASK - CUSTOM_DAILY - CATCHUP_AM - CATCHUP_PM - LUNCH - FOCUS - TRAVEL_PRE - TRAVEL_POST - CONBUF - SMART_HABIT - SMART_MEETING - RECLAIM_FOCUS LlmProposedSolutionOutput: required: - action - problem type: object properties: action: $ref: '#/components/schemas/ScheduleAction' problem: $ref: '#/components/schemas/ScheduleProblem' reason: type: string nullable: true proposeSolutionId: type: string nullable: true type: type: string LlmContext: type: string enum: - INTRO_PROMPT - STYLE_GUIDE_PROMPT - GLOSSARY - SECURITY - TIMEZONE - LOCALE - SCHEDULING_WINDOW - SCHEDULING_HOURS - MODE - ACTIVITY_WELCOME - ACTIVITY_RESOLVE_PROBLEMS - MEETING_BLUEPRINT - ACTIVITY_FIND_A_TIME - ACTIVITY_ANALYSIS - ACTIVITY_BASIC_CALENDARING - ACTIVITY_RECURRENCES - ACTIVITY_GET_THINGS_DONE - ACTIVITY_PRODUCT_HELP - ACTIVITY_SUGGEST_TASKS - ONBOARDING_WALKTHROUGH - ONBOARDING_PROGRESS - EVENT_CONFLICT_GUIDANCE - RSVP_GUIDANCE - ATTENDEE_CONFLICT_GUIDANCE - SPLIT_COVERAGE_GUIDANCE - COMPOUND_OPERATION_GUIDANCE - KEY_MOMENTS_GUIDANCE - DAILY_DIGEST_HERO_GUIDANCE - USER_SETTINGS - CONNECTED_TASK_SOURCES - CONNECTED_CALENDARS - PREVIEW_MODE_STATE - MCP_TOOL_GUIDANCE - MCP_ADDENDUM - MCP_TOOL_CALLING_GUIDANCE - USER_MESSAGE - GENERATED_CHAT_MESSAGE - SCHEDULE_CHANGE - LLM_RESPONSE - LLM_FUNCTION_CALL - SCHEDULE_ACTION_TAKEN - SCHEDULE_ACTION_REMOVED - EVENT_FOCUSED - GTD_TASK_EVENT - PREVIEW_MODE_CHANGE - MCP_APPROVAL_REQUESTED - MCP_APPROVAL_RESULT - UNDO_ACTION - USER_CURRENT_TIME - USER_MEMORY - CALENDAR_SNAPSHOT - CUSTOM_PROMPT - RECOMMENDED_POLICIES x-deprecated: - ACTIVITY_WELCOME - ACTIVITY_RESOLVE_PROBLEMS - ACTIVITY_FIND_A_TIME - ACTIVITY_ANALYSIS - ACTIVITY_BASIC_CALENDARING - ACTIVITY_GET_THINGS_DONE - ACTIVITY_PRODUCT_HELP - ACTIVITY_SUGGEST_TASKS - DAILY_DIGEST_HERO_GUIDANCE ScheduleProblemGroup: required: - mergedActions - problemHashes - subject type: object properties: subject: $ref: '#/components/schemas/GroupSubjectView' problemHashes: type: array items: type: string mergedActions: type: array items: $ref: '#/components/schemas/ScheduleActionRefView' GtdTask: type: object discriminator: propertyName: type mapping: GtdGoogleTasksTask: '#/components/schemas/GtdGoogleTasksTask' GtdLinearTask: '#/components/schemas/GtdLinearTask' GtdJiraTask: '#/components/schemas/GtdJiraTask' GtdClickUpTask: '#/components/schemas/GtdClickUpTask' GtdAsanaTask: '#/components/schemas/GtdAsanaTask' GtdTodoistTask: '#/components/schemas/GtdTodoistTask' GtdNotionTask: '#/components/schemas/GtdNotionTask' ReclaimTask: '#/components/schemas/ReclaimTask' oneOf: - $ref: '#/components/schemas/GtdTodoistTask' - $ref: '#/components/schemas/GtdGoogleTasksTask' - $ref: '#/components/schemas/GtdClickUpTask' - $ref: '#/components/schemas/GtdLinearTask' - $ref: '#/components/schemas/GtdJiraTask' - $ref: '#/components/schemas/GtdAsanaTask' - $ref: '#/components/schemas/GtdNotionTask' - $ref: '#/components/schemas/ReclaimTask' SessionInteractionUpdate.CalendarEvents: required: - events type: object properties: events: type: array items: $ref: '#/components/schemas/CalendarEventV2' type: type: string NotEventMatcher: required: - toNegate type: object properties: toNegate: $ref: '#/components/schemas/EventMatcher' type: type: string description: Negates another matcher FindANewTimeAction: required: - eventKey - policyId type: object properties: hash: type: string nullable: true policyId: type: string format: uuid eventKey: $ref: '#/components/schemas/EventKey' type: type: string ChangeScheduleWindow: required: - scheduleWindow - timezone type: object properties: scheduleWindow: $ref: '#/components/schemas/ScheduleWindow' timezone: type: string type: type: string BufferEventData: required: - bufferEventType - bufferTarget - policyId type: object properties: bufferTarget: $ref: '#/components/schemas/EventKey' policyId: type: string format: uuid bufferEventType: $ref: '#/components/schemas/BufferEventType' bufferEventDateRange: nullable: true allOf: - $ref: '#/components/schemas/EventDateRange' TimeOfDayEventMatcher: required: - operator - predicateValue - timeField type: object properties: timeField: $ref: '#/components/schemas/TimeOfDayEventMatcher.TimeField' operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: type: string format: partial-time type: type: string description: Matches events based on their start or end time of day AttendeeDeclined: required: - declinedAttendeeEmails - event - policyId - policyType type: object properties: hash: type: string nullable: true policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' event: $ref: '#/components/schemas/EventKey' recurringEventId: type: string nullable: true declinedAttendeeEmails: type: array items: type: string relatedFields: type: array nullable: true items: $ref: '#/components/schemas/CalendarEventField' type: type: string AddFocusEventAction: required: - end - eventKey - policyId - start - title type: object properties: hash: type: string nullable: true policyId: type: string format: uuid eventKey: $ref: '#/components/schemas/EventKey' title: type: string start: type: string format: date-time end: type: string format: date-time description: type: string nullable: true visibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' transparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' reminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineModeView' autoDeclineMessage: type: string nullable: true eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' type: type: string LlmProposedSolution: required: - action - problem type: object properties: action: $ref: '#/components/schemas/ScheduleAction' problem: $ref: '#/components/schemas/ScheduleProblem' reason: type: string nullable: true proposeSolutionId: type: string nullable: true type: type: string EventConflictType: type: string enum: - CONFLICT - SHORT_OVERLAP - POTENTIAL_CONFLICT - ATTENDEE_CONFLICT x-deprecated: - SHORT_OVERLAP - POTENTIAL_CONFLICT - ATTENDEE_CONFLICT BufferEventSettingsView: required: - idealDuration - minDuration type: object properties: idealDuration: type: integer format: int32 minDuration: type: integer format: int32 LlmContact: required: - email - name type: object properties: name: type: string email: type: string details: type: array nullable: true items: $ref: '#/components/schemas/LlmContactDetail' AppliedScheduleAction: required: - actionTaken type: object properties: actionTaken: $ref: '#/components/schemas/ScheduleAction' type: type: string ToolApprovalResultView: required: - approvalId - approved - scope - toolCategory - toolName type: object properties: approvalId: type: string toolName: type: string toolCategory: $ref: '#/components/schemas/ToolApprovalRequested.ToolCategory' approved: type: boolean scope: $ref: '#/components/schemas/ToolApprovalResult.ToolApprovalScope' reason: type: string nullable: true type: type: string AddVideoConferenceAction: required: - conferenceRequest - eventKey - policyId type: object properties: hash: type: string nullable: true policyId: type: string format: uuid eventKey: $ref: '#/components/schemas/EventKey' conferenceRequest: $ref: '#/components/schemas/ConferenceRequest' recurrenceEditType: nullable: true allOf: - $ref: '#/components/schemas/RecurrenceEditType' type: type: string ScheduleActionRefView: required: - hash - type type: object properties: hash: type: string type: type: string LlmCalendarEvent: required: - attendees - category - end - eventId - start - title type: object properties: eventId: type: string title: type: string description: type: string nullable: true location: type: string nullable: true start: type: string end: type: string category: $ref: '#/components/schemas/EventCategory' recurringEventId: type: string nullable: true seriesRecurrence: nullable: true allOf: - $ref: '#/components/schemas/ReclaimRecurrence' attendees: type: array items: $ref: '#/components/schemas/LlmCalendarEvent.Attendee' transparency: type: string nullable: true visibility: type: string nullable: true conference: nullable: true allOf: - $ref: '#/components/schemas/LlmCalendarEvent.Conference' color: type: string nullable: true platform: type: string nullable: true allDay: type: boolean nullable: true isOrganizer: type: boolean nullable: true schedulingLinkBooking: type: boolean nullable: true priority: type: string nullable: true attendeeListHidden: type: boolean nullable: true pendingChange: nullable: true allOf: - $ref: '#/components/schemas/LlmCalendarEvent.PendingChange' managedByPolicy: nullable: true allOf: - $ref: '#/components/schemas/LlmCalendarEvent.ManagedByPolicy' movabilityScore: type: integer format: int32 nullable: true overlapMinutes: type: integer format: int32 nullable: true calendarId: type: integer format: int64 nullable: true attendeeCount: type: integer format: int32 nullable: true LlmResponseType: type: string enum: - OPENAI_RESPONSES NotAttendeeMatcher: required: - toNegate type: object properties: toNegate: $ref: '#/components/schemas/AttendeeMatcher' type: type: string description: Negates an attendee matcher ReclaimResourceId: type: object discriminator: propertyName: type mapping: TaskId: '#/components/schemas/TaskId' SchedulingLinkMeetingId: '#/components/schemas/SchedulingLinkMeetingId' TravelBufferId: '#/components/schemas/TravelBufferId' DailyHabitId: '#/components/schemas/DailyHabitId' SmartSeriesId: '#/components/schemas/SmartSeriesId' FocusId: '#/components/schemas/FocusId' ConferenceBufferId: '#/components/schemas/ConferenceBufferId' SchedulingLinkId: '#/components/schemas/SchedulingLinkId' oneOf: - $ref: '#/components/schemas/DailyHabitId' - $ref: '#/components/schemas/FocusId' - $ref: '#/components/schemas/SchedulingLinkId' - $ref: '#/components/schemas/SchedulingLinkMeetingId' - $ref: '#/components/schemas/SmartSeriesId' - $ref: '#/components/schemas/TaskId' - $ref: '#/components/schemas/ConferenceBufferId' - $ref: '#/components/schemas/TravelBufferId' SessionInteractionUpdate.GroupedProblems: required: - groups type: object properties: groups: type: array items: $ref: '#/components/schemas/ScheduleProblemGroup' type: type: string FocusTimeCreateRequestFields: required: - calendarId - commonData - eventTitle - timePolicy - weeklyGoalMinutes type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' calendarId: type: integer format: int64 eventTitle: type: string weeklyGoalMinutes: type: integer format: int32 idealDurationPerDayMinutes: type: integer format: int32 nullable: true maxDurationPerDayMinutes: type: integer format: int32 nullable: true minEventDurationMinutes: type: integer format: int32 nullable: true maxEventDurationMinutes: type: integer format: int32 nullable: true eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineModeView' autoDeclineMessage: type: string nullable: true eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string MemorySavedRequest: required: - action - content - memoryId type: object properties: memoryId: $ref: '#/components/schemas/UserMemoryId' content: type: string action: $ref: '#/components/schemas/MemorySaved.MemoryAction' type: type: string GeneratedChatMessageRequest: required: - message type: object properties: message: type: string llmMode: nullable: true allOf: - $ref: '#/components/schemas/LlmMode.Type' type: type: string UpdateSessionInteractionResponse: required: - updates type: object properties: updates: type: array items: $ref: '#/components/schemas/SessionInteractionUpdate' SessionInteractionUpdate: required: - data - method - part type: object properties: part: $ref: '#/components/schemas/SessionInteractionUpdatePart' method: $ref: '#/components/schemas/SessionInteractionUpdateMethod' data: $ref: '#/components/schemas/SessionInteractionUpdateDataType' batchIndex: type: integer format: int32 nullable: true batchTotal: type: integer format: int32 nullable: true batchIds: type: array nullable: true items: type: string type: type: string EventCategory: $ref: '#/components/schemas/Colorized' ManagedEventData_1: type: object properties: originalDuration: type: string nullable: true linkedSuccessorExternalId: type: string nullable: true GtdNotionTask: required: - completed - id - priority - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true workspaceName: type: string nullable: true databaseName: type: string nullable: true databaseId: type: string nullable: true possibleStatuses: type: array nullable: true items: $ref: '#/components/schemas/NotionTaskStatus' type: type: string PendingChangesReviewed: type: object ReclaimEventType: type: string enum: - USER - SYNC - HABIT_ASSIGNMENT - SMART_HABIT - ONE_ON_ONE_ASSIGNMENT - SMART_MEETING - TASK_ASSIGNMENT - CONF_BUFFER - TRAVEL_BUFFER - SCHEDULING_LINK_MEETING - UNKNOWN - FOCUS OnboardingNextStep: required: - description - id - title - triggerMessage type: object properties: id: $ref: '#/components/schemas/OnboardingStep' title: type: string description: type: string triggerMessage: type: string description: The next uncompleted onboarding step SessionInteractionUpdate.ScheduleProblems: required: - llmProblemCount - problems type: object properties: problems: type: array items: $ref: '#/components/schemas/ScheduleProblemWithActions' llmProblemCount: type: integer format: int32 type: type: string ActionReason: type: object BasicEventWarningCreateRequestFields: required: - commonData - primaryCalendarOnly - warningMessage type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' warningCondition: nullable: true allOf: - $ref: '#/components/schemas/EventMatcher' warningConditionTags: description: Predefined event matching tags. Either this or warningCondition is required. nullable: true allOf: - $ref: '#/components/schemas/EventMatcherTags' warningMessage: type: string adherenceMetric: nullable: true allOf: - $ref: '#/components/schemas/PolicyAdherenceMetricDescriptor' primaryCalendarOnly: type: boolean type: type: string NotionTaskGroup: type: string enum: - To-do - In progress - Complete RequiresTravelEventMatcher: required: - predicateValue type: object properties: predicateValue: type: boolean type: type: string description: Matches events that require travel PreviewModeChangedRequest: required: - isPreviewing type: object properties: isPreviewing: type: boolean type: type: string PendingChangesReviewedRequest: type: object AnyEventMatcher: required: - matchers type: object properties: matchers: type: array items: $ref: '#/components/schemas/EventMatcher' type: type: string description: Matches if ANY matcher in the list matches LacksRsvp: required: - lacksRsvpEvent - policyId - policyType type: object properties: hash: type: string nullable: true policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' lacksRsvpEvent: $ref: '#/components/schemas/EventKey' lacksRsvpRecurringEventId: type: string nullable: true relatedFields: type: array nullable: true items: $ref: '#/components/schemas/CalendarEventField' conflictingEventKeys: type: array nullable: true items: $ref: '#/components/schemas/EventKey' type: type: string UpdatePolicyIndexPatchRequestFields: required: - move - relativeTo type: object properties: relativeTo: type: string format: uuid move: $ref: '#/components/schemas/PolicyIndexMove' type: type: string LlmThinkingId: required: - id type: object properties: id: type: string ReclaimTask: required: - completed - extendedProperties - id - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true extendedProperties: type: object additionalProperties: true type: type: string LacksRsvpPatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' 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 EventReadOnlyReason: type: string enum: - SYNTHETIC_EDITABLE_AFTER_APPLY - FOCUS_CANNOT_BE_MODIFIED LlmCalendarVisibility: type: string enum: - NONE - FREE_BUSY - DETAILS AwayFromIdealSlot: required: - durationDeltaMinutes - eventKey - idealDurationMinutes - idealStart - policyId - policyType - relatedFields - startTimeDeltaMinutes type: object properties: hash: type: string nullable: true policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' eventKey: $ref: '#/components/schemas/EventKey' idealStart: type: string format: date-time idealDurationMinutes: type: integer format: int64 startTimeDeltaMinutes: type: integer format: int64 durationDeltaMinutes: type: integer format: int64 relatedFields: type: array items: $ref: '#/components/schemas/CalendarEventField' type: type: string MemorySaved.MemoryAction: type: string enum: - CREATED - UPDATED - DELETED TakeScheduleActionRequest: required: - actionTaken - actor type: object properties: actor: $ref: '#/components/schemas/InteractionActor' actionTaken: $ref: '#/components/schemas/ScheduleAction' reason: nullable: true allOf: - $ref: '#/components/schemas/ActionReason' requestId: type: string nullable: true originSessionId: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionId' type: type: string AutomationType: type: string enum: - MANUAL - AUTOMATED - SUPERVISED FocusTimeEventData: required: - policyId type: object properties: policyId: type: string format: uuid FocusTimeProblem: required: - hash - policyId - policyType - problemType type: object properties: hash: type: string policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' problemType: $ref: '#/components/schemas/FocusTimeProblemType' eventKey: nullable: true allOf: - $ref: '#/components/schemas/EventKey' type: type: string ToolApprovalRequestedView: required: - approvalId - arguments - toolCategory - toolDescription - toolName type: object properties: approvalId: type: string toolName: type: string toolCategory: $ref: '#/components/schemas/ToolApprovalRequested.ToolCategory' toolDescription: type: string arguments: type: string metadata: type: object additionalProperties: type: string nullable: true callId: type: string nullable: true type: type: string ScheduleChangedRequest: required: - notifyLlm - scheduleWindow type: object properties: scheduleWindow: $ref: '#/components/schemas/ScheduleWindow_1' changedFields: type: object additionalProperties: type: array items: $ref: '#/components/schemas/CalendarEventField' notifyLlm: type: boolean type: type: string SuggestedUserMessages: required: - suggestions type: object properties: suggestions: type: array items: $ref: '#/components/schemas/UserChatMessage' type: type: string ScheduleProblemWithActions: required: - proposedActions type: object properties: problem: nullable: true allOf: - $ref: '#/components/schemas/ScheduleProblem' proposedActions: type: array items: $ref: '#/components/schemas/ScheduleActionWithEvents' TitleEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: type: string type: type: string description: Matches by event title text ClickUpTaskState: required: - color - id - name - position - type type: object properties: id: type: string name: type: string type: type: string position: type: number format: float color: type: string LogContext: type: object UpdatePolicyPriorityAndIndexPatchRequestFields: type: object properties: priority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' relativeTo: type: string format: uuid nullable: true move: nullable: true allOf: - $ref: '#/components/schemas/PolicyIndexMove' type: type: string HabitPolicy: required: - commonData - eventMatcher - minDurationMinutes - suppressWarnings - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' eventMatcher: $ref: '#/components/schemas/EventMatcher' idealDurationMinutes: type: integer format: int64 nullable: true minDurationMinutes: type: integer format: int64 availableTimeForTransparencyChangeMinutes: type: integer format: int64 nullable: true availableSlotsForTransparencyChange: type: integer format: int64 nullable: true autoBusyBeforeStartMinutes: type: integer format: int64 nullable: true timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' proactivelyUseIdealTime: type: boolean nullable: true noAvailabilityAction: nullable: true allOf: - $ref: '#/components/schemas/ManagedEventNoAvailabilityAction' suppressWarnings: type: boolean type: type: string InteractionRecordView: required: - actor - createdAt - id - interaction - sessionId - updatedAt - userId type: object properties: id: $ref: '#/components/schemas/InteractionIdView' sessionId: $ref: '#/components/schemas/InteractionSessionIdView' userId: type: string actor: $ref: '#/components/schemas/InteractionActor' interaction: $ref: '#/components/schemas/Interaction' requestId: type: string nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time type: type: string AttendeeMatcher: type: object discriminator: propertyName: type mapping: TrueAttendeeMatcher: '#/components/schemas/TrueAttendeeMatcher' AttendeeResponseStatusMatcher: '#/components/schemas/AttendeeResponseStatusMatcher' FalseAttendeeMatcher: '#/components/schemas/FalseAttendeeMatcher' AttendeeStringMatcher: '#/components/schemas/AttendeeStringMatcher' OrAttendeeMatcher: '#/components/schemas/OrAttendeeMatcher' NotAttendeeMatcher: '#/components/schemas/NotAttendeeMatcher' AttendeeBooleanMatcher: '#/components/schemas/AttendeeBooleanMatcher' AttendeeIntMatcher: '#/components/schemas/AttendeeIntMatcher' AndAttendeeMatcher: '#/components/schemas/AndAttendeeMatcher' oneOf: - $ref: '#/components/schemas/AttendeeStringMatcher' - $ref: '#/components/schemas/AttendeeBooleanMatcher' - $ref: '#/components/schemas/AttendeeIntMatcher' - $ref: '#/components/schemas/AttendeeResponseStatusMatcher' - $ref: '#/components/schemas/AndAttendeeMatcher' - $ref: '#/components/schemas/OrAttendeeMatcher' - $ref: '#/components/schemas/NotAttendeeMatcher' - $ref: '#/components/schemas/TrueAttendeeMatcher' - $ref: '#/components/schemas/FalseAttendeeMatcher' InteractionActor: type: string enum: - USER - USER_ASYNC - RECLAIM_UI - RECLAIM_GENERATED - RECLAIM_LLM - RECLAIM_LLM_TOOL - RECLAIM_BACKGROUND_SCHEDULER - USER_CALENDAR x-deprecated: - RECLAIM_UI AgentTodoListUpdated: required: - items type: object properties: items: type: array items: $ref: '#/components/schemas/AgentTodoListUpdatedView.ItemView' type: type: string LlmContactDetail: required: - description - value type: object properties: description: type: string value: type: string LlmCalendarEventList: required: - events type: object properties: events: type: array items: $ref: '#/components/schemas/LlmCalendarEvent' type: type: string RecurrenceContinuityData: type: object properties: lastPendingSync: type: string format: date-time nullable: true successorExternalId: type: string nullable: true JiraTaskState: required: - color - id - name - type type: object properties: id: type: string name: type: string type: $ref: '#/components/schemas/JiraStatusCategory' color: type: string SessionInteractionRequest: required: - interactions type: object properties: interactions: type: array items: $ref: '#/components/schemas/InteractionRequest' scheduleWindow: nullable: true allOf: - $ref: '#/components/schemas/ScheduleWindow' sessionScope: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionScopeRequest' calculateActions: type: boolean nullable: true HasAgendaEventMatcher: required: - defaultValue - matchType type: object properties: matchType: $ref: '#/components/schemas/HasAgenda.AgendaType' defaultValue: type: boolean type: type: string description: Matches events that have an agenda AnyTextEventMatcher: required: - predicateValue type: object properties: predicateValue: type: string type: type: string description: Matches if text appears in title, description, or location ResourceRSVPEventMatcher: required: - responseStatuses type: object properties: responseStatuses: type: array items: $ref: '#/components/schemas/ResponseStatus' type: type: string description: Matches by resource attendee RSVP status SchedulingLinkId: required: - id type: object properties: id: type: string type: type: string ReclaimRecurrence: required: - frequency type: object properties: interval: type: integer description: 'Repeat interval: 1 means every, 2 means every other, 3 means every 3rd. Defaults to 1.' format: int32 frequency: description: 'How often the event recurs: DAILY, WEEKLY, MONTHLY, or YEARLY' allOf: - $ref: '#/components/schemas/RecurrenceFrequency' days: type: array description: Days of the week for WEEKLY frequency (e.g. MONDAY, WEDNESDAY, FRIDAY) items: $ref: '#/components/schemas/DayOfWeek' monthlyDay: description: Day of the month for MONTHLY frequency nullable: true allOf: - $ref: '#/components/schemas/MonthlyDay' yearlyDay: description: Day of the year for YEARLY frequency nullable: true allOf: - $ref: '#/components/schemas/YearlyDay' until: type: string description: When the recurrence ends (yyyy-MM-ddTHH:mm:ssZ format, e.g. 2026-06-30T23:59:59Z). Mutually exclusive with count. Omit for no end date. format: date-time count: type: integer description: Total number of occurrences. Mutually exclusive with until. Omit for no end date. format: int32 valid: type: boolean description: 'Recurrence pattern for a recurring event. - frequency is always required - For WEEKLY: days is required (which days of the week) - For MONTHLY: monthlyDay is required (which day of the month) - For YEARLY: yearlyDay is required (which day of the year) - interval defaults to 1 (every occurrence) - Optionally set count or until to limit occurrences' LlmFunctionCallRequest: required: - actor - data - llmType type: object properties: actor: $ref: '#/components/schemas/InteractionActor' llmType: $ref: '#/components/schemas/LlmResponseType' data: type: string type: type: string ScheduleChangedView: required: - changedFields - notifyLlm - scheduleWindow - timezone type: object properties: scheduleWindow: $ref: '#/components/schemas/ScheduleWindow' timezone: type: string changedFields: type: object additionalProperties: type: array items: $ref: '#/components/schemas/CalendarEventField' notifyLlm: type: boolean type: type: string TaggedEventMatcher: required: - matcher - tagName type: object properties: tagName: type: string matcher: $ref: '#/components/schemas/EventMatcher' type: type: string description: Wraps a matcher with a named tag LlmContactListOutput: required: - contacts type: object properties: contacts: type: array items: $ref: '#/components/schemas/LlmContact' type: type: string FeatureReadyRequest: required: - feature type: object properties: feature: $ref: '#/components/schemas/ScheduleFeatures' type: type: string AllowedEditTypesView: required: - reason - types type: object properties: types: type: array items: $ref: '#/components/schemas/EventEditType' reason: $ref: '#/components/schemas/AllowedEditTypeReason' FocusTimePatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' calendarId: type: integer format: int64 eventTitle: type: string weeklyGoalMinutes: type: integer format: int32 idealDurationPerDayMinutes: type: integer format: int32 nullable: true maxDurationPerDayMinutes: type: integer format: int32 nullable: true minEventDurationMinutes: type: integer format: int32 nullable: true maxEventDurationMinutes: type: integer format: int32 nullable: true eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineModeView' autoDeclineMessage: type: string nullable: true eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' timePolicy: nullable: true allOf: - $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string ChatLearnMoreCategory: required: - description - mode - suggestions - title type: object properties: mode: $ref: '#/components/schemas/LlmMode.Type' title: type: string description: type: string suggestions: type: array items: $ref: '#/components/schemas/ChatLearnMoreSuggestion' EventKeyEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: $ref: '#/components/schemas/EventKey' type: type: string description: Matches a specific event by its key DescriptionEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: type: string type: type: string description: Matches by event description text AppliedScheduleActionRequest: required: - actionTaken - actor type: object properties: actor: $ref: '#/components/schemas/InteractionActor' actionTaken: $ref: '#/components/schemas/ScheduleAction' requestId: type: string nullable: true originSessionId: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionId' type: type: string LacksVideoConferenceCreateRequestFields: 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 Month: type: string enum: - JANUARY - FEBRUARY - MARCH - APRIL - MAY - JUNE - JULY - AUGUST - SEPTEMBER - OCTOBER - NOVEMBER - DECEMBER AllAttendeesEventMatcher: required: - attendeeMatcher type: object properties: attendeeMatcher: $ref: '#/components/schemas/AttendeeMatcher' type: type: string description: Matches if all attendees satisfy the given attendee predicate LacksVideoConferencePolicy: required: - commonData - eventMatcher - eventMatcherTags type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' eventMatcher: $ref: '#/components/schemas/EventMatcher' eventMatcherTags: $ref: '#/components/schemas/EventMatcherTags' type: type: string ReclaimSchedulerData: required: - assistType - manuallyStarted - pinned type: object properties: assistType: $ref: '#/components/schemas/AssistType' pinned: type: boolean manuallyStarted: type: boolean InteractionRequest: type: object discriminator: propertyName: type mapping: SessionClosedRequest: '#/components/schemas/SessionClosedRequest' EventFocusedRequest: '#/components/schemas/EventFocusedRequest' LlmResponseRequest: '#/components/schemas/LlmResponseRequest' AgentTodoListUpdatedRequest: '#/components/schemas/AgentTodoListUpdatedRequest' ScheduleChangedRequest: '#/components/schemas/ScheduleChangedRequest' PreviewModeChangedRequest: '#/components/schemas/PreviewModeChangedRequest' SearchTasksRequest: '#/components/schemas/SearchTasksRequest' SuggestedUserMessagesRequest: '#/components/schemas/SuggestedUserMessagesRequest' ChangeScheduleWindowRequest: '#/components/schemas/ChangeScheduleWindowRequest' PendingChangesReviewedRequest: '#/components/schemas/PendingChangesReviewedRequest' GeneratedChatMessageRequest: '#/components/schemas/GeneratedChatMessageRequest' QuotaExceededRequest: '#/components/schemas/QuotaExceededRequest' RemoveScheduleActionRequest: '#/components/schemas/RemoveScheduleActionRequest' ShowSomeScheduleActionsRequest: '#/components/schemas/ShowScheduleActionRequest' DisplayTasksRequest: '#/components/schemas/DisplayTasksRequest' LlmChatMessageThinkingDoneRequest: '#/components/schemas/LlmChatMessageThinkingDoneRequest' FeatureReadyRequest: '#/components/schemas/FeatureReadyRequest' TakeScheduleActionRequest: '#/components/schemas/TakeScheduleActionRequest' ToolApprovalRequestedRequest: '#/components/schemas/ToolApprovalRequestedRequest' AppliedScheduleActionRequest: '#/components/schemas/AppliedScheduleActionRequest' StopTaskRequest: '#/components/schemas/StopTaskRequest' MemorySavedRequest: '#/components/schemas/MemorySavedRequest' LlmFunctionCallRequest: '#/components/schemas/LlmFunctionCallRequest' UserChatMessageRequest: '#/components/schemas/UserChatMessageRequest' McpApprovalRequestedRequest: '#/components/schemas/McpApprovalRequestedRequest' ProposeSolutionRequest: '#/components/schemas/ProposeSolutionRequest' ToolApprovalResultRequest: '#/components/schemas/ToolApprovalResultRequest' StartTaskRequest: '#/components/schemas/StartTaskRequest' LlmChatMessageDoneRequest: '#/components/schemas/LlmChatMessageDoneRequest' LlmModeSwitchRequest: '#/components/schemas/LlmModeSwitchRequest' PolicyConfigChangedRequest: '#/components/schemas/PolicyConfigChangedRequest' McpApprovalResultRequest: '#/components/schemas/McpApprovalResultRequest' UpdateTaskStatusRequest: '#/components/schemas/UpdateTaskStatusRequest' allOf: - $ref: '#/components/schemas/LogContext' oneOf: - $ref: '#/components/schemas/DisplayTasksRequest' - $ref: '#/components/schemas/SearchTasksRequest' - $ref: '#/components/schemas/StartTaskRequest' - $ref: '#/components/schemas/StopTaskRequest' - $ref: '#/components/schemas/UpdateTaskStatusRequest' - $ref: '#/components/schemas/ChangeScheduleWindowRequest' - $ref: '#/components/schemas/EventFocusedRequest' - $ref: '#/components/schemas/FeatureReadyRequest' - $ref: '#/components/schemas/GeneratedChatMessageRequest' - $ref: '#/components/schemas/LlmChatMessageDoneRequest' - $ref: '#/components/schemas/LlmChatMessageThinkingDoneRequest' - $ref: '#/components/schemas/LlmFunctionCallRequest' - $ref: '#/components/schemas/LlmModeSwitchRequest' - $ref: '#/components/schemas/LlmResponseRequest' - $ref: '#/components/schemas/PolicyConfigChangedRequest' - $ref: '#/components/schemas/RemoveScheduleActionRequest' - $ref: '#/components/schemas/AppliedScheduleActionRequest' - $ref: '#/components/schemas/ScheduleChangedRequest' - $ref: '#/components/schemas/ShowScheduleActionRequest' - $ref: '#/components/schemas/SuggestedUserMessagesRequest' - $ref: '#/components/schemas/TakeScheduleActionRequest' - $ref: '#/components/schemas/UserChatMessageRequest' - $ref: '#/components/schemas/MemorySavedRequest' - $ref: '#/components/schemas/PendingChangesReviewedRequest' - $ref: '#/components/schemas/PreviewModeChangedRequest' - $ref: '#/components/schemas/ProposeSolutionRequest' - $ref: '#/components/schemas/QuotaExceededRequest' - $ref: '#/components/schemas/SessionClosedRequest' - $ref: '#/components/schemas/McpApprovalRequestedRequest' - $ref: '#/components/schemas/McpApprovalResultRequest' - $ref: '#/components/schemas/ToolApprovalRequestedRequest' - $ref: '#/components/schemas/ToolApprovalResultRequest' - $ref: '#/components/schemas/AgentTodoListUpdatedRequest' InteractionSessionIdView: required: - id type: object properties: id: type: string format: uuid GtdJiraTask: required: - completed - id - priority - projectKey - projectName - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true projectName: type: string projectKey: type: string sprints: type: array nullable: true items: type: string possibleStatuses: type: array nullable: true items: $ref: '#/components/schemas/JiraTaskState' type: type: string EntryStatus: type: string enum: - CONFIRMED - TENTATIVE - CANCELLED BufferProblemType: type: string enum: - MISSING_BUFFER - BUFFER_EVENT_NEEDS_TO_CHANGE - BUFFER_EVENT_NOT_NEEDED 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 BufferEventPatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' calendarId: type: integer format: int64 nullable: true bufferEventTitle: type: string 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' bufferEventType: $ref: '#/components/schemas/BufferEventType' before: nullable: true allOf: - $ref: '#/components/schemas/BufferEventSettingsView' after: nullable: true allOf: - $ref: '#/components/schemas/BufferEventSettingsView' bufferEventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' alwaysAddBufferEvent: type: boolean suppressWarnings: type: boolean eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' availableTimeForTransparencyChangeMinutes: type: integer format: int64 nullable: true availableSlotsForTransparencyChange: type: integer format: int64 nullable: true bufferEventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' type: type: string GtdTodoistTask: required: - completed - id - priority - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true labels: type: array nullable: true items: type: string projectId: type: string nullable: true url: type: string nullable: true type: type: string DisplayTasksRequest: required: - actor - tasks type: object properties: actor: $ref: '#/components/schemas/InteractionActor' tasks: type: array items: $ref: '#/components/schemas/GtdTask' taskGroups: type: object additionalProperties: type: array items: type: string nullable: true type: type: string GtdTodoistTaskForCreate: 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 projectId: type: string nullable: true labels: type: array nullable: true items: type: string type: type: string BasicEventWarning: required: - eventWithWarning - hash - policyId - policyType - warningMessage type: object properties: hash: type: string policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' eventWithWarning: $ref: '#/components/schemas/EventKey' warningMessage: type: string relatedFields: type: array nullable: true items: $ref: '#/components/schemas/CalendarEventField' type: 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 GtdLinearTaskForCreate: 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 teamId: type: string nullable: true projectId: type: string nullable: true assigneeId: type: string nullable: true stateId: type: string nullable: true labels: type: array nullable: true items: type: string type: type: string IgnoreEventKeyAction: required: - eventKey - policyId type: object properties: hash: type: string nullable: true policyId: type: string format: uuid eventKey: $ref: '#/components/schemas/EventKey' recurrenceEditType: nullable: true allOf: - $ref: '#/components/schemas/RecurrenceEditType' type: type: string RescheduleHourSource: type: string enum: - ALL_ATTENDEES - ORGANIZER - ONE_OFF OneOff: required: - timePolicy type: object properties: timePolicy: $ref: '#/components/schemas/TimePolicy' type: type: string LlmEventActionsOutput: required: - eventActions type: object properties: eventActions: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ScheduleAction' type: type: string SessionCloseRequest: required: - apply - finalInteractions type: object properties: apply: type: boolean finalInteractions: type: array items: $ref: '#/components/schemas/InteractionRequest' sessionScope: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionScopeRequest' PolicyStatus: type: string enum: - ENABLED - DISABLED - EVENT_CLEANUP_THEN_ENABLED - EVENT_CLEANUP_THEN_DISABLED LocationEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: type: string type: type: string description: Matches by event location text BufferEventCreateRequestFields: required: - bufferEventTitle - bufferEventType - commonData type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' calendarId: type: integer format: int64 bufferEventTitle: type: string 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' bufferEventType: $ref: '#/components/schemas/BufferEventType' before: $ref: '#/components/schemas/BufferEventSettingsView' after: $ref: '#/components/schemas/BufferEventSettingsView' bufferEventPriority: $ref: '#/components/schemas/PriorityLevel' alwaysAddBufferEvent: type: boolean suppressWarnings: type: boolean bufferEventCategory: $ref: '#/components/schemas/EventCategory' eventColor: $ref: '#/components/schemas/EntryColor' eventVisibility: $ref: '#/components/schemas/Visibility' type: type: string ProposeSolution: required: - proposedAction type: object properties: proposedAction: $ref: '#/components/schemas/ScheduleAction' problem: nullable: true allOf: - $ref: '#/components/schemas/ScheduleProblem' proposeSolutionId: type: string nullable: true reason: type: string nullable: true type: type: string SessionInteractionUpdate.Session: required: - session type: object properties: session: $ref: '#/components/schemas/InteractionSessionView' type: type: string LacksRsvpPolicy: required: - commonData - eventMatcher - eventMatcherTags type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' eventMatcher: $ref: '#/components/schemas/EventMatcher' eventMatcherTags: $ref: '#/components/schemas/EventMatcherTags' type: type: string AllDayDateRange: required: - end - start type: object properties: start: type: string format: date end: type: string format: date type: type: string SchedulePolicyId: required: - id type: object properties: id: type: string format: uuid PolicyAssociation: required: - association - policyId - policyType type: object properties: policyId: type: string format: uuid association: $ref: '#/components/schemas/EventPolicyAssociation' policyType: $ref: '#/components/schemas/SchedulePolicyType' SessionInteractionResponse: required: - currentEvents - currentPolicies - expected - preview - scheduleWindow - session type: object properties: session: $ref: '#/components/schemas/InteractionSessionView' scheduleWindow: $ref: '#/components/schemas/ScheduleWindow' currentEvents: type: array items: $ref: '#/components/schemas/CalendarEventV2' currentPolicies: type: array items: $ref: '#/components/schemas/SchedulePolicy' preview: $ref: '#/components/schemas/ScheduleInfo' expected: $ref: '#/components/schemas/ScheduleInfo' recommendations: type: array nullable: true items: $ref: '#/components/schemas/ProposeSolution' CalendarEventV2: required: - attendeesAndResources - calendarId - canInviteOthers - canModify - canRsvp - canSeeOtherGuests - dateMode - descriptionOmitted - eventDate - freeBusy - isOptimistic - key - originalStart - platformData - reclaimData - rsvpStatus - selfOrganized - status - titleTruncated - versionData - visibility type: object properties: key: $ref: '#/components/schemas/EventKey' calendarId: type: integer format: int64 recurringEventId: type: string nullable: true attendeesAndResources: type: array items: $ref: '#/components/schemas/EventParticipant' eventDate: $ref: '#/components/schemas/EventDateRange' dateMode: $ref: '#/components/schemas/DateMode' originalStart: type: string format: date-time color: nullable: true allOf: - $ref: '#/components/schemas/EventColor' status: $ref: '#/components/schemas/EntryStatus' title: type: string nullable: true description: type: string nullable: true visibility: $ref: '#/components/schemas/Visibility' freeBusy: $ref: '#/components/schemas/FreeBusy' rsvpStatus: $ref: '#/components/schemas/ResponseStatus' onlineMeetingUrl: type: string nullable: true deprecated: true location: type: string nullable: true reminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' platformData: $ref: '#/components/schemas/PlatformEventData' reclaimData: $ref: '#/components/schemas/ReclaimEventData' versionData: $ref: '#/components/schemas/VersionData' recurrence: nullable: true allOf: - $ref: '#/components/schemas/ReclaimRecurrence' parentRecurrence: nullable: true allOf: - $ref: '#/components/schemas/ReclaimRecurrence' conferenceData: nullable: true allOf: - $ref: '#/components/schemas/ConferenceData' selfOrganized: type: boolean canModify: type: boolean canInviteOthers: type: boolean canSeeOtherGuests: type: boolean canRsvp: type: boolean isOptimistic: type: boolean allowedRecurrenceEditTypes: type: array nullable: true items: $ref: '#/components/schemas/RecurrenceEditType' allowedEditTypes: nullable: true allOf: - $ref: '#/components/schemas/AllowedEditTypesView' descriptionOmitted: type: boolean titleTruncated: type: boolean AllowedEditTypeReason: type: string enum: - SINGLE_INSTANCE - RECURRENCE_INSTANCE - FIRST_INSTANCE - PENDING_RECURRENCE_CHANGE - FOCUS_CANNOT_BE_MODIFIED - SYNTHETIC_EDITABLE_AFTER_APPLY - SERIES_ROOT - RECURRING_ATTENDEE PolicyAdherenceMetricDescriptor: required: - candidateCondition - metricName type: object properties: metricName: type: string candidateCondition: $ref: '#/components/schemas/EventMatcher' FocusTimeProblemType: type: string enum: - FOCUS_EVENT_NEEDED - FOCUS_EVENT_NEEDS_UPDATE - FOCUS_EVENT_NOT_NEEDED - FOCUS_EVENT_MISMATCH InteractionLogView: required: - interactions type: object properties: interactions: type: array items: $ref: '#/components/schemas/InteractionRecordView' since: type: string format: date-time nullable: true LlmModeSwitch: required: - llmMode type: object properties: llmMode: $ref: '#/components/schemas/LlmMode_1' type: type: string LocalTimeInterval: required: - end - start type: object properties: start: type: string format: partial-time end: type: string format: partial-time duration: type: string LlmChatMessageStart: required: - startId type: object properties: startId: type: string type: type: string LlmChatMessageThinkingDone: required: - text - thinkingId type: object properties: thinkingId: $ref: '#/components/schemas/LlmThinkingIdView' text: type: string type: type: string LlmChatMessageThinkingStart: required: - startId type: object properties: startId: type: string type: type: string TaskEventData_1: required: - gtdTaskId type: object properties: gtdTaskId: type: string AndAttendeeMatcher: required: - left - right type: object properties: left: $ref: '#/components/schemas/AttendeeMatcher' right: $ref: '#/components/schemas/AttendeeMatcher' type: type: string description: Matches if both attendee matchers match ShowScheduleAction: required: - actionShown type: object properties: actionShown: $ref: '#/components/schemas/ScheduleAction' type: type: string ToolApprovalRequestedRequest: required: - approvalId - arguments - toolCategory - toolDescription - toolName type: object properties: approvalId: type: string toolName: type: string toolCategory: $ref: '#/components/schemas/ToolApprovalRequested.ToolCategory' toolDescription: type: string arguments: type: string metadata: type: object additionalProperties: type: string nullable: true callId: type: string nullable: true type: type: string ReclaimEventData: required: - associations - reclaimEventType type: object properties: reclaimEventType: $ref: '#/components/schemas/ReclaimEventType' reclaimResourceId: nullable: true allOf: - $ref: '#/components/schemas/ReclaimResourceId' eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' priority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' reclaimSchedulerData: nullable: true allOf: - $ref: '#/components/schemas/ReclaimSchedulerData' mergeableEvent: nullable: true allOf: - $ref: '#/components/schemas/MergeableEvent' calendarSyncSourceData: nullable: true allOf: - $ref: '#/components/schemas/CalendarSyncSourceData' assistantData: nullable: true allOf: - $ref: '#/components/schemas/AssistantData' associations: $ref: '#/components/schemas/EventAssociationDetailsView' PreviewModeChanged: required: - isPreviewing type: object properties: isPreviewing: type: boolean type: type: string UserMemoryId: required: - id type: object properties: id: type: string format: uuid UserChatMessageRequest: required: - message type: object properties: message: type: string llmMode: nullable: true allOf: - $ref: '#/components/schemas/LlmMode.Type' type: type: string OnboardingStepStatus: type: string enum: - NOT_STARTED - IN_PROGRESS - COMPLETED - DISMISSED LlmSuggestedTimeListOutput: required: - suggestedTimes type: object properties: suggestedTimes: type: array items: $ref: '#/components/schemas/LlmSuggestedTime' type: type: string OrEventMatcher: required: - left - right type: object properties: left: $ref: '#/components/schemas/EventMatcher' right: $ref: '#/components/schemas/EventMatcher' type: type: string description: Matches if either the left or right matcher matches LlmMode.Type: type: string enum: - FIND_A_TIME - ANALYSIS - BASIC_CALENDARING - GET_THINGS_DONE - PRODUCT_HELP - WELCOME - SUGGEST_TASKS - TASK_PLANNING - AT_RISK - MANAGE_HABITS - MANAGE_SMART_MEETINGS - MANAGE_BUFFERS - MANAGE_FOCUS - MANAGE_DEFEND - MANAGE_EVENT_WARNINGS - MANAGE_RSVP_REMINDERS - MANAGE_VIDEO_LINK_CHECKS - MANAGE_SETTINGS - APPLY - GET_THINGS_DONE_V2 - MANAGE_TODOIST_TASKS - MANAGE_LINEAR_TASKS - MANAGE_ASANA_TASKS - MANAGE_NOTION_TASKS - MANAGE_CLICKUP_TASKS - MANAGE_JIRA_TASKS - MANAGE_RECLAIM_TASKS - MANAGE_GOOGLE_TASKS - AI_SCHEDULER - AI_SCHEDULER_WORKER McpApprovalRequestedView: required: - approvalId - arguments - toolName type: object properties: approvalId: type: string toolName: type: string arguments: type: string serverLabel: type: string nullable: true type: type: string FalseEventMatcher: type: object description: Never matches any event EventConflictPolicy: required: - commonData - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string SchedulingLinkMeetingId: required: - id type: object properties: id: type: string type: type: string ResponseStatus: type: string enum: - DECLINED - NEEDS_ACTION - TENTATIVE - ACCEPTED - UNKNOWN FocusId: required: - id type: object properties: id: type: integer format: int64 type: type: string IntSummaryStatistics: type: object properties: count: type: integer format: int64 sum: type: integer format: int64 min: type: integer format: int32 max: type: integer format: int32 average: type: number format: double Interaction: type: object discriminator: propertyName: type mapping: LlmModeSwitch: '#/components/schemas/LlmModeSwitch' AgentTodoListUpdated: '#/components/schemas/AgentTodoListUpdated' SearchTasks: '#/components/schemas/SearchTasks' QuotaExceeded: '#/components/schemas/QuotaExceeded' ToolApprovalResult: '#/components/schemas/ToolApprovalResultView' RemoveScheduleAction: '#/components/schemas/RemoveScheduleAction' SuggestedUserMessagesView: '#/components/schemas/SuggestedUserMessages' FeatureReady: '#/components/schemas/FeatureReady' ShowSomeScheduleActions: '#/components/schemas/ShowScheduleAction' StopTask: '#/components/schemas/StopTask' ChangeScheduleWindow: '#/components/schemas/ChangeScheduleWindow' EventFocused: '#/components/schemas/EventFocused' StartTask: '#/components/schemas/StartTask' McpApprovalResult: '#/components/schemas/McpApprovalResultView' DisplayTasks: '#/components/schemas/DisplayTasks' SessionClosed: '#/components/schemas/SessionClosedView' LlmChatMessageStart: '#/components/schemas/LlmChatMessageStart' ToolApprovalRequestedView: '#/components/schemas/ToolApprovalRequestedView' GeneratedChatMessage: '#/components/schemas/GeneratedChatMessage' PendingChangesReviewed: '#/components/schemas/PendingChangesReviewed' ToolApprovalResultView: '#/components/schemas/ToolApprovalResultView' LlmChatMessageThinkingDoneView: '#/components/schemas/LlmChatMessageThinkingDone' LlmChatMessageThinkingStart: '#/components/schemas/LlmChatMessageThinkingStart' LlmFunctionCall: '#/components/schemas/LlmFunctionCall' ScheduleChangedView: '#/components/schemas/ScheduleChangedView' TakeScheduleAction: '#/components/schemas/TakeScheduleAction' PreviewModeChanged: '#/components/schemas/PreviewModeChanged' AppliedScheduleAction: '#/components/schemas/AppliedScheduleAction' McpApprovalRequested: '#/components/schemas/McpApprovalRequestedView' MemorySaved: '#/components/schemas/MemorySaved' ToolApprovalRequested: '#/components/schemas/ToolApprovalRequestedView' LlmChatMessageDone: '#/components/schemas/LlmChatMessageDone' PolicyConfigChangedView: '#/components/schemas/PolicyConfigChangedView' UserChatMessage: '#/components/schemas/UserChatMessage' LlmResponse: '#/components/schemas/LlmResponse' ProposeSolution: '#/components/schemas/ProposeSolution' oneOf: - $ref: '#/components/schemas/ChangeScheduleWindow' - $ref: '#/components/schemas/UpdateTaskStatus' - $ref: '#/components/schemas/DisplayTasks' - $ref: '#/components/schemas/EventFocused' - $ref: '#/components/schemas/FeatureReady' - $ref: '#/components/schemas/GeneratedChatMessage' - $ref: '#/components/schemas/LlmChatMessageDone' - $ref: '#/components/schemas/LlmChatMessageStart' - $ref: '#/components/schemas/LlmChatMessageThinkingDone' - $ref: '#/components/schemas/LlmChatMessageThinkingStart' - $ref: '#/components/schemas/LlmFunctionCall' - $ref: '#/components/schemas/LlmModeSwitch' - $ref: '#/components/schemas/LlmResponse' - $ref: '#/components/schemas/PolicyConfigChangedView' - $ref: '#/components/schemas/PendingChangesReviewed' - $ref: '#/components/schemas/RemoveScheduleAction' - $ref: '#/components/schemas/AppliedScheduleAction' - $ref: '#/components/schemas/SearchTasks' - $ref: '#/components/schemas/ScheduleChangedView' - $ref: '#/components/schemas/ShowScheduleAction' - $ref: '#/components/schemas/StartTask' - $ref: '#/components/schemas/StopTask' - $ref: '#/components/schemas/SuggestedUserMessages' - $ref: '#/components/schemas/TakeScheduleAction' - $ref: '#/components/schemas/UserChatMessage' - $ref: '#/components/schemas/MemorySaved' - $ref: '#/components/schemas/PreviewModeChanged' - $ref: '#/components/schemas/ProposeSolution' - $ref: '#/components/schemas/QuotaExceeded' - $ref: '#/components/schemas/SessionClosedView' - $ref: '#/components/schemas/McpApprovalRequestedView' - $ref: '#/components/schemas/McpApprovalResultView' - $ref: '#/components/schemas/ToolApprovalRequestedView' - $ref: '#/components/schemas/ToolApprovalResultView' - $ref: '#/components/schemas/AgentTodoListUpdated' AttendeeBooleanMatcher: required: - field - value type: object properties: field: $ref: '#/components/schemas/AttendeeBooleanMatcher.BooleanField' value: type: boolean type: type: string description: Matches an attendee's boolean field Visibility: type: string enum: - DEFAULT - PUBLIC - PRIVATE EntryColor: type: string enum: - NONE - LAVENDER - SAGE - GRAPE - FLAMINGO - BANANA - TANGERINE - PEACOCK - GRAPHITE - BLUEBERRY - BASIL - TOMATO EventCategoryEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: $ref: '#/components/schemas/EventCategory' type: type: string description: Matches by event category StopTaskRequest: required: - actor - task type: object properties: actor: $ref: '#/components/schemas/InteractionActor' task: $ref: '#/components/schemas/GtdTask' type: type: string AttendeeAvailabilityWarningPatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' timePolicy: nullable: true allOf: - $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string AttendeeStringMatcher.StringField: type: string enum: - EMAIL - DISPLAY_NAME - COMMENT LlmSuggestedTimeList: required: - suggestedTimes type: object properties: suggestedTimes: type: array items: $ref: '#/components/schemas/LlmSuggestedTime' type: type: string EventFocused: required: - eventKey - focusType type: object properties: eventKey: $ref: '#/components/schemas/EventKey' focusType: $ref: '#/components/schemas/InteractionFocusType' type: type: string ManagedEventNoAvailabilityAction: type: string enum: - CANCEL - WARNING LinearWorkflowStateType: type: string enum: - triage - backlog - started - unstarted - completed - canceled - duplicate - unknown x-enum-varnames: - triage - backlog - started - unstarted - completed - canceled - duplicate - unknown OrAttendeeMatcher: required: - left - right type: object properties: left: $ref: '#/components/schemas/AttendeeMatcher' right: $ref: '#/components/schemas/AttendeeMatcher' type: type: string description: Matches if either attendee matcher matches GeneratedChatMessage: required: - message type: object properties: message: type: string llmMode: nullable: true allOf: - $ref: '#/components/schemas/LlmMode.Type' type: type: string PolicyIndexMove: type: string enum: - BEFORE - AFTER EventMatcher: type: object discriminator: propertyName: type mapping: EventTagEventMatcher: '#/components/schemas/EventTagEventMatcher' AllEventMatcher: '#/components/schemas/AllEventMatcher' AttendeeEmailEventMatcher: '#/components/schemas/AttendeeEmailEventMatcher' IsOrganizerEventMatcher: '#/components/schemas/IsOrganizerEventMatcher' ReclaimEventTypeEventMatcher: '#/components/schemas/ReclaimEventTypeEventMatcher' DurationEventMatcher: '#/components/schemas/DurationEventMatcher' TaggedEventMatcher: '#/components/schemas/TaggedEventMatcher' AllAttendeesEventMatcher: '#/components/schemas/AllAttendeesEventMatcher' AttendeeCountEventMatcher: '#/components/schemas/AttendeeCountEventMatcher' OrEventMatcher: '#/components/schemas/OrEventMatcher' EventKeyEventMatcher: '#/components/schemas/EventKeyEventMatcher' RecurringSeriesEventMatcher: '#/components/schemas/RecurringSeriesEventMatcher' HasAgendaEventMatcher: '#/components/schemas/HasAgendaEventMatcher' HasVideoConferenceEventMatcher: '#/components/schemas/HasVideoConferenceEventMatcher' TimeWindowEventMatcher: '#/components/schemas/TimeWindowEventMatcher' AnyAttendeeEventMatcher: '#/components/schemas/AnyAttendeeEventMatcher' ResourceRSVPEventMatcher: '#/components/schemas/ResourceRSVPEventMatcher' AnyEventMatcher: '#/components/schemas/AnyEventMatcher' TitleEventMatcher: '#/components/schemas/TitleEventMatcher' EventCategoryEventMatcher: '#/components/schemas/EventCategoryEventMatcher' RecentPaperDocMatcher: '#/components/schemas/RecentPaperDocMatcher' LocationEventMatcher: '#/components/schemas/LocationEventMatcher' IsRecurringInstanceEventMatcher: '#/components/schemas/IsRecurringInstanceEventMatcher' DescriptionEventMatcher: '#/components/schemas/DescriptionEventMatcher' TrueEventMatcher: '#/components/schemas/TrueEventMatcher' NoneEventMatcher: '#/components/schemas/NoneEventMatcher' TimeOfDayEventMatcher: '#/components/schemas/TimeOfDayEventMatcher' AndEventMatcher: '#/components/schemas/AndEventMatcher' MatchingAttendeeCountEventMatcher: '#/components/schemas/MatchingAttendeeCountEventMatcher' FalseEventMatcher: '#/components/schemas/FalseEventMatcher' SummarizedEventMatcher: '#/components/schemas/SummarizedEventMatcher' AnyTextEventMatcher: '#/components/schemas/AnyTextEventMatcher' CalendarEventMatcher: '#/components/schemas/CalendarEventMatcher' NotEventMatcher: '#/components/schemas/NotEventMatcher' SelfRSVPMatcher: '#/components/schemas/SelfRSVPMatcher' RecurringInstanceEventMatcher: '#/components/schemas/RecurringInstanceEventMatcher' RequiresTravelEventMatcher: '#/components/schemas/RequiresTravelEventMatcher' oneOf: - $ref: '#/components/schemas/AllAttendeesEventMatcher' - $ref: '#/components/schemas/AnyAttendeeEventMatcher' - $ref: '#/components/schemas/MatchingAttendeeCountEventMatcher' - $ref: '#/components/schemas/AttendeeCountEventMatcher' - $ref: '#/components/schemas/AttendeeEmailEventMatcher' - $ref: '#/components/schemas/AllEventMatcher' - $ref: '#/components/schemas/AndEventMatcher' - $ref: '#/components/schemas/AnyEventMatcher' - $ref: '#/components/schemas/AnyTextEventMatcher' - $ref: '#/components/schemas/CalendarEventMatcher' - $ref: '#/components/schemas/ResourceRSVPEventMatcher' - $ref: '#/components/schemas/DescriptionEventMatcher' - $ref: '#/components/schemas/EventCategoryEventMatcher' - $ref: '#/components/schemas/EventKeyEventMatcher' - $ref: '#/components/schemas/EventTagEventMatcher' - $ref: '#/components/schemas/FalseEventMatcher' - $ref: '#/components/schemas/HasAgendaEventMatcher' - $ref: '#/components/schemas/HasVideoConferenceEventMatcher' - $ref: '#/components/schemas/LocationEventMatcher' - $ref: '#/components/schemas/NoneEventMatcher' - $ref: '#/components/schemas/NotEventMatcher' - $ref: '#/components/schemas/OrEventMatcher' - $ref: '#/components/schemas/IsOrganizerEventMatcher' - $ref: '#/components/schemas/IsRecurringInstanceEventMatcher' - $ref: '#/components/schemas/RecentPaperDocMatcher' - $ref: '#/components/schemas/ReclaimEventTypeEventMatcher' - $ref: '#/components/schemas/RecurringInstanceEventMatcher' - $ref: '#/components/schemas/RecurringSeriesEventMatcher' - $ref: '#/components/schemas/RequiresTravelEventMatcher' - $ref: '#/components/schemas/SelfRSVPMatcher' - $ref: '#/components/schemas/SummarizedEventMatcher' - $ref: '#/components/schemas/TaggedEventMatcher' - $ref: '#/components/schemas/TimeOfDayEventMatcher' - $ref: '#/components/schemas/TimeWindowEventMatcher' - $ref: '#/components/schemas/TitleEventMatcher' - $ref: '#/components/schemas/TrueEventMatcher' - $ref: '#/components/schemas/DurationEventMatcher' CalendarEventField: type: string enum: - TITLE - DESCRIPTION - DATE_RANGE - ORIGINAL_START - STATUS - VISIBILITY - TRANSPARENCY - COLOR - ATTENDEES - LOCATION - REMINDERS - RECURRING_EVENT_ID - CONFERENCE_DATA - GUESTS_CAN_MODIFY - GUESTS_CAN_INVITE_OTHERS - GUESTS_CAN_SEE_OTHER_GUESTS - VERSION_DATA AttendeeEmailEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: type: string type: type: string description: Matches events where any attendee's email satisfies the operator/predicate SearchTasks: required: - query - results - sourceFilters type: object properties: query: type: string sourceFilters: type: array items: $ref: '#/components/schemas/GtdTaskId.TaskSourceType' results: type: array items: $ref: '#/components/schemas/GtdTask' type: type: string GtdClickUpTaskForCreate: 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 labels: type: array nullable: true items: type: string type: type: string OnboardingStatus: required: - completedSteps - totalSteps type: object properties: completedSteps: type: integer format: int32 totalSteps: type: integer format: int32 nextStep: nullable: true allOf: - $ref: '#/components/schemas/OnboardingNextStep' description: Current onboarding checklist status for the UI progress card MoreEntryPoint: required: - uri type: object properties: uri: type: string label: type: string nullable: true pin: type: string nullable: true type: type: string GtdAsanaTaskForCreate: 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 projectId: type: string nullable: true assigneeId: type: string nullable: true customFields: type: object additionalProperties: true nullable: true type: type: string ProactiveGtdScope.Type: type: string enum: - SUGGESTED_TASKS - TIME_BLOCKING - AT_RISK SessionApplyRequest: required: - actionHashes type: object properties: actionHashes: type: array items: type: string sessionScope: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionScopeRequest' FixedDateTimeRange_2: required: - end - start type: object properties: start: type: string format: date-time end: type: string format: date-time LlmSuggestedTime: required: - attendees - end - start type: object properties: start: type: string format: date-time end: type: string format: date-time attendees: type: array items: $ref: '#/components/schemas/LlmAttendeeAvailability' VideoEntryPoint: required: - uri type: object properties: uri: type: string label: type: string nullable: true meetingCode: type: string nullable: true passcode: type: string nullable: true type: type: string ManualEditEventAction: required: - eventKey - policyId type: object properties: hash: type: string nullable: true policyId: type: string format: uuid eventKey: $ref: '#/components/schemas/EventKey' type: type: string ToolApprovalResult.ToolApprovalScope: type: string enum: - SINGLE_REQUEST - SESSION - FOREVER OutlookEventData: type: object IsRecurringInstanceEventMatcher: type: object description: Matches events that are an instance of a recurring series EventKey: required: - calendarId - eventId type: object properties: eventId: type: string calendarId: type: integer format: int64 SchedulePolicyType: type: string enum: - AttendeeAvailabilityWarningPolicy - BasicEventWarningPolicy - BufferEventPolicy - EventConflictPolicy - FocusTimePolicy - HabitPolicy - LacksRsvpPolicy - LacksVideoConferencePolicy - ManagedEventSchedulingPolicy - ShieldsUpPolicy - SmartMeetingPolicy - UNKNOWN x-enum-varnames: - AttendeeAvailabilityWarningPolicy - BasicEventWarningPolicy - BufferEventPolicy - EventConflictPolicy - FocusTimePolicy - HabitPolicy - LacksRsvpPolicy - LacksVideoConferencePolicy - ManagedEventSchedulingPolicy - ShieldsUpPolicy - SmartMeetingPolicy - UNKNOWN AgentTodoListUpdatedRequest: required: - items type: object properties: items: type: array items: $ref: '#/components/schemas/AgentTodoListUpdatedRequest.ItemRequest' type: type: string LlmModeOutput: required: - mode type: object properties: mode: $ref: '#/components/schemas/LlmMode.Type' type: type: string TaskId: required: - id type: object properties: id: type: integer format: int64 type: type: string MergeableEventView.MergeType: type: string enum: - ORGANIZER_EVENT - ATTENDEE_EVENT - SYNC_EVENT SessionClosedRequest: required: - applied type: object properties: closedSessionId: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionIdView' applied: type: boolean type: type: string PlannerSandboxScopeRequest: required: - userId type: object properties: userId: type: string type: type: string ScheduleInfo: required: - actionsTaken - backgroundActions - groupedProblems - llmProblemCount - mutatedEvents - mutatedPolicies - problems type: object properties: mutatedEvents: type: array items: $ref: '#/components/schemas/CalendarEventV2' problems: type: array items: $ref: '#/components/schemas/ScheduleProblemWithActions' groupedProblems: type: array items: $ref: '#/components/schemas/ScheduleProblemGroup' actionsTaken: type: array items: $ref: '#/components/schemas/ScheduleAction' backgroundActions: type: array items: $ref: '#/components/schemas/ScheduleAction' mutatedPolicies: type: array items: $ref: '#/components/schemas/SchedulePolicy' llmProblemCount: type: integer format: int32 SipEntryPoint: required: - uri type: object properties: uri: type: string label: type: string nullable: true passcode: type: string nullable: true type: type: string LlmMode: required: - mode type: object properties: mode: $ref: '#/components/schemas/LlmMode.Type' type: type: string IsOrganizerEventMatcher: required: - predicateValue type: object properties: predicateValue: type: boolean type: type: string description: Matches based on whether the user is the event organizer RecurrenceEnding: required: - policyId - policyType type: object properties: hash: type: string nullable: true policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' relatedFields: type: array nullable: true items: $ref: '#/components/schemas/CalendarEventField' type: type: string CompleteOnboardingStepRequest: required: - step type: object properties: step: description: The step to mark as completed allOf: - $ref: '#/components/schemas/OnboardingStep' description: Request to mark a single onboarding step as completed or skipped from the frontend SessionInteractionUpdateDataType: type: object discriminator: propertyName: type mapping: SchedulePoliciesUpdate: '#/components/schemas/SessionInteractionUpdate.SchedulePolicies' BackgroundActionsTakenUpdate: '#/components/schemas/SessionInteractionUpdate.BackgroundActionsTaken' CalendarEventsUpdate: '#/components/schemas/SessionInteractionUpdate.CalendarEvents' ActionsTakenUpdate: '#/components/schemas/SessionInteractionUpdate.ActionsTaken' SessionUpdate: '#/components/schemas/SessionInteractionUpdate.Session' GroupedProblemsUpdate: '#/components/schemas/SessionInteractionUpdate.GroupedProblems' ScheduleProblemsUpdate: '#/components/schemas/SessionInteractionUpdate.ScheduleProblems' oneOf: - $ref: '#/components/schemas/SessionInteractionUpdate.Session' - $ref: '#/components/schemas/SessionInteractionUpdate.CalendarEvents' - $ref: '#/components/schemas/SessionInteractionUpdate.SchedulePolicies' - $ref: '#/components/schemas/SessionInteractionUpdate.ScheduleProblems' - $ref: '#/components/schemas/SessionInteractionUpdate.GroupedProblems' - $ref: '#/components/schemas/SessionInteractionUpdate.ActionsTaken' - $ref: '#/components/schemas/SessionInteractionUpdate.BackgroundActionsTaken' InteractionSessionView: required: - createdAt - scheduleWindow - sessionId - status - updatedAt type: object properties: sessionId: $ref: '#/components/schemas/InteractionSessionIdView' status: $ref: '#/components/schemas/InteractionSessionStatus' scheduleWindow: $ref: '#/components/schemas/ScheduleWindow' history: nullable: true allOf: - $ref: '#/components/schemas/InteractionLogView' createdAt: type: string format: date-time updatedAt: type: string format: date-time sessionScopeId: nullable: true allOf: - $ref: '#/components/schemas/ScopeId' ManagedEventData: type: object properties: originalDurationMinutes: type: integer format: int64 nullable: true linkedSuccessorExternalId: type: string nullable: true AttendeeAvailabilityView: required: - externalCalendarId - freeBusy - movabilityScore - reason - timezone - visibility type: object properties: externalCalendarId: type: string visibility: $ref: '#/components/schemas/AttendeeCalendarVisibility' timezone: type: string freeBusy: $ref: '#/components/schemas/FreeBusy' movabilityScore: type: integer format: int32 reason: $ref: '#/components/schemas/ScoringReason' title: type: string nullable: true eventType: nullable: true allOf: - $ref: '#/components/schemas/EventSubType' reclaimEventType: nullable: true allOf: - $ref: '#/components/schemas/ReclaimEventType' isOrganizer: type: boolean nullable: true isRecurring: type: boolean nullable: true hasVip: type: boolean nullable: true participantCount: type: integer format: int32 nullable: true priority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' BufferEventType: type: string enum: - BEFORE - AFTER - BEFORE_AND_AFTER ConferenceRequestType: type: string enum: - MeetConferenceRequest - TeamsConferenceRequest - ZoomConferenceRequest x-enum-varnames: - MeetConferenceRequest - TeamsConferenceRequest - ZoomConferenceRequest FocusTimeProperties: type: object properties: autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineMode' declineMessage: type: string nullable: true chatStatus: nullable: true allOf: - $ref: '#/components/schemas/FocusTimeChatStatus' OnboardingChecklistSection: required: - description - id - steps - title type: object properties: id: type: string title: type: string description: type: string steps: type: array items: $ref: '#/components/schemas/OnboardingChecklistStep' FocusTimeEventData_1: required: - policyId type: object properties: policyId: $ref: '#/components/schemas/SchedulePolicyId' LlmMessageIdView: required: - id type: object properties: id: type: string type: type: string InteractionIdView: required: - id type: object properties: id: type: string format: uuid LlmAnalyticsResult: required: - deepFocusOpportunitiesPerDay - freeTimeInMinutesPerDay - meetingTimeInMinutesPerDay - meetingsPerDay type: object properties: freeTimeInMinutesPerDay: $ref: '#/components/schemas/LongSummaryStatistics' meetingTimeInMinutesPerDay: $ref: '#/components/schemas/LongSummaryStatistics' deepFocusOpportunitiesPerDay: $ref: '#/components/schemas/IntSummaryStatistics' meetingsPerDay: $ref: '#/components/schemas/IntSummaryStatistics' EventResourceParticipant: required: - email type: object properties: displayName: type: string nullable: true email: type: string capacity: type: integer format: int32 nullable: true buildingId: type: string nullable: true buildingName: type: string nullable: true buildingDescription: type: string nullable: true floorName: type: string nullable: true category: type: string nullable: true type: type: string NotionTaskStatus: required: - group - id - name type: object properties: id: type: string name: type: string group: $ref: '#/components/schemas/NotionTaskGroup' color: type: string nullable: true ToolApprovalRequested.ToolCategory: type: string enum: - MCP - GOOGLE_TASKS - NATIVE UserChatMessage: required: - message type: object properties: message: type: string llmMode: nullable: true allOf: - $ref: '#/components/schemas/LlmMode.Type' type: type: string AttendeeIntMatcher: required: - field - operator - value type: object properties: field: $ref: '#/components/schemas/AttendeeIntMatcher.IntField' operator: $ref: '#/components/schemas/EventMatcherOperator' value: type: integer format: int32 type: type: string description: Matches an attendee's integer field using an operator RecurrenceContinuityData_1: type: object properties: lastPendingSync: type: string format: date-time nullable: true successorExternalId: type: string nullable: true PhoneEntryPoint: required: - uri type: object properties: uri: type: string label: type: string nullable: true regionCode: type: string nullable: true passcode: type: string nullable: true pin: type: string nullable: true type: type: string ShieldsUpPolicy: required: - calendarId - commonData - eventTitle - maxMeetingMinutesPerDay - maxMeetingMinutesPerWeek - thresholdType - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' calendarId: type: integer format: int64 eventTitle: type: string maxMeetingMinutesPerWeek: type: integer format: int32 maxMeetingMinutesPerDay: type: integer format: int32 thresholdType: $ref: '#/components/schemas/ShieldsUpThresholdType' minDurationMinutes: type: integer format: int32 nullable: true eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineModeView' autoDeclineMessage: type: string nullable: true eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string TaskEventData: required: - gtdTaskId type: object properties: gtdTaskId: type: string UnknownPolicy: required: - commonData type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' type: type: string FocusTimeChatStatus: type: string enum: - AVAILABLE - DO_NOT_DISTURB x-type: String RsvpEventAction: required: - eventKey - policyId - responseStatus type: object properties: hash: type: string nullable: true policyId: type: string format: uuid eventKey: $ref: '#/components/schemas/EventKey' responseStatus: $ref: '#/components/schemas/ResponseStatus' attendeeRsvpNote: type: string nullable: true recurrenceEditType: nullable: true allOf: - $ref: '#/components/schemas/RecurrenceEditType' type: type: string SearchTasksRequest: required: - actor - query - results - sourceFilters type: object properties: actor: $ref: '#/components/schemas/InteractionActor' query: type: string sourceFilters: type: array items: $ref: '#/components/schemas/GtdTaskId.TaskSourceType' results: type: array items: $ref: '#/components/schemas/GtdTask' type: type: string CompleteGtdTaskAction: required: - task type: object properties: hash: type: string nullable: true task: $ref: '#/components/schemas/GtdTask' type: type: string PlannerViewScopeRequest: required: - userId - viewId type: object properties: userId: type: string viewId: type: string type: type: string LogTaskAction: required: - calendarId - dateRange - policyId - task - title type: object properties: hash: type: string nullable: true policyId: type: string format: uuid calendarId: type: integer format: int64 eventId: type: string nullable: true task: $ref: '#/components/schemas/GtdTask' title: type: string dateRange: $ref: '#/components/schemas/EventDateRange' type: type: string AttendeeStringMatcher.StringOperator: type: string enum: - EQUALS - NOT_EQUALS - CONTAINS - MATCHES LlmMessageId: required: - id type: object properties: id: type: string LlmFunctionCall: required: - actor - callId - llmType - output type: object properties: actor: $ref: '#/components/schemas/InteractionActor' llmType: $ref: '#/components/schemas/LlmResponseType' callId: type: string output: $ref: '#/components/schemas/LlmFunctionCallOutput' result: nullable: true allOf: - $ref: '#/components/schemas/LlmFunctionResult' type: type: string LlmCalendarEvent.Attendee: required: - email - responseStatus - self type: object properties: email: type: string self: type: boolean responseStatus: $ref: '#/components/schemas/ResponseStatus' OnboardingChecklist: required: - completedSteps - sections - totalSteps type: object properties: completedSteps: type: integer format: int32 totalSteps: type: integer format: int32 sections: type: array items: $ref: '#/components/schemas/OnboardingChecklistSection' description: Full onboarding checklist with sections, steps, and per-step status SessionInteractionUpdatePart: type: string enum: - PREVIEW - EXPECTED - CURRENT CalendarEventMatcher: required: - calendarId type: object properties: calendarId: type: integer format: int64 type: type: string description: Matches events on a specific calendar EventPolicyAssociation: type: string enum: - GLOBAL - MATCHES - CREATOR - TARGET - NONE - PROPOSED InteractionSessionId: required: - id type: object properties: id: type: string format: uuid JiraStatusCategory: type: string enum: - NEW - INDETERMINATE - DONE x-type: String PolicyConfigChanged.PolicyChangeType: type: string enum: - CREATED - UPDATED - DELETED - DISABLED - ENABLED EntryNotificationRequest: type: string enum: - NOTIFY_ALL - NOTIFY_EXTERNAL_ONLY - NOTIFY_NONE EventTagEventMatcher: required: - predicateValue type: object properties: predicateValue: type: string type: type: string description: Matches events with a specific tag SmartMeetingPatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' eventMatcher: nullable: true allOf: - $ref: '#/components/schemas/EventMatcher' idealDurationMinutes: type: integer format: int64 nullable: true minDurationMinutes: type: integer format: int64 timePolicy: nullable: true allOf: - $ref: '#/components/schemas/SchedulePolicyTimePolicy' suppressWarnings: type: boolean rescheduleHourSource: $ref: '#/components/schemas/RescheduleHourSource' type: type: string NoneEventMatcher: required: - matchers type: object properties: matchers: type: array items: $ref: '#/components/schemas/EventMatcher' type: type: string description: Matches if NONE of the matchers in the list match YearlyDay: type: object properties: month: description: The month (e.g. JANUARY, MARCH, NOVEMBER) nullable: true allOf: - $ref: '#/components/schemas/Month' monthlyDay: description: Which day within the month nullable: true allOf: - $ref: '#/components/schemas/MonthlyDay' description: Day of the year for YEARLY recurrences. LlmCalendarEvent.ManagedByPolicy: required: - mode - policyId type: object properties: mode: $ref: '#/components/schemas/ManagedEventPolicyMode' policyId: type: string EventAssociationDetailsView: required: - canLock - canUnlock - locked - policyAssociations type: object properties: locked: type: boolean canLock: type: boolean canUnlock: type: boolean policyAssociations: type: array items: $ref: '#/components/schemas/PolicyAssociation' readOnlyReason: nullable: true allOf: - $ref: '#/components/schemas/EventReadOnlyReason' FalseAttendeeMatcher: type: object description: Never matches any attendee RemoveScheduleActionRequest: required: - actionRemoved - actor type: object properties: actor: $ref: '#/components/schemas/InteractionActor' actionRemoved: $ref: '#/components/schemas/ScheduleAction' originSessionId: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionId' type: type: string TravelBufferId: required: - id type: object properties: id: type: string type: type: string GtdTaskLink: required: - url type: object properties: url: type: string MutatePolicyRequestFields: type: object discriminator: propertyName: type mapping: AttendeeAvailabilityWarningCreateRequestFields: '#/components/schemas/AttendeeAvailabilityWarningCreateRequestFields' HabitCreateRequestFields: '#/components/schemas/HabitCreateRequestFields' BufferEventCreateRequestFields: '#/components/schemas/BufferEventCreateRequestFields' EventConflictPatchRequestFields: '#/components/schemas/EventConflictPatchRequestFields' FocusTimePatchRequestFields: '#/components/schemas/FocusTimePatchRequestFields' AttendeeAvailabilityWarningPatchRequestFields: '#/components/schemas/AttendeeAvailabilityWarningPatchRequestFields' EventConflictCreateRequestFields: '#/components/schemas/EventConflictCreateRequestFields' LacksRsvpCreateRequestFields: '#/components/schemas/LacksRsvpCreateRequestFields' UpdatePolicyPriorityAndIndexPatchRequestFields: '#/components/schemas/UpdatePolicyPriorityAndIndexPatchRequestFields' HabitPatchRequestFields: '#/components/schemas/HabitPatchRequestFields' BasicEventWarningCreateRequestFields: '#/components/schemas/BasicEventWarningCreateRequestFields' BufferEventPatchRequestFields: '#/components/schemas/BufferEventPatchRequestFields' BasicEventWarningPatchRequestFields: '#/components/schemas/BasicEventWarningPatchRequestFields' LacksVideoConferencePatchRequestFields: '#/components/schemas/LacksVideoConferencePatchRequestFields' PolicyDeleteRequestFields: '#/components/schemas/PolicyDeleteRequestFields' SmartMeetingPatchRequestFields: '#/components/schemas/SmartMeetingPatchRequestFields' FocusTimeCreateRequestFields: '#/components/schemas/FocusTimeCreateRequestFields' LacksVideoConferenceCreateRequestFields: '#/components/schemas/LacksVideoConferenceCreateRequestFields' ShieldsUpCreateRequestFields: '#/components/schemas/ShieldsUpCreateRequestFields' SmartMeetingCreateRequestFields: '#/components/schemas/SmartMeetingCreateRequestFields' ShieldsUpPatchRequestFields: '#/components/schemas/ShieldsUpPatchRequestFields' LacksRsvpPatchRequestFields: '#/components/schemas/LacksRsvpPatchRequestFields' UpdatePolicyIndexPatchRequestFields: '#/components/schemas/UpdatePolicyIndexPatchRequestFields' oneOf: - $ref: '#/components/schemas/AttendeeAvailabilityWarningCreateRequestFields' - $ref: '#/components/schemas/AttendeeAvailabilityWarningPatchRequestFields' - $ref: '#/components/schemas/BasicEventWarningCreateRequestFields' - $ref: '#/components/schemas/BasicEventWarningPatchRequestFields' - $ref: '#/components/schemas/BufferEventCreateRequestFields' - $ref: '#/components/schemas/BufferEventPatchRequestFields' - $ref: '#/components/schemas/EventConflictCreateRequestFields' - $ref: '#/components/schemas/EventConflictPatchRequestFields' - $ref: '#/components/schemas/FocusTimeCreateRequestFields' - $ref: '#/components/schemas/FocusTimePatchRequestFields' - $ref: '#/components/schemas/HabitCreateRequestFields' - $ref: '#/components/schemas/HabitPatchRequestFields' - $ref: '#/components/schemas/LacksRsvpCreateRequestFields' - $ref: '#/components/schemas/LacksRsvpPatchRequestFields' - $ref: '#/components/schemas/LacksVideoConferenceCreateRequestFields' - $ref: '#/components/schemas/LacksVideoConferencePatchRequestFields' - $ref: '#/components/schemas/PolicyDeleteRequestFields' - $ref: '#/components/schemas/ShieldsUpCreateRequestFields' - $ref: '#/components/schemas/ShieldsUpPatchRequestFields' - $ref: '#/components/schemas/SmartMeetingCreateRequestFields' - $ref: '#/components/schemas/SmartMeetingPatchRequestFields' - $ref: '#/components/schemas/UpdatePolicyIndexPatchRequestFields' - $ref: '#/components/schemas/UpdatePolicyPriorityAndIndexPatchRequestFields' ManagedEventPolicyMode: type: string enum: - HABIT - SMART_MEETING CurrentEventsRequest: required: - eventKeys type: object properties: eventKeys: type: array items: $ref: '#/components/schemas/EventKey' sessionScope: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionScopeRequest' EventMatcherTags: required: - tags type: object properties: tags: type: array items: $ref: '#/components/schemas/EventMatcherTag' AttendeeResponseStatusMatcher.SetOperator: type: string enum: - IN - NOT_IN EventConflict: required: - conflictType - conflictingEvents - policyId - policyType type: object properties: hash: type: string nullable: true policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' conflictingEvents: type: array items: $ref: '#/components/schemas/EventKey' conflictType: $ref: '#/components/schemas/EventConflictType' interval: nullable: true allOf: - $ref: '#/components/schemas/EventDateRange' relatedFields: type: array nullable: true items: $ref: '#/components/schemas/CalendarEventField' busyAttendeeEmails: type: array nullable: true items: type: string type: type: string ShieldsUpThresholdType: type: string enum: - WEEK - DAY - WEEK_AND_DAY AgentTodo.Status: type: string enum: - PENDING - IN_PROGRESS - DONE - BLOCKED AttendeeAvailabilityWarningPolicy: required: - commonData - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string LlmCalendarEventListOutput: required: - events type: object properties: events: type: array items: $ref: '#/components/schemas/LlmCalendarEvent' type: type: string EventParticipant: type: object discriminator: propertyName: type mapping: EventResourceParticipant: '#/components/schemas/EventResourceParticipant' EventAttendeeParticipant: '#/components/schemas/EventAttendeeParticipant' oneOf: - $ref: '#/components/schemas/EventAttendeeParticipant' - $ref: '#/components/schemas/EventResourceParticipant' ShieldsUpEventData: required: - policyId type: object properties: policyId: type: string format: uuid BufferEventData_1: required: - bufferEventType - bufferTarget - policyId type: object properties: bufferTarget: $ref: '#/components/schemas/EventKey' policyId: $ref: '#/components/schemas/SchedulePolicyId' bufferEventType: $ref: '#/components/schemas/BufferEventType' eventDateRange: nullable: true allOf: - $ref: '#/components/schemas/EventDateRange_1' DateMode: type: string enum: - FIXED_TIMESTAMP - ALL_DAY EventMatcherOperator: type: string enum: - NOT_SPECIFIED - EQUALS - CONTAINS - LESS_THAN - LESS_THAN_OR_EQUALS - GREATER_THAN - GREATER_THAN_OR_EQUALS - MATCHES ChatLearnMoreIcon: type: string enum: - ARROW_FORWARD - LOCAL_FLORIST - FOCUS - GROUP - EVENT - DESIGN_SERVICES - TASK - CONFLICT - AUTO_FIX_HIGH - ACCESS_TIME - CALENDAR_MONTH - REPEAT - BUFFER - PEOPLE - MODES AutoDeclineMode: type: string enum: - DECLINE_NONE - DECLINE_ALL_CONFLICTING_INVITATIONS - DECLINE_ONLY_NEW_CONFLICTING_INVITATIONS x-type: String ToolApprovalResultRequest: required: - approvalId - approved - scope - toolCategory - toolName type: object properties: approvalId: type: string toolName: type: string toolCategory: $ref: '#/components/schemas/ToolApprovalRequested.ToolCategory' approved: type: boolean scope: $ref: '#/components/schemas/ToolApprovalResult.ToolApprovalScope' reason: type: string nullable: true type: type: string TimeWindowEventMatcher: required: - matchMode - windowEnd - windowStart type: object properties: windowStart: type: string format: date-time windowEnd: type: string format: date-time matchMode: $ref: '#/components/schemas/TimeWindowEventMatcher.TimeWindowMatchMode' type: type: string description: Matches events within a time window TakeScheduleAction: required: - actionTaken type: object properties: actionTaken: $ref: '#/components/schemas/ScheduleAction' reason: nullable: true allOf: - $ref: '#/components/schemas/ActionReason' type: type: string AssistantData_1: type: object properties: bufferEventData: nullable: true allOf: - $ref: '#/components/schemas/BufferEventData_1' shieldsUpEventData: nullable: true allOf: - $ref: '#/components/schemas/ShieldsUpEventData_1' focusTimeEventData: nullable: true allOf: - $ref: '#/components/schemas/FocusTimeEventData_1' managedEventData: nullable: true allOf: - $ref: '#/components/schemas/ManagedEventData_1' recurrenceContinuityData: nullable: true allOf: - $ref: '#/components/schemas/RecurrenceContinuityData_1' taskEventData: nullable: true allOf: - $ref: '#/components/schemas/TaskEventData_1' PendingConferenceData: required: - conferenceRequestType type: object properties: conferenceRequestType: $ref: '#/components/schemas/ConferenceRequestType' type: type: string LlmChatMessageThinkingDoneRequest: required: - actor - text - thinkingId type: object properties: actor: $ref: '#/components/schemas/InteractionActor' thinkingId: $ref: '#/components/schemas/LlmThinkingId' text: type: string type: type: string TrueAttendeeMatcher: type: object description: Always matches any attendee GtdNotionTaskForCreate: 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 databaseId: type: string nullable: true type: type: string OnboardingStep: type: string enum: - SET_UP_FOCUS - ADD_BUFFERS - ADD_HABIT - ADD_SMART_MEETINGS - CONNECT_ANOTHER_CALENDAR - SYNC_CALENDARS - CREATE_SCHEDULING_LINK - REVIEW_TASKS - INSTALL_TASK_INTEGRATION - CONNECT_ZOOM - CONNECT_SLACK - CONFIGURE_NOTIFICATIONS - REVIEW_PERMISSIONS - REVIEW_WORKING_HOURS - SAVE_MEMORIES - INVITE_TEAM BasicEventWarningPatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' warningCondition: nullable: true allOf: - $ref: '#/components/schemas/EventMatcher' warningConditionTags: description: Predefined event matching tags. Either this or warningCondition is required. nullable: true allOf: - $ref: '#/components/schemas/EventMatcherTags' warningMessage: type: string adherenceMetric: nullable: true allOf: - $ref: '#/components/schemas/PolicyAdherenceMetricDescriptor' primaryCalendarOnly: type: boolean nullable: true type: type: string SuggestedUserMessagesRequest: required: - suggestions type: object properties: suggestions: type: array items: $ref: '#/components/schemas/UserChatMessageRequest' type: type: string AttendeeStringMatcher: required: - field - operator - value type: object properties: field: $ref: '#/components/schemas/AttendeeStringMatcher.StringField' operator: $ref: '#/components/schemas/AttendeeStringMatcher.StringOperator' value: type: string type: type: string description: Matches an attendee's string field using an operator TrueEventMatcher: type: object description: Always matches any event ScoringReason: type: string enum: - CALENDAR_NOT_AVAILABLE - CONFLICT_UNAVAILABLE - CONFLICT_UNKNOWN - CONFLICT_HARD - CONFLICT_WARN - AVAILABILITY_OUTSIDE_MEETING_HOURS - AVAILABILITY_UNKNOWN - AVAILABLE - AVAILABLE_AUTOMATED PolicyDeleteRequestFields: required: - deleted type: object properties: deleted: type: boolean type: type: string InteractionSessionStatus: type: string enum: - ACTIVE - ARCHIVED - APPLIED - TIMED_OUT - ERROR GtdAsanaTask: required: - completed - id - priority - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true labels: type: array nullable: true items: type: string projects: type: array nullable: true items: type: string type: type: string AttendeeAvailabilityWarningCreateRequestFields: required: - commonData - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string LlmChatMessageDoneRequest: required: - actor - messageId - text type: object properties: actor: $ref: '#/components/schemas/InteractionActor' messageId: $ref: '#/components/schemas/LlmMessageId' text: type: string type: type: string EventAttendeeParticipant: 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 type: type: string AllEventMatcher: required: - matchers type: object properties: matchers: type: array items: $ref: '#/components/schemas/EventMatcher' type: type: string description: Matches if ALL matchers in the list match RecurringSeriesEventMatcher: required: - operator - seriesEventId type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' seriesEventId: type: string calendarId: type: integer format: int64 nullable: true type: type: string description: Matches the root series event itself by its eventKey ID. Rarely needed — prefer RecurringInstanceEventMatcher to target all occurrences. AllDayDateRange_2: required: - end - start type: object properties: start: type: string format: date end: type: string format: date RescheduleEventAndCancelOthersAction: required: - eventsToCancel - policyId - rescheduleAction type: object properties: hash: type: string nullable: true policyId: type: string format: uuid rescheduleAction: $ref: '#/components/schemas/RescheduleEventAction' eventsToCancel: type: array items: $ref: '#/components/schemas/CancelEventAction' type: type: string LlmFunctionResult: type: object discriminator: propertyName: type mapping: LlmSuggestedTimeList: '#/components/schemas/LlmSuggestedTimeList' LlmContactList: '#/components/schemas/LlmContactList' LlmScheduleAction: '#/components/schemas/LlmScheduleAction' LlmFunctionError: '#/components/schemas/LlmFunctionError' LlmProposedSolution: '#/components/schemas/LlmProposedSolution' LlmMode: '#/components/schemas/LlmMode' LlmCalendarEventList: '#/components/schemas/LlmCalendarEventList' LlmEventActions: '#/components/schemas/LlmEventActions' LlmFocusStats: '#/components/schemas/LlmFocusStats' oneOf: - $ref: '#/components/schemas/LlmCalendarEventList' - $ref: '#/components/schemas/LlmContactList' - $ref: '#/components/schemas/LlmEventActions' - $ref: '#/components/schemas/LlmFocusStats' - $ref: '#/components/schemas/LlmMode' - $ref: '#/components/schemas/LlmProposedSolution' - $ref: '#/components/schemas/LlmScheduleAction' - $ref: '#/components/schemas/LlmSuggestedTimeList' - $ref: '#/components/schemas/LlmFunctionError' AttendeeBooleanMatcher.BooleanField: type: string enum: - SELF - OPTIONAL - ORGANIZER - RESOURCE EventMatcherTag: type: string enum: - EXTERNAL - CONFERENCE - LARGE_GROUP - LONG_MEETING - IS_TRAVEL - NEEDS_TRAVEL - IS_FLIGHT - MEETING_ORGANIZER - RECURRING_SERIES - NEEDS_RSVP - IS_MEETING - NO_LOCATION - LARGE_MEETINGS_YOU_ORGANIZED - MEETING_NEEDS_RSVP - MEETING_MISSING_VIDEO_CONFERENCE - RESOURCE_DECLINED SummarizedEventMatcher: required: - matcher - summary type: object properties: summary: type: string matcher: $ref: '#/components/schemas/EventMatcher' type: type: string description: Wraps a matcher with a human-readable summary MemorySaved: required: - action - content - memoryId type: object properties: memoryId: $ref: '#/components/schemas/UserMemoryId' content: type: string action: $ref: '#/components/schemas/MemorySaved.MemoryAction' type: type: string StartTaskRequest: required: - actor - task type: object properties: actor: $ref: '#/components/schemas/InteractionActor' task: $ref: '#/components/schemas/GtdTask' type: type: string RecurringInstanceEventMatcher: required: - operator - recurringEventId type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' recurringEventId: type: string calendarId: type: integer format: int64 nullable: true ignoreBranches: type: boolean nullable: true type: type: string description: Matches all occurrences of a recurring event by recurringEventId. This is the preferred matcher for targeting a recurring event in policies. ConferenceEntryPoint: type: object discriminator: propertyName: type mapping: MoreEntryPoint: '#/components/schemas/MoreEntryPoint' SipEntryPoint: '#/components/schemas/SipEntryPoint' VideoEntryPoint: '#/components/schemas/VideoEntryPoint' PhoneEntryPoint: '#/components/schemas/PhoneEntryPoint' oneOf: - $ref: '#/components/schemas/VideoEntryPoint' - $ref: '#/components/schemas/PhoneEntryPoint' - $ref: '#/components/schemas/SipEntryPoint' - $ref: '#/components/schemas/MoreEntryPoint' InteractionSessionScopeRequest: type: object discriminator: propertyName: type mapping: PlannerSandboxScopeRequest: '#/components/schemas/PlannerSandboxScopeRequest' SingleInteractionScopeRequest: '#/components/schemas/SingleInteractionScopeRequest' PlannerViewScopeRequest: '#/components/schemas/PlannerViewScopeRequest' ChatScopeRequest: '#/components/schemas/ChatScopeRequest' oneOf: - $ref: '#/components/schemas/PlannerSandboxScopeRequest' - $ref: '#/components/schemas/PlannerViewScopeRequest' - $ref: '#/components/schemas/SingleInteractionScopeRequest' - $ref: '#/components/schemas/ChatScopeRequest' ChatScopeRequest: required: - chatId - sandboxIncluded type: object properties: chatId: type: string sandboxIncluded: type: boolean type: type: string McpApprovalRequestedRequest: required: - approvalId - arguments - toolName type: object properties: approvalId: type: string toolName: type: string arguments: type: string serverLabel: type: string nullable: true type: type: string ScopeId: required: - id type: object properties: id: type: string MeetConferenceRequest: required: - enabled type: object properties: enabled: type: boolean type: type: string BasicEventWarningPolicy: required: - commonData - primaryCalendarOnly - warningCondition - warningMessage type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' warningCondition: $ref: '#/components/schemas/EventMatcher' warningConditionTags: nullable: true allOf: - $ref: '#/components/schemas/EventMatcherTags' warningMessage: type: string adherenceMetric: nullable: true allOf: - $ref: '#/components/schemas/PolicyAdherenceMetricDescriptor' primaryCalendarOnly: type: boolean type: type: string ScheduleWindow_1: required: - end - start - timezone type: object properties: start: type: string format: date-time end: type: string format: date-time timezone: type: string FixedDateTimeRange: required: - end - start type: object properties: start: type: string format: date-time end: type: string format: date-time type: type: string LlmChatMessageDone: required: - messageId - text type: object properties: messageId: $ref: '#/components/schemas/LlmMessageIdView' text: type: string type: type: string AssistantData: type: object properties: bufferEventData: nullable: true allOf: - $ref: '#/components/schemas/BufferEventData' shieldsUpEventData: nullable: true allOf: - $ref: '#/components/schemas/ShieldsUpEventData' focusTimeEventData: nullable: true allOf: - $ref: '#/components/schemas/FocusTimeEventData' managedEventData: nullable: true allOf: - $ref: '#/components/schemas/ManagedEventData' recurrenceContinuityData: nullable: true allOf: - $ref: '#/components/schemas/RecurrenceContinuityData' taskEventData: nullable: true allOf: - $ref: '#/components/schemas/TaskEventData' BufferEventPolicy: required: - alwaysAddBufferEvent - bufferEventTitle - bufferEventType - commonData - eventMatcher - suppressWarnings type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' calendarId: type: integer format: int64 nullable: true bufferEventTitle: type: string eventMatcher: $ref: '#/components/schemas/EventMatcher' eventMatcherTags: nullable: true allOf: - $ref: '#/components/schemas/EventMatcherTags' bufferEventType: $ref: '#/components/schemas/BufferEventType' before: nullable: true allOf: - $ref: '#/components/schemas/BufferEventSettingsView' after: nullable: true allOf: - $ref: '#/components/schemas/BufferEventSettingsView' bufferEventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' alwaysAddBufferEvent: type: boolean suppressWarnings: type: boolean eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' availableTimeForTransparencyChangeMinutes: type: integer format: int64 nullable: true availableSlotsForTransparencyChange: type: integer format: int64 nullable: true type: type: string EventDateRange_1: type: object properties: dateMode: $ref: '#/components/schemas/DateMode' discriminator: propertyName: type mapping: FixedDateTimeRange: '#/components/schemas/FixedDateTimeRange_1' AllDayDateRange: '#/components/schemas/AllDayDateRange_1' oneOf: - $ref: '#/components/schemas/FixedDateTimeRange_2' - $ref: '#/components/schemas/AllDayDateRange_2' ReclaimTaskForCreate: 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 type: type: string SingleInteractionScopeRequest: type: object ProactiveGtdTasks: required: - tasks type: object properties: tasks: type: array items: $ref: '#/components/schemas/GtdTask' fetchedAt: type: string format: date-time nullable: true description: Latest proactive GTD task suggestions, with the time they were produced VersionData: type: object properties: syncStatus: nullable: true allOf: - $ref: '#/components/schemas/SyncStatus' ceVersion: type: integer format: int32 nullable: true ScheduleFeatures: type: string enum: - ATTENDEE_AVAILABILITY SessionInteractionUpdate.SchedulePolicies: required: - policies type: object properties: policies: type: array items: $ref: '#/components/schemas/SchedulePolicy' type: type: string ProposeSolutionRequest: required: - actor - proposedAction type: object properties: actor: $ref: '#/components/schemas/InteractionActor' proposedAction: $ref: '#/components/schemas/ScheduleAction' problem: nullable: true allOf: - $ref: '#/components/schemas/ScheduleProblem' proposeSolutionId: type: string nullable: true reason: type: string nullable: true originSessionId: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionId' type: type: string UpdateTaskStatusRequest: required: - actor - statusId - task type: object properties: actor: $ref: '#/components/schemas/InteractionActor' task: $ref: '#/components/schemas/GtdTask' statusId: type: string type: type: string SchedulePolicyTimePolicy: type: object discriminator: propertyName: type mapping: OneOff: '#/components/schemas/OneOff' ExistingTimeScheme: '#/components/schemas/ExistingTimeScheme' oneOf: - $ref: '#/components/schemas/ExistingTimeScheme' - $ref: '#/components/schemas/OneOff' LinearState: type: object properties: id: type: string name: type: string description: type: string nullable: true color: type: string type: $ref: '#/components/schemas/LinearWorkflowStateType' position: type: number format: float withId: type: string withName: type: string withDescription: type: string nullable: true withColor: type: string withType: $ref: '#/components/schemas/LinearWorkflowStateType' withPosition: type: number format: float equals: {} hashCode: type: integer format: int32 toString: type: string ConferenceData: type: object discriminator: propertyName: type mapping: MeetConferenceData: '#/components/schemas/MeetConferenceData' TeamsConferenceData: '#/components/schemas/TeamsConferenceData' ZoomConferenceData: '#/components/schemas/ZoomConferenceData' PendingConferenceData: '#/components/schemas/PendingConferenceData' oneOf: - $ref: '#/components/schemas/MeetConferenceData' - $ref: '#/components/schemas/TeamsConferenceData' - $ref: '#/components/schemas/ZoomConferenceData' - $ref: '#/components/schemas/PendingConferenceData' MeetConferenceData: required: - conferenceUrl - entryPoints type: object properties: conferenceUrl: type: string entryPoints: type: array items: $ref: '#/components/schemas/ConferenceEntryPoint' type: type: string RemoveScheduleAction: required: - actionRemoved type: object properties: actionRemoved: $ref: '#/components/schemas/ScheduleAction' type: type: string GtdClickUpTask: required: - completed - id - listId - priority - spaceId - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true labels: type: array nullable: true items: type: string listId: type: string spaceId: type: string possibleStatuses: type: array nullable: true items: $ref: '#/components/schemas/ClickUpTaskState' type: type: string GoogleEventData: required: - guestPermissions type: object properties: guestPermissions: $ref: '#/components/schemas/GuestPermissions' focusTimeProperties: nullable: true allOf: - $ref: '#/components/schemas/FocusTimeProperties' type: type: string ShieldsUpPatchRequestFields: type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataPatchRequestFields' calendarId: type: integer format: int64 eventTitle: type: string maxMeetingMinutesPerWeek: type: integer format: int32 maxMeetingMinutesPerDay: type: integer format: int32 thresholdType: $ref: '#/components/schemas/ShieldsUpThresholdType' minDurationMinutes: type: integer format: int32 nullable: true eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineModeView' autoDeclineMessage: type: string nullable: true eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' timePolicy: nullable: true allOf: - $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string EventKeySubjectView: required: - eventKey type: object properties: eventKey: $ref: '#/components/schemas/EventKey' type: type: string BufferEventProblem: required: - hash - policyId - policyType - problemType type: object properties: hash: type: string policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' problemType: $ref: '#/components/schemas/BufferProblemType' bufferEventType: nullable: true allOf: - $ref: '#/components/schemas/BufferEventType' eventKey: nullable: true allOf: - $ref: '#/components/schemas/EventKey' eventDateRange: nullable: true allOf: - $ref: '#/components/schemas/EventDateRange' eventZoneId: type: string nullable: true bufferedEventKey: nullable: true allOf: - $ref: '#/components/schemas/EventKey' bufferedEventDateRange: nullable: true allOf: - $ref: '#/components/schemas/EventDateRange' bufferedEventZoneId: type: string nullable: true type: type: string MutatePolicyAction: required: - mutation - policyId type: object properties: hash: type: string nullable: true mutation: $ref: '#/components/schemas/MutatePolicyRequestFields' policyId: type: string format: uuid type: type: string ScheduleProblem: type: object discriminator: propertyName: type mapping: ManualManagedEventEdit: '#/components/schemas/ManualEventEdit' ShieldsUpProblem: '#/components/schemas/ShieldsUpProblem' AwayFromIdealSlot: '#/components/schemas/AwayFromIdealSlot' BasicEventWarning: '#/components/schemas/BasicEventWarning' EventConflict: '#/components/schemas/EventConflict' AttendeeDeclined: '#/components/schemas/AttendeeDeclined' LacksRsvp: '#/components/schemas/LacksRsvp' ManualEventEdit: '#/components/schemas/ManualEventEdit' ManagedEventFieldProblem: '#/components/schemas/ManagedEventFieldProblem' BufferEventProblem: '#/components/schemas/BufferEventProblem' FocusTimeProblem: '#/components/schemas/FocusTimeProblem' LacksVideoConference: '#/components/schemas/LacksVideoConference' RecurrenceEnding: '#/components/schemas/RecurrenceEnding' AttendeeConflict: '#/components/schemas/AttendeeConflict' oneOf: - $ref: '#/components/schemas/AttendeeConflict' - $ref: '#/components/schemas/AttendeeDeclined' - $ref: '#/components/schemas/AwayFromIdealSlot' - $ref: '#/components/schemas/BasicEventWarning' - $ref: '#/components/schemas/BufferEventProblem' - $ref: '#/components/schemas/EventConflict' - $ref: '#/components/schemas/FocusTimeProblem' - $ref: '#/components/schemas/LacksRsvp' - $ref: '#/components/schemas/LacksVideoConference' - $ref: '#/components/schemas/ManagedEventFieldProblem' - $ref: '#/components/schemas/ManualEventEdit' - $ref: '#/components/schemas/RecurrenceEnding' - $ref: '#/components/schemas/ShieldsUpProblem' EventConflictCreateRequestFields: required: - commonData - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string LlmEventActions: required: - eventActions type: object properties: eventActions: type: object additionalProperties: type: array items: $ref: '#/components/schemas/ScheduleAction' type: type: string PriorityLevel: type: string enum: - P1 - P2 - P3 - P4 - PRIORITIZE - DEFAULT x-deprecated: - PRIORITIZE - DEFAULT McpApprovalScope: type: string enum: - SINGLE_REQUEST - SESSION LlmTokenUsageSource: type: string enum: - CHAT - SLACK_CHAT - DAILY_DIGEST - KEY_MOMENTS - PROACTIVE_GTD - AGENDA_CLASSIFIER - ZOOM_ASSETS - LINEAR_TASK_SYNC - TODOIST_TASK_SYNC - CLICKUP_TASK_SYNC - ASANA_TASK_SYNC - RECLAIM_TASK_SEARCH - JIRA_TASK_SYNC - NOTION_TASK_SYNC - EVENT_MATCHER - AI_SCHEDULER_WORKER - PRODUCT_HELP ReclaimEventTypeEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: $ref: '#/components/schemas/ReclaimEventType' type: type: string description: Matches by Reclaim event type TimeOfDayEventMatcher.TimeField: type: string enum: - START - END ExistingTimeScheme: required: - timeSchemeId type: object properties: timeSchemeId: type: string description: ID of an existing time scheme (e.g. the user's working hours). type: type: string DurationEventMatcher: required: - operator - predicateValue type: object properties: operator: $ref: '#/components/schemas/EventMatcherOperator' predicateValue: type: integer format: int64 type: type: string description: Matches by event duration in minutes LlmMode_1: type: object properties: type: nullable: true allOf: - $ref: '#/components/schemas/LlmMode.Type' tools: type: array nullable: true items: $ref: '#/components/schemas/InteractionTools' contexts: type: array nullable: true items: $ref: '#/components/schemas/LlmContext' parameters: type: object additionalProperties: true nullable: true structuredResponse: type: boolean nullable: true GtdGoogleTasksTask: required: - account - completed - id - list - priority - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true list: type: string account: type: string parentTask: type: string nullable: true type: type: string IgnoreScheduleProblemAction: required: - policyId - problem type: object properties: hash: type: string nullable: true policyId: type: string format: uuid problem: $ref: '#/components/schemas/ScheduleProblem' recurrenceEditType: nullable: true allOf: - $ref: '#/components/schemas/RecurrenceEditType' type: type: string LlmFunctionError: required: - message type: object properties: message: type: string type: type: string DailyHabitId: required: - id type: object properties: id: type: integer format: int64 type: type: string PolicyConfigChangedView: required: - changeType - commonData - policyId type: object properties: changeType: $ref: '#/components/schemas/PolicyConfigChanged.PolicyChangeType' policyId: type: string format: uuid commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' type: type: string HasAgenda.AgendaType: type: string enum: - TEXT - URL TeamsConferenceRequest: required: - enabled type: object properties: enabled: type: boolean type: type: string LlmScheduleAction: required: - action type: object properties: action: $ref: '#/components/schemas/ScheduleAction' type: type: string ConferenceBufferId: required: - id type: object properties: id: type: string type: type: string DayHours: required: - intervals type: object properties: intervals: type: array items: $ref: '#/components/schemas/LocalTimeInterval' startOfDay: type: string format: partial-time nullable: true endOfDay: type: string format: partial-time nullable: true LlmResponseRequest: required: - actor - llmType - request - response type: object properties: actor: $ref: '#/components/schemas/InteractionActor' llmType: $ref: '#/components/schemas/LlmResponseType' request: type: string response: type: string contextMetadata: properties: INTRO_PROMPT: $ref: '#/components/schemas/LlmContextMetadata' STYLE_GUIDE_PROMPT: $ref: '#/components/schemas/LlmContextMetadata' GLOSSARY: $ref: '#/components/schemas/LlmContextMetadata' SECURITY: $ref: '#/components/schemas/LlmContextMetadata' TIMEZONE: $ref: '#/components/schemas/LlmContextMetadata' LOCALE: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULING_WINDOW: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULING_HOURS: $ref: '#/components/schemas/LlmContextMetadata' MODE: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_WELCOME: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_RESOLVE_PROBLEMS: $ref: '#/components/schemas/LlmContextMetadata' MEETING_BLUEPRINT: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_FIND_A_TIME: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_ANALYSIS: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_BASIC_CALENDARING: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_RECURRENCES: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_GET_THINGS_DONE: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_PRODUCT_HELP: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_SUGGEST_TASKS: $ref: '#/components/schemas/LlmContextMetadata' ONBOARDING_WALKTHROUGH: $ref: '#/components/schemas/LlmContextMetadata' ONBOARDING_PROGRESS: $ref: '#/components/schemas/LlmContextMetadata' EVENT_CONFLICT_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' RSVP_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' ATTENDEE_CONFLICT_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' SPLIT_COVERAGE_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' COMPOUND_OPERATION_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' KEY_MOMENTS_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' DAILY_DIGEST_HERO_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' USER_SETTINGS: $ref: '#/components/schemas/LlmContextMetadata' CONNECTED_TASK_SOURCES: $ref: '#/components/schemas/LlmContextMetadata' CONNECTED_CALENDARS: $ref: '#/components/schemas/LlmContextMetadata' PREVIEW_MODE_STATE: $ref: '#/components/schemas/LlmContextMetadata' MCP_TOOL_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' MCP_ADDENDUM: $ref: '#/components/schemas/LlmContextMetadata' MCP_TOOL_CALLING_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' USER_MESSAGE: $ref: '#/components/schemas/LlmContextMetadata' GENERATED_CHAT_MESSAGE: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULE_CHANGE: $ref: '#/components/schemas/LlmContextMetadata' LLM_RESPONSE: $ref: '#/components/schemas/LlmContextMetadata' LLM_FUNCTION_CALL: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULE_ACTION_TAKEN: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULE_ACTION_REMOVED: $ref: '#/components/schemas/LlmContextMetadata' EVENT_FOCUSED: $ref: '#/components/schemas/LlmContextMetadata' GTD_TASK_EVENT: $ref: '#/components/schemas/LlmContextMetadata' PREVIEW_MODE_CHANGE: $ref: '#/components/schemas/LlmContextMetadata' MCP_APPROVAL_REQUESTED: $ref: '#/components/schemas/LlmContextMetadata' MCP_APPROVAL_RESULT: $ref: '#/components/schemas/LlmContextMetadata' UNDO_ACTION: $ref: '#/components/schemas/LlmContextMetadata' USER_CURRENT_TIME: $ref: '#/components/schemas/LlmContextMetadata' USER_MEMORY: $ref: '#/components/schemas/LlmContextMetadata' CALENDAR_SNAPSHOT: $ref: '#/components/schemas/LlmContextMetadata' CUSTOM_PROMPT: $ref: '#/components/schemas/LlmContextMetadata' RECOMMENDED_POLICIES: $ref: '#/components/schemas/LlmContextMetadata' nullable: true type: type: string AttendeeResponseStatusMatcher: required: - operator - values type: object properties: operator: $ref: '#/components/schemas/AttendeeResponseStatusMatcher.SetOperator' values: type: array items: $ref: '#/components/schemas/ResponseStatus' type: type: string description: Matches an attendee's RSVP response status LlmCalendarEvent.PendingChange: required: - status type: object properties: status: $ref: '#/components/schemas/LlmCalendarEvent.PendingChangeStatus' currentState: nullable: true allOf: - $ref: '#/components/schemas/LlmCalendarEvent' LlmScheduleActionOutput: required: - action type: object properties: action: $ref: '#/components/schemas/ScheduleAction' type: type: string LlmFocusStats: required: - analytics type: object properties: analytics: $ref: '#/components/schemas/LlmAnalyticsResult' type: type: string QuotaExceeded: required: - resetAt - source type: object properties: source: $ref: '#/components/schemas/LlmTokenUsageSource' resetAt: type: string format: date-time type: type: string LlmResponse: required: - llmType - request - response type: object properties: llmType: $ref: '#/components/schemas/LlmResponseType' request: type: string response: type: string contextMetadata: properties: INTRO_PROMPT: $ref: '#/components/schemas/LlmContextMetadata' STYLE_GUIDE_PROMPT: $ref: '#/components/schemas/LlmContextMetadata' GLOSSARY: $ref: '#/components/schemas/LlmContextMetadata' SECURITY: $ref: '#/components/schemas/LlmContextMetadata' TIMEZONE: $ref: '#/components/schemas/LlmContextMetadata' LOCALE: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULING_WINDOW: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULING_HOURS: $ref: '#/components/schemas/LlmContextMetadata' MODE: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_WELCOME: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_RESOLVE_PROBLEMS: $ref: '#/components/schemas/LlmContextMetadata' MEETING_BLUEPRINT: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_FIND_A_TIME: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_ANALYSIS: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_BASIC_CALENDARING: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_RECURRENCES: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_GET_THINGS_DONE: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_PRODUCT_HELP: $ref: '#/components/schemas/LlmContextMetadata' ACTIVITY_SUGGEST_TASKS: $ref: '#/components/schemas/LlmContextMetadata' ONBOARDING_WALKTHROUGH: $ref: '#/components/schemas/LlmContextMetadata' ONBOARDING_PROGRESS: $ref: '#/components/schemas/LlmContextMetadata' EVENT_CONFLICT_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' RSVP_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' ATTENDEE_CONFLICT_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' SPLIT_COVERAGE_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' COMPOUND_OPERATION_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' KEY_MOMENTS_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' DAILY_DIGEST_HERO_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' USER_SETTINGS: $ref: '#/components/schemas/LlmContextMetadata' CONNECTED_TASK_SOURCES: $ref: '#/components/schemas/LlmContextMetadata' CONNECTED_CALENDARS: $ref: '#/components/schemas/LlmContextMetadata' PREVIEW_MODE_STATE: $ref: '#/components/schemas/LlmContextMetadata' MCP_TOOL_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' MCP_ADDENDUM: $ref: '#/components/schemas/LlmContextMetadata' MCP_TOOL_CALLING_GUIDANCE: $ref: '#/components/schemas/LlmContextMetadata' USER_MESSAGE: $ref: '#/components/schemas/LlmContextMetadata' GENERATED_CHAT_MESSAGE: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULE_CHANGE: $ref: '#/components/schemas/LlmContextMetadata' LLM_RESPONSE: $ref: '#/components/schemas/LlmContextMetadata' LLM_FUNCTION_CALL: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULE_ACTION_TAKEN: $ref: '#/components/schemas/LlmContextMetadata' SCHEDULE_ACTION_REMOVED: $ref: '#/components/schemas/LlmContextMetadata' EVENT_FOCUSED: $ref: '#/components/schemas/LlmContextMetadata' GTD_TASK_EVENT: $ref: '#/components/schemas/LlmContextMetadata' PREVIEW_MODE_CHANGE: $ref: '#/components/schemas/LlmContextMetadata' MCP_APPROVAL_REQUESTED: $ref: '#/components/schemas/LlmContextMetadata' MCP_APPROVAL_RESULT: $ref: '#/components/schemas/LlmContextMetadata' UNDO_ACTION: $ref: '#/components/schemas/LlmContextMetadata' USER_CURRENT_TIME: $ref: '#/components/schemas/LlmContextMetadata' USER_MEMORY: $ref: '#/components/schemas/LlmContextMetadata' CALENDAR_SNAPSHOT: $ref: '#/components/schemas/LlmContextMetadata' CUSTOM_PROMPT: $ref: '#/components/schemas/LlmContextMetadata' RECOMMENDED_POLICIES: $ref: '#/components/schemas/LlmContextMetadata' nullable: true type: type: string MonthlyDay: type: object properties: dayOfMonth: type: integer description: A specific day of the month (1-31, or -1 for last day) format: int32 dayOfWeek: description: Day of the week for relative monthly days (e.g. TUESDAY). Use with week. nullable: true allOf: - $ref: '#/components/schemas/DayOfWeek' week: type: integer description: Which week of the month (1-4, or -1 for last). Use with dayOfWeek. format: int32 description: 'Day of the month. Use EITHER dayOfMonth for a fixed day, OR dayOfWeek + week for a relative day. Examples: dayOfMonth=15 for "the 15th", or dayOfWeek=TUESDAY + week=3 for "3rd Tuesday".' ScheduleActionWithEvents: required: - action type: object properties: action: $ref: '#/components/schemas/ScheduleAction' problem: nullable: true allOf: - $ref: '#/components/schemas/ScheduleProblem' availabilityInfo: nullable: true allOf: - $ref: '#/components/schemas/SlotAvailability' GtdJiraTaskForCreate: 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 projectKey: type: string nullable: true issueTypeId: type: string nullable: true labels: type: array nullable: true items: type: string assigneeId: type: string nullable: true parentKey: type: string nullable: true type: type: string SessionInteractionUpdate.BackgroundActionsTaken: required: - actions type: object properties: actions: type: array items: $ref: '#/components/schemas/ScheduleAction' type: type: string SchedulePolicyCommonDataCreateRequestFields: required: - automationType - description - status - title type: object properties: automationType: $ref: '#/components/schemas/AutomationType' status: $ref: '#/components/schemas/PolicyStatus' title: type: string description: type: string sourceTemplateId: $ref: '#/components/schemas/PolicyTemplateId' SmartMeetingCreateRequestFields: required: - commonData - eventMatcher - minDurationMinutes - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' eventMatcher: $ref: '#/components/schemas/EventMatcher' idealDurationMinutes: type: integer format: int64 minDurationMinutes: type: integer format: int64 timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' suppressWarnings: type: boolean rescheduleHourSource: nullable: true allOf: - $ref: '#/components/schemas/RescheduleHourSource' type: type: string GtdLinearTask: required: - completed - id - priority - title type: object properties: id: type: string title: type: string description: type: string nullable: true priority: $ref: '#/components/schemas/PriorityLevel' status: type: string nullable: true link: nullable: true allOf: - $ref: '#/components/schemas/GtdTaskLink' due: type: string format: date-time nullable: true start: type: string format: date-time nullable: true completed: type: boolean estimateMinutes: type: integer format: int32 nullable: true labels: type: array nullable: true items: type: string team: type: string nullable: true projectName: type: string nullable: true cycleNumber: type: integer format: int32 nullable: true cycleStart: type: string nullable: true cycleEnd: type: string nullable: true state: type: string nullable: true creator: type: string nullable: true assignee: type: string nullable: true possibleStatuses: type: array nullable: true items: $ref: '#/components/schemas/LinearState' type: type: string EventFocusedRequest: required: - actor - eventKey - focusType type: object properties: actor: $ref: '#/components/schemas/InteractionActor' eventKey: $ref: '#/components/schemas/EventKey' focusType: $ref: '#/components/schemas/InteractionFocusType' type: type: string AddBufferEventAction: required: - bufferEventType - bufferedEventKey - end - eventKey - policyId - start - title type: object properties: hash: type: string nullable: true policyId: type: string format: uuid bufferedEventKey: $ref: '#/components/schemas/EventKey' eventKey: $ref: '#/components/schemas/EventKey' title: type: string start: type: string format: date-time end: type: string format: date-time bufferEventType: $ref: '#/components/schemas/BufferEventType' bufferEventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' bufferEventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' type: type: string SchedulePolicyCommonDataPatchRequestFields: type: object properties: automationType: $ref: '#/components/schemas/AutomationType' status: $ref: '#/components/schemas/PolicyStatus' title: type: string description: type: string AutoDeclineModeView: type: string enum: - DECLINE_NONE - DECLINE_ALL_CONFLICTING_INVITATIONS - DECLINE_ONLY_NEW_CONFLICTING_INVITATIONS LlmCalendarEvent.PendingChangeStatus: type: string enum: - ADDED - MODIFIED x-type: String QuotaExceededRequest: required: - resetAt - source type: object properties: source: $ref: '#/components/schemas/LlmTokenUsageSource' resetAt: type: string format: date-time type: type: string MergeableEvent: required: - calendarId - eventId - referenceType - shouldMerge type: object properties: calendarId: type: integer format: int64 eventId: type: string referenceType: $ref: '#/components/schemas/MergeableEventView.MergeType' shouldMerge: type: boolean LacksVideoConference: required: - lacksVideoConferenceEvent - policyId - policyType type: object properties: hash: type: string nullable: true policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' lacksVideoConferenceEvent: $ref: '#/components/schemas/EventKey' lacksVideoConferenceRecurringEventId: type: string nullable: true relatedFields: type: array nullable: true items: $ref: '#/components/schemas/CalendarEventField' type: type: string SessionClosedView: required: - applied type: object properties: closedSessionId: nullable: true allOf: - $ref: '#/components/schemas/InteractionSessionIdView' applied: type: boolean type: type: string AgentTodoListUpdatedRequest.ItemRequest: required: - description - key - status type: object properties: key: type: string description: type: string status: $ref: '#/components/schemas/AgentTodo.Status' LlmFunctionCallErrorOutput: required: - message type: object properties: message: type: string type: type: string ShieldsUpCreateRequestFields: required: - calendarId - commonData - eventTitle - maxMeetingMinutesPerDay - maxMeetingMinutesPerWeek - thresholdType - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' calendarId: type: integer format: int64 eventTitle: type: string maxMeetingMinutesPerWeek: type: integer format: int32 maxMeetingMinutesPerDay: type: integer format: int32 thresholdType: $ref: '#/components/schemas/ShieldsUpThresholdType' minDurationMinutes: type: integer format: int32 nullable: true eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineModeView' autoDeclineMessage: type: string nullable: true eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string AttendeeCalendarVisibility: type: string enum: - NONE - FREE_BUSY - DETAILS - FULL - RECLAIM AttendeeCountEventMatcher.AttendeeType: type: string enum: - ANY - REQUIRED - OPTIONAL FreeBusy: type: string enum: - FREE - BUSY UpdateGtdTaskStatusAction: required: - statusId - task type: object properties: hash: type: string nullable: true task: $ref: '#/components/schemas/GtdTask' statusId: type: string type: type: string ManagedEventFieldProblem: required: - eventKey - 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' relatedFields: type: array items: $ref: '#/components/schemas/CalendarEventField' type: type: string McpApprovalResultView: 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 SmartMeetingPolicy: required: - commonData - eventMatcher - minDurationMinutes - suppressWarnings - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' eventMatcher: $ref: '#/components/schemas/EventMatcher' idealDurationMinutes: type: integer format: int64 nullable: true minDurationMinutes: type: integer format: int64 timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' suppressWarnings: type: boolean rescheduleHourSource: nullable: true allOf: - $ref: '#/components/schemas/RescheduleHourSource' type: type: string ReminderType: type: string enum: - UI_NOTIFICATION - EMAIL UpdateEventAction: required: - calendarId - eventId - policyId type: object properties: hash: type: string nullable: true policyId: type: string format: uuid calendarId: type: integer format: int64 eventId: type: string dateRange: nullable: true allOf: - $ref: '#/components/schemas/EventDateRange' title: type: string nullable: true 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 nullable: true items: $ref: '#/components/schemas/EventAttendee' notificationMessage: type: string nullable: true notificationRequest: nullable: true allOf: - $ref: '#/components/schemas/EntryNotificationRequest' conferenceRequest: nullable: true allOf: - $ref: '#/components/schemas/ConferenceRequest' recurrence: nullable: true allOf: - $ref: '#/components/schemas/ReclaimRecurrence' recurrenceEditType: nullable: true allOf: - $ref: '#/components/schemas/RecurrenceEditType' guestsCanModify: type: boolean nullable: true guestsCanInviteOthers: type: boolean nullable: true guestsCanSeeOtherGuests: type: boolean nullable: true priority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' entryStatus: nullable: true allOf: - $ref: '#/components/schemas/EntryStatus' assistantData: nullable: true allOf: - $ref: '#/components/schemas/AssistantData_1' type: type: string SchedulePolicyCommonData: required: - automationType - deleted - description - id - index - policyScope - status - title type: object properties: id: type: string format: uuid index: type: integer format: int32 status: $ref: '#/components/schemas/PolicyStatus' automationType: $ref: '#/components/schemas/AutomationType' title: type: string description: type: string sourceTemplateId: nullable: true allOf: - $ref: '#/components/schemas/PolicyTemplateId' deleted: type: boolean policyScope: $ref: '#/components/schemas/PolicyScope' priority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' 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' ShieldsUpProblemType: type: string enum: - SHIELD_EVENT_NEEDED - SHIELD_EVENT_NEEDS_UPDATE - SHIELD_EVENT_NOT_NEEDED - SHIELD_EVENT_MISMATCH LlmFunctionCallUnknownOutput: required: - data type: object properties: data: {} type: type: string SessionInteractionUpdate.ActionsTaken: required: - actions type: object properties: actions: type: array items: $ref: '#/components/schemas/ScheduleAction' type: type: string LongSummaryStatistics: type: object properties: count: type: integer format: int64 sum: type: integer format: int64 min: type: integer format: int64 max: type: integer format: int64 average: type: number format: double LlmContactList: required: - contacts type: object properties: contacts: type: array items: $ref: '#/components/schemas/LlmContact' type: type: string PolicyTemplateId: type: string enum: - HABIT_LUNCH - HABIT_MORNING_CATCHUP - HABIT_AFTERNOON_CATCHUP - HABIT_EXERCISE - HABIT_LEARNING - HABIT_MORNING_DEEP_WORK - HABIT_MEDITATION - HABIT_WALK - HABIT_WEEKLY_PLANNING - HABIT_WEEKLY_STATUS_REPORT - HABIT_MONTHLY_METRICS_REVIEW - HABIT_STRATEGIC_PLANNING - HABIT_SPRINT_PLANNING - HABIT_BACKLOG_REVIEW - HABIT_PRODUCT_REQUIREMENTS - HABIT_CUSTOMER_FEEDBACK - HABIT_CUSTOMER_RESEARCH - HABIT_CODING - HABIT_CODE_REVIEW - HABIT_DOCUMENTATION - HABIT_PROJECT_COORDINATION - HABIT_ESCALATIONS - HABIT_PIPELINE_REVIEW - HABIT_CUSTOM - HABIT_CUSTOM_PERSONAL - BUFFER_DECOMPRESS - BUFFER_TRAVEL_FLIGHT - BUFFER_TRAVEL_REMOTE - BUFFER_MEETING_PREP - EVENT_WARNING_RSVP - EVENT_WARNING_VIDEO_CONFERENCE - SHIELDS_UP_REACTIVE_BASIC - FOCUS_TIME_PROACTIVE_BASIC - LACKS_RSVP - LACKS_VIDEO_CONFERENCE - RESOURCE_DECLINED - SMART_MEETING_CUSTOM - ATTENDEE_AVAILABILITY - EVENT_CONFLICT - EVENT_CONFLICT_DEMO_ONLY - AGENDA_REQUIRED_DEMO_ONLY - MIGRATED_FROM_1_0 x-enum-descriptions: - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - '' - Internal use only. Cannot be provided via API. x-deprecated: - EVENT_WARNING_RSVP - EVENT_WARNING_VIDEO_CONFERENCE - EVENT_CONFLICT_DEMO_ONLY - AGENDA_REQUIRED_DEMO_ONLY StartTask: required: - task type: object properties: task: $ref: '#/components/schemas/GtdTask' type: type: string CalendarSyncSourceData: required: - description - title - url type: object properties: url: type: string title: type: string description: type: string FocusTimePolicy: required: - calendarId - commonData - eventTitle - timePolicy - weeklyGoalMinutes type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' calendarId: type: integer format: int64 eventTitle: type: string weeklyGoalMinutes: type: integer format: int32 idealDurationPerDayMinutes: type: integer format: int32 nullable: true maxDurationPerDayMinutes: type: integer format: int32 nullable: true minEventDurationMinutes: type: integer format: int32 nullable: true maxEventDurationMinutes: type: integer format: int32 nullable: true eventDescription: type: string nullable: true eventVisibility: nullable: true allOf: - $ref: '#/components/schemas/Visibility' eventReminders: nullable: true allOf: - $ref: '#/components/schemas/Reminders' eventTransparency: nullable: true allOf: - $ref: '#/components/schemas/Transparency' autoDeclineMode: nullable: true allOf: - $ref: '#/components/schemas/AutoDeclineModeView' autoDeclineMessage: type: string nullable: true eventCategory: nullable: true allOf: - $ref: '#/components/schemas/EventCategory' eventPriority: nullable: true allOf: - $ref: '#/components/schemas/PriorityLevel' eventColor: nullable: true allOf: - $ref: '#/components/schemas/EntryColor' timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' type: type: string MatchingAttendeeCountEventMatcher: required: - attendeeMatcher - count - operator type: object properties: attendeeMatcher: $ref: '#/components/schemas/AttendeeMatcher' operator: $ref: '#/components/schemas/EventMatcherOperator' count: type: integer format: int32 type: type: string description: Matches by count of attendees satisfying a predicate, compared with an operator AttendeeIntMatcher.IntField: type: string enum: - ADDITIONAL_GUESTS LlmFunctionCallOutput: type: object discriminator: propertyName: type mapping: LlmFocusStatsOutput: '#/components/schemas/LlmFocusStatsOutput' LlmScheduleActionOutput: '#/components/schemas/LlmScheduleActionOutput' LlmTaskListOutput: '#/components/schemas/LlmTaskListOutput' LlmSuggestedTimeListOutput: '#/components/schemas/LlmSuggestedTimeListOutput' LlmEventActionsOutput: '#/components/schemas/LlmEventActionsOutput' LlmTaskCreatedOutput: '#/components/schemas/LlmTaskCreatedOutput' LlmProposedSolutionOutput: '#/components/schemas/LlmProposedSolutionOutput' LlmFunctionCallUnknownOutput: '#/components/schemas/LlmFunctionCallUnknownOutput' LlmModeOutput: '#/components/schemas/LlmModeOutput' LlmContactListOutput: '#/components/schemas/LlmContactListOutput' LlmFunctionCallErrorOutput: '#/components/schemas/LlmFunctionCallErrorOutput' LlmCalendarEventListOutput: '#/components/schemas/LlmCalendarEventListOutput' oneOf: - $ref: '#/components/schemas/LlmScheduleActionOutput' - $ref: '#/components/schemas/LlmProposedSolutionOutput' - $ref: '#/components/schemas/LlmCalendarEventListOutput' - $ref: '#/components/schemas/LlmContactListOutput' - $ref: '#/components/schemas/LlmSuggestedTimeListOutput' - $ref: '#/components/schemas/LlmEventActionsOutput' - $ref: '#/components/schemas/LlmFocusStatsOutput' - $ref: '#/components/schemas/LlmModeOutput' - $ref: '#/components/schemas/LlmTaskListOutput' - $ref: '#/components/schemas/LlmTaskCreatedOutput' - $ref: '#/components/schemas/LlmFunctionCallErrorOutput' - $ref: '#/components/schemas/LlmFunctionCallUnknownOutput' SyncStatus: type: string enum: - PENDING - SYNCED - RETRYING - FATAL_UNKNOWN ScheduleAction: type: object discriminator: propertyName: type mapping: AddFocusEventAction: '#/components/schemas/AddFocusEventAction' FindATimeAction: '#/components/schemas/FindANewTimeAction' AddEventAction: '#/components/schemas/AddEventAction' CancelEventAction: '#/components/schemas/CancelEventAction' ManualEditEventAction: '#/components/schemas/ManualEditEventAction' ManagedEventLockAction: '#/components/schemas/EventLockAction' RescheduleEventAndCancelOthersAction: '#/components/schemas/RescheduleEventAndCancelOthersAction' CompleteGtdTaskAction: '#/components/schemas/CompleteGtdTaskAction' IgnoreScheduleProblemAction: '#/components/schemas/IgnoreScheduleProblemAction' IgnoreEventKeyAction: '#/components/schemas/IgnoreEventKeyAction' MutatePolicyAction: '#/components/schemas/MutatePolicyAction' AddVideoConferenceAction: '#/components/schemas/AddVideoConferenceAction' UncompleteGtdTaskAction: '#/components/schemas/UncompleteGtdTaskAction' LogTaskAction: '#/components/schemas/LogTaskAction' UpdateEventAction: '#/components/schemas/UpdateEventAction' AddGoogleEventAction: '#/components/schemas/AddEventAction' RescheduleEventAction: '#/components/schemas/RescheduleEventAction' EventLockAction: '#/components/schemas/EventLockAction' RsvpEventAction: '#/components/schemas/RsvpEventAction' AddBufferEventAction: '#/components/schemas/AddBufferEventAction' UpdateGtdTaskStatusAction: '#/components/schemas/UpdateGtdTaskStatusAction' CreateGtdTaskAction: '#/components/schemas/CreateGtdTaskAction' allOf: - $ref: '#/components/schemas/LogContext' oneOf: - $ref: '#/components/schemas/AddEventAction' - $ref: '#/components/schemas/AddFocusEventAction' - $ref: '#/components/schemas/UpdateEventAction' - $ref: '#/components/schemas/AddBufferEventAction' - $ref: '#/components/schemas/CancelEventAction' - $ref: '#/components/schemas/IgnoreScheduleProblemAction' - $ref: '#/components/schemas/IgnoreEventKeyAction' - $ref: '#/components/schemas/EventLockAction' - $ref: '#/components/schemas/MutatePolicyAction' - $ref: '#/components/schemas/ManualEditEventAction' - $ref: '#/components/schemas/FindANewTimeAction' - $ref: '#/components/schemas/RescheduleEventAction' - $ref: '#/components/schemas/RescheduleEventAndCancelOthersAction' - $ref: '#/components/schemas/RsvpEventAction' - $ref: '#/components/schemas/AddVideoConferenceAction' - $ref: '#/components/schemas/LogTaskAction' - $ref: '#/components/schemas/CompleteGtdTaskAction' - $ref: '#/components/schemas/UncompleteGtdTaskAction' - $ref: '#/components/schemas/UpdateGtdTaskStatusAction' - $ref: '#/components/schemas/CreateGtdTaskAction' PolicyConfigChangedRequest: required: - actor - changeType - commonData - policyId type: object properties: actor: $ref: '#/components/schemas/InteractionActor' changeType: $ref: '#/components/schemas/PolicyConfigChanged.PolicyChangeType' policyId: $ref: '#/components/schemas/SchedulePolicyId' commonData: $ref: '#/components/schemas/SchedulePolicyCommonData' type: type: string HabitCreateRequestFields: required: - commonData - eventMatcher - minDurationMinutes - noAvailabilityAction - proactivelyUseIdealTime - timePolicy type: object properties: commonData: $ref: '#/components/schemas/SchedulePolicyCommonDataCreateRequestFields' eventMatcher: $ref: '#/components/schemas/EventMatcher' idealDurationMinutes: type: integer description: Preferred duration in minutes. Reclaim tries this first, falling back to minDurationMinutes. format: int64 minDurationMinutes: type: integer description: Minimum acceptable duration in minutes. format: int64 availableTimeForTransparencyChangeMinutes: type: integer description: Minutes before event start to switch the calendar entry from free to busy. Null keeps the event busy from creation. format: int64 availableSlotsForTransparencyChange: type: integer description: Number of alternative time slots to hold as free before committing to one. Null means only the best slot is held. format: int64 autoBusyBeforeStartMinutes: type: integer description: Minutes before start to force the event to show as busy, even if other slots are still held. Null disables. format: int64 timePolicy: $ref: '#/components/schemas/SchedulePolicyTimePolicy' proactivelyUseIdealTime: type: boolean description: When true, Reclaim proactively schedules at the ideal duration even when no conflict forces rescheduling. noAvailabilityAction: description: 'What to do when no available slot exists: CANCEL (remove the event) or WARNING (keep it and surface a warning).' allOf: - $ref: '#/components/schemas/ManagedEventNoAvailabilityAction' suppressWarnings: type: boolean description: When true, suppresses all warnings/problems detected by this policy. type: type: string EventColor: type: string enum: - NONE - LAVENDER - SAGE - GRAPE - FLAMINGO - BANANA - TANGERINE - PEACOCK - GRAPHITE - BLUEBERRY - BASIL - TOMATO ZoomConferenceData: required: - conferenceUrl type: object properties: conferenceUrl: type: string entryPoints: type: array nullable: true items: $ref: '#/components/schemas/ConferenceEntryPoint' type: type: string GuestPermissions: required: - guestsCanInviteOthers - guestsCanModify - guestsCanSeeOtherGuests type: object properties: guestsCanModify: type: boolean guestsCanInviteOthers: type: boolean guestsCanSeeOtherGuests: type: boolean AttendeeConflict: required: - busyAttendeeEmails - event - policyId - policyType type: object properties: hash: type: string nullable: true policyId: type: string format: uuid policyType: $ref: '#/components/schemas/SchedulePolicyType' event: $ref: '#/components/schemas/EventKey' recurringEventId: type: string nullable: true busyAttendeeEmails: type: array items: type: string relatedFields: type: array nullable: true items: $ref: '#/components/schemas/CalendarEventField' type: type: string ChangeScheduleWindowRequest: required: - actor - scheduleWindow - timezone type: object properties: actor: $ref: '#/components/schemas/InteractionActor' scheduleWindow: $ref: '#/components/schemas/ScheduleWindow' timezone: type: string type: type: string ShieldsUpEventData_1: required: - policyId type: object properties: policyId: $ref: '#/components/schemas/SchedulePolicyId' FeatureReady: required: - feature type: object properties: feature: $ref: '#/components/schemas/ScheduleFeatures' type: type: string LlmModeSwitchRequest: required: - llmMode type: object properties: llmMode: $ref: '#/components/schemas/LlmMode.Type' accountId: type: string nullable: true type: type: string ScheduleWindow: required: - end - start type: object properties: start: type: string format: date end: type: string format: date LlmThinkingIdView: required: - id type: object properties: id: type: string type: type: string OnboardingChecklistStep: required: - description - id - status - title - triggerMessage type: object properties: id: $ref: '#/components/schemas/OnboardingStep' title: type: string description: type: string triggerMessage: type: string actionUrl: type: string nullable: true actionLabel: type: string nullable: true status: $ref: '#/components/schemas/OnboardingStepStatus' LlmAttendeeAvailability: required: - busy - email - movabilityScore - reason - visibility type: object properties: email: type: string visibility: $ref: '#/components/schemas/LlmCalendarVisibility' busy: type: boolean movabilityScore: type: integer format: int32 reason: $ref: '#/components/schemas/ScoringReason' title: type: string nullable: true securitySchemes: Authorization: type: oauth2