Reclaim.ai time-scheme API
The time-scheme API from Reclaim.ai — 4 operation(s) for time-scheme.
The time-scheme API from Reclaim.ai — 4 operation(s) for time-scheme.
openapi: 3.0.1
info:
title: Reclaim account-time-schemes time-scheme 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: time-scheme
paths:
/api/timeschemes:
get:
tags:
- time-scheme
operationId: listTimePolicySchemes
parameters:
- name: taskCategory
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/TaskCategory'
- name: policyType
in: query
schema:
type: array
nullable: true
items:
$ref: '#/components/schemas/TimePolicyType'
- name: features
in: query
schema:
type: array
nullable: true
items:
$ref: '#/components/schemas/ReclaimEventType'
responses:
'200':
description: listTimePolicySchemes 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TimeScheme'
security:
- Authorization: []
post:
tags:
- time-scheme
operationId: createTimeScheme
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TimeSchemeCreateRequest'
required: true
responses:
'200':
description: createTimeScheme 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/TimeScheme'
security:
- Authorization: []
/api/timeschemes/filter-by-feature:
get:
tags:
- time-scheme
operationId: queryTimePolicySchemesByUserIdAndFeature
parameters:
- name: userId
in: query
required: true
schema:
type: string
- name: feature
in: query
required: true
schema:
$ref: '#/components/schemas/ReclaimEventType'
responses:
'200':
description: queryTimePolicySchemesByUserIdAndFeature 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BasicTimeSchemeView'
/api/timeschemes/filter-by-feature/{userId}:
get:
tags:
- time-scheme
operationId: listTimePolicySchemesByUserIdAndFeature
parameters:
- name: userId
in: path
required: true
schema:
type: string
- name: feature
in: query
required: true
schema:
$ref: '#/components/schemas/ReclaimEventType'
responses:
'200':
description: listTimePolicySchemesByUserIdAndFeature 200 response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BasicTimeSchemeView'
deprecated: true
/api/timeschemes/{schemeId}:
get:
tags:
- time-scheme
operationId: updateTimeScheme
parameters:
- name: schemeId
in: path
required: true
schema:
type: string
responses:
'200':
description: updateTimeScheme 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/TimeScheme'
security:
- Authorization: []
delete:
tags:
- time-scheme
operationId: deleteTimeScheme
parameters:
- name: schemeId
in: path
required: true
schema:
type: string
- name: moveToTimeSchemeId
in: query
schema:
type: string
nullable: true
responses:
'200':
description: deleteTimeScheme 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
patch:
tags:
- time-scheme
operationId: updateTimeScheme_1
parameters:
- name: schemeId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TimeSchemeUpdateRequest'
required: true
responses:
'200':
description: updateTimeScheme_1 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/TimeScheme'
security:
- Authorization: []
components:
schemas:
CalendarView:
required:
- colorHex
- connected
- credentialId
- externalId
- googleMeetAllowed
- id
- microsoftTeamsAllowed
- name
- otherConnectedCalendarsExist
- provider
- useType
- writableFor
type: object
properties:
name:
type: string
id:
type: integer
format: int64
externalId:
type: string
connected:
type: boolean
colorHex:
type: string
credentialId:
type: integer
format: int64
reason:
nullable: true
allOf:
- $ref: '#/components/schemas/IneligibilityReason'
writableFor:
type: array
items:
$ref: '#/components/schemas/ReclaimEventType'
provider:
type: string
googleMeetAllowed:
type: boolean
microsoftTeamsAllowed:
type: boolean
defaultReminders:
type: array
nullable: true
deprecated: true
items:
type: integer
format: int32
reminderDefaults:
type: array
nullable: true
items:
$ref: '#/components/schemas/Reminder'
useType:
$ref: '#/components/schemas/CalendarUseType'
otherConnectedCalendarsExist:
type: boolean
accessDomainRead:
type: boolean
nullable: true
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'
TaskCategory:
type: string
enum:
- WORK
- PERSONAL
- BOTH
DayOfWeek:
type: string
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
TimeSchemeStatus:
type: string
enum:
- ACTIVE
- TASK_CALENDAR_NOT_VALID
- TASK_CALENDAR_NOT_CONNECTED
- TASK_CALENDAR_NOT_WRITABLE
- TASK_CALENDAR_NOT_FOUND
- TASK_CALENDAR_MULTI_CONNECTIONS
Reminder:
required:
- minutes
- reminderType
type: object
properties:
reminderType:
$ref: '#/components/schemas/ReminderType'
minutes:
type: integer
format: int32
IneligibilityReason:
type: string
enum:
- MAIN_ACCOUNT_PRIMARY
- SYNCED_ALREADY
- FREE_BUSY_ONLY
ReminderType:
type: string
enum:
- UI_NOTIFICATION
- EMAIL
TimeSchemeUpdateRequest:
type: object
properties:
title:
type: string
nullable: true
description:
type: string
nullable: true
policyType:
nullable: true
allOf:
- $ref: '#/components/schemas/TimePolicyType'
policy:
nullable: true
allOf:
- $ref: '#/components/schemas/TimePolicy'
taskCategory:
nullable: true
allOf:
- $ref: '#/components/schemas/TaskCategory'
taskTargetCalendarId:
type: integer
format: int64
nullable: true
features:
type: array
nullable: true
items:
$ref: '#/components/schemas/ReclaimEventType'
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
CalendarUseType:
type: string
enum:
- UNKNOWN
- MULTI_USE
- WORK
- PERSONAL
- FAMILY
- TEAM
- VACATION
- TRAVEL
- TEAM_OOO_CALENDAR
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
TimePolicyType:
type: string
enum:
- WORK
- PERSONAL
- MEETING
- ONE_OFF
- INHERITED
- CUSTOM
LocalTimeInterval:
required:
- end
- start
type: object
properties:
start:
type: string
format: partial-time
end:
type: string
format: partial-time
duration:
type: string
BasicTimeSchemeView:
required:
- features
- id
- policy
- policyType
- title
- userId
type: object
properties:
id:
type: string
userId:
type: string
policyType:
$ref: '#/components/schemas/TimePolicyType'
policy:
$ref: '#/components/schemas/TimePolicy'
title:
type: string
features:
type: array
items:
$ref: '#/components/schemas/ReclaimEventType'
TimeScheme:
required:
- description
- features
- id
- policy
- policyType
- status
- title
- userId
type: object
properties:
id:
type: string
userId:
type: string
status:
$ref: '#/components/schemas/TimeSchemeStatus'
policyType:
$ref: '#/components/schemas/TimePolicyType'
policy:
$ref: '#/components/schemas/TimePolicy'
taskCategory:
nullable: true
allOf:
- $ref: '#/components/schemas/TaskCategory'
taskTargetCalendar:
nullable: true
allOf:
- $ref: '#/components/schemas/CalendarView'
title:
type: string
description:
type: string
features:
type: array
items:
$ref: '#/components/schemas/ReclaimEventType'
TimeSchemeCreateRequest:
required:
- description
- features
- policy
- policyType
- title
type: object
properties:
title:
type: string
description:
type: string
policyType:
$ref: '#/components/schemas/TimePolicyType'
policy:
$ref: '#/components/schemas/TimePolicy'
taskCategory:
nullable: true
allOf:
- $ref: '#/components/schemas/TaskCategory'
taskTargetCalendarId:
type: integer
format: int64
nullable: true
features:
type: array
items:
$ref: '#/components/schemas/ReclaimEventType'
securitySchemes:
Authorization:
type: oauth2