Reclaim.ai moment API
The moment API from Reclaim.ai — 2 operation(s) for moment.
The moment API from Reclaim.ai — 2 operation(s) for moment.
openapi: 3.0.1
info:
title: Reclaim account-time-schemes moment 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: moment
paths:
/api/moment:
get:
tags:
- moment
operationId: get_3
responses:
'200':
description: get_3 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/Moment'
security:
- Authorization: []
/api/moment/next:
get:
tags:
- moment
operationId: next
responses:
'200':
description: next 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/Moment'
security:
- Authorization: []
components:
schemas:
AssistStatus:
type: string
enum:
- CONTROLLED
- RELEASED
- ARCHIVED
EventAttendee:
required:
- email
type: object
properties:
email:
type: string
self:
type: boolean
nullable: true
displayName:
type: string
nullable: true
responseStatus:
nullable: true
allOf:
- $ref: '#/components/schemas/ResponseStatus'
comment:
type: string
nullable: true
optional:
type: boolean
nullable: true
additionalGuests:
type: integer
format: int32
nullable: true
organizer:
type: boolean
nullable: true
resource:
type: boolean
nullable: true
EventSourceDetails:
required:
- base64Id
- calendarId
- description
- etag
- eventId
- eventKey
- title
- url
- writable
type: object
properties:
writable:
type: boolean
calendarId:
type: integer
format: int64
eventId:
type: string
etag:
type: string
eventKey:
$ref: '#/components/schemas/EventKey'
base64Id:
type: string
url:
type: string
title:
type: string
description:
type: string
Moment:
required:
- additionalEvents
- now
type: object
properties:
event:
nullable: true
allOf:
- $ref: '#/components/schemas/Event'
additionalEvents:
type: array
items:
$ref: '#/components/schemas/Event'
now:
type: string
format: date-time
description: 'Reflects what the current moment of time is for a user. Payload includes the "primary" active event (or none, if nothing is active) as well as any additional events that might also be in flight but are deemed by Reclaim as secondary/less important. Additionally, if the active event is a Reclaim-managed assignment (ex: task, habit, smart 1:1), it is also included in the payload. When there are multiple active events, the logic for what is considered "primary" vs "secondary" is an internal implementation, but generally speaking it should match the same logic that the Slack integration uses for determining which status to display when there are overlaps.'
GoogleCalendarEventMetadata:
required:
- guestsCanInviteOthers
- guestsCanModify
- guestsCanSeeOtherGuests
type: object
properties:
guestsCanModify:
type: boolean
guestsCanInviteOthers:
type: boolean
guestsCanSeeOtherGuests:
type: boolean
EventKey:
required:
- calendarId
- eventId
type: object
properties:
eventId:
type: string
calendarId:
type: integer
format: int64
EventSubType:
type: string
enum:
- ONE_ON_ONE
- STAFF_MEETING
- OP_REVIEW
- EXTERNAL
- IDEATION
- FOCUS
- PRODUCTIVITY
- TRAVEL
- FLIGHT
- TRAIN
- RECLAIM
- VACATION
- HEALTH
- ERRAND
- OTHER_PERSONAL
- UNKNOWN
MergeDetails:
required:
- key
- sourceCalendarId
- sourceReclaimCalendarId
- type
type: object
properties:
key:
type: string
type:
$ref: '#/components/schemas/MergeDetails.EventType'
sourceCalendarId:
type: string
nullable: true
sourceReclaimCalendarId:
type: integer
format: int64
nullable: true
EventResponseStatus:
type: string
enum:
- None
- Organizer
- Accepted
- Declined
- TentativelyAccepted
- NotResponded
x-enum-varnames:
- None
- Organizer
- Accepted
- Declined
- TentativelyAccepted
- NotResponded
Event:
required:
- allocatedTimeChunks
- assist
- calendarId
- categoryOverride
- description
- etag
- eventEnd
- eventId
- eventStart
- key
- location
- meetingType
- organizer
- priority
- recurrence
- recurrenceMax
- recurringEventId
- requiresTravel
- rsvpStatus
- sourceDetails
- status
- subType
- timeChunks
- title
- titleSeenByOthers
- type
- updated
type: object
properties:
googleMetadata:
description: Returns Google Calendar-specific metadata that doesn't fit into a common event model, but that services and UI might be interested in introspecting. If the event isn't a Google Calendar event, this method will return an empty value.
nullable: true
allOf:
- $ref: '#/components/schemas/GoogleCalendarEventMetadata'
schedulingLinkId:
type: string
nullable: true
schedulingLinkMeetingId:
type: string
nullable: true
underAssistControl:
type: boolean
assist:
$ref: '#/components/schemas/AssistDetails'
reclaimEventType:
$ref: '#/components/schemas/ReclaimEventType'
personalSync:
type: boolean
reclaimManaged:
type: boolean
description: Reclaim likely created and manages this event but important to note that this event might not be organized by this user so very important to check also [isReclaimManagedAndSelfOrganized](#isReclaimManagedAndSelfOrganized) if the calling class would do something different for a Reclaim managed event if the person attached to this event is an attendee, rather than the organizer.
reclaimManagedAndSelfOrganized:
type: boolean
description: Important to note that there are Reclaim "managed" events like smart meetings and scheduling link events where the user associated with the event is *not* the organizer, and as a result, we may need to do things like color coding or scoring.
eventId:
type: string
calendarId:
type: integer
format: int64
key:
$ref: '#/components/schemas/EventKey'
priority:
$ref: '#/components/schemas/PriorityLevel'
prioritySource:
nullable: true
allOf:
- $ref: '#/components/schemas/PrioritySource'
title:
type: string
titleSeenByOthers:
type: string
location:
type: string
onlineMeetingUrlRaw:
type: string
onlineMeetingUrl:
type: string
description:
type: string
descriptionOmitted:
type: boolean
titleTruncated:
type: boolean
sourceDetails:
$ref: '#/components/schemas/EventSourceDetails'
mergeDetails:
$ref: '#/components/schemas/MergeDetails'
status:
$ref: '#/components/schemas/EventStatus'
published:
type: boolean
type:
$ref: '#/components/schemas/EventType'
subType:
$ref: '#/components/schemas/EventSubType'
meetingType:
$ref: '#/components/schemas/MeetingType'
categoryOverride:
$ref: '#/components/schemas/EventCategory'
eventStart:
type: string
format: date-time
eventEnd:
type: string
format: date-time
timeChunks:
type: integer
format: int32
allocatedTimeChunks:
type: integer
format: int32
recurringEventId:
type: string
updated:
type: string
format: date-time
recurringException:
type: boolean
recurrence:
type: string
recurrenceMax:
type: string
format: date-time
recurring:
type: boolean
recurringInstance:
type: boolean
private:
type: boolean
public:
type: boolean
color:
$ref: '#/components/schemas/EventColor'
organizer:
type: string
numAttendees:
type: integer
format: int32
attendees:
type: array
items:
$ref: '#/components/schemas/EventAttendee'
free:
type: boolean
category:
$ref: '#/components/schemas/EventCategory'
rsvpStatus:
$ref: '#/components/schemas/EventResponseStatus'
requiresTravel:
type: boolean
conferenceCall:
type: boolean
etag:
type: string
nullable: true
smartSeriesId:
type: integer
format: int64
nullable: true
sourceEventType:
$ref: '#/components/schemas/PlatformEventType'
version:
type: string
manuallyStarted:
type: boolean
inheritedExternalId:
type: string
description: 'Retrieves the inherited external ID for the event. The inherited external ID is used in scenarios where a non-pipeline user is invited to an event created by Reclaim on a pipeline user''s Microsoft calendar.
In such cases, the inherited external ID represents the "external-id" of the organizer''s event,
which is crucial for supporting event ID parsing. This mechanism ensures compatibility with Reclaim''s
existing logic for detecting and parsing event information, even when the event ID cannot be directly
relied upon (e.g., in Microsoft calendars).'
nullable: true
EventColor:
type: string
enum:
- NONE
- LAVENDER
- SAGE
- GRAPE
- FLAMINGO
- BANANA
- TANGERINE
- PEACOCK
- GRAPHITE
- BLUEBERRY
- BASIL
- TOMATO
PrioritySource:
type: string
enum:
- MANUAL
- AI
- RULES
Colorized:
type: object
properties:
color:
$ref: '#/components/schemas/EventColor'
AssistDetails:
type: object
properties:
type:
$ref: '#/components/schemas/AssistType'
customHabit:
type: boolean
smartSeries:
type: boolean
focus:
type: boolean
habitOrTask:
type: boolean
task:
type: boolean
conferenceBuffer:
type: boolean
travelBuffer:
type: boolean
status:
$ref: '#/components/schemas/AssistStatus'
travelNewEventId:
type: string
description: The source event id for a travel assist event.
nullable: true
conferenceEventId:
type: string
description: The source event id for a conference (decompression time) event.
nullable: true
lastControlledUpdate:
type: string
format: date-time
lastControlledHash:
type: integer
format: int32
defended:
type: boolean
pinned:
type: boolean
lockState:
nullable: true
allOf:
- $ref: '#/components/schemas/LockState'
dailyHabitId:
type: integer
format: int64
nullable: true
seriesLineageId:
type: integer
format: int64
nullable: true
seriesId:
type: integer
format: int64
nullable: true
taskId:
type: integer
format: int64
nullable: true
taskIndex:
type: integer
format: int32
nullable: true
policyOverride:
nullable: true
allOf:
- $ref: '#/components/schemas/AssistPolicyOverride'
lastManualAdjustment:
type: string
format: date-time
recurringAssignmentType:
$ref: '#/components/schemas/RecurringAssignmentType'
eventType:
$ref: '#/components/schemas/ReclaimEventType'
manuallyStarted:
type: boolean
focusId:
type: integer
format: int64
nullable: true
assistReferenceValid:
type: boolean
description: This entity maps to the assist_events table.
EventCategory:
$ref: '#/components/schemas/Colorized'
EventStatus:
type: string
enum:
- PUBLISHED
- CANCELLED
EventType:
type: string
enum:
- MEETING
- WORK
- LOGISTICS
- PERSONAL
RecurringAssignmentType:
type: string
enum:
- ONE_ON_ONE
- DAILY_HABIT
- TASK
LockState:
type: string
enum:
- MANUALLY_LOCKED
- ADJUSTED
- UPCOMING_WINDOW
- MANUALLY_UNLOCKED
- DELETED
- DECLINED
- IN_THE_PAST
ResponseStatus:
type: string
enum:
- DECLINED
- NEEDS_ACTION
- TENTATIVE
- ACCEPTED
- UNKNOWN
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
AssistPolicyOverride:
required:
- durationMax
- durationMin
- forceDefend
- idealTime
- windowEnd
- windowStart
type: object
properties:
windowStart:
type: string
format: partial-time
idealTime:
type: string
format: partial-time
windowEnd:
type: string
format: partial-time
durationMin:
type: integer
format: int32
durationMax:
type: integer
format: int32
forceDefend:
type: boolean
MergeDetails.EventType:
type: string
enum:
- ORGANIZER_EVENT
- ATTENDEE_EVENT
- SYNC_EVENT
PlatformEventType:
type: string
enum:
- DEFAULT
- OUT_OF_OFFICE
- FROM_MAIL
- WORKING_LOCATION
- FOCUS_TIME
- BIRTHDAY
MeetingType:
type: string
enum:
- DIRECT_11
- PEER_11
- SKIP_11
- XFUNC_11
- OTHER_11
- TEAM
- XFUNC_TEAM
- EXEC
- SKIP_TEAM
- ALL_HANDS
- ONBOARDING_TRAINING
- COMPANY_EVENT
- BOARD_MEETING
- OTHER_STAFF
- DEAL_REVIEW
- EXECUTION_REVIEW
- DEMO
- PLANNING_MEETING
- RETRO
- EMERGENCY
- PEOPLE_REVIEW
- OTHER_OP
- ROADMAP
- CUST_MEETING
- CUST_RESEARCH
- CUST_URGENT
- RECRUIT_SCREEN
- OTHER_EXTERNAL
- DESIGN_BRAIN
- TECH_REVIEW
- KICKOFF
- REQ_BRAIN
- OTHER_IDEATION
- UNKNOWN
AssistType:
type: string
enum:
- TASK
- CUSTOM_DAILY
- CATCHUP_AM
- CATCHUP_PM
- LUNCH
- FOCUS
- TRAVEL_PRE
- TRAVEL_POST
- CONBUF
- SMART_HABIT
- SMART_MEETING
- RECLAIM_FOCUS
PriorityLevel:
type: string
enum:
- P1
- P2
- P3
- P4
- PRIORITIZE
- DEFAULT
x-deprecated:
- PRIORITIZE
- DEFAULT
securitySchemes:
Authorization:
type: oauth2