Reclaim.ai clockwise API
The clockwise API from Reclaim.ai — 6 operation(s) for clockwise.
The clockwise API from Reclaim.ai — 6 operation(s) for clockwise.
openapi: 3.0.1
info:
title: Reclaim account-time-schemes clockwise 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: clockwise
paths:
/api/clockwise/cleanup-events:
delete:
tags:
- clockwise
operationId: cleanupClockwiseEvents
responses:
'200':
description: cleanupClockwiseEvents 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ClockwiseEventCleanupService.CleanupResult'
security:
- Authorization: []
/api/clockwise/clear-suppression:
post:
tags:
- clockwise
operationId: clearSchedulerSuppression
responses:
'200':
description: clearSchedulerSuppression 200 response
content:
application/json:
schema:
type: object
security:
- Authorization: []
/api/clockwise/detect-events:
get:
tags:
- clockwise
operationId: detectClockwiseEvents
responses:
'200':
description: detectClockwiseEvents 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ClockwiseEventCleanupService.DetectionResult'
security:
- Authorization: []
/api/clockwise/import:
post:
tags:
- clockwise
operationId: importClockwiseData
requestBody:
content:
application/json:
schema:
type: string
required: true
responses:
'200':
description: importClockwiseData 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ClockwiseImportDto'
security:
- Authorization: []
/api/clockwise/import/{jobId}:
get:
tags:
- clockwise
operationId: getImportJobStatus
parameters:
- name: jobId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: getImportJobStatus 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ClockwiseImportDto'
security:
- Authorization: []
/api/clockwise/import/{jobId}/retry:
post:
tags:
- clockwise
operationId: retryImport
parameters:
- name: jobId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: retryImport 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/ClockwiseImportDto'
security:
- Authorization: []
components:
schemas:
ClockwiseImportRequest.SchedulingLinks:
type: object
properties:
totalCount:
type: integer
format: int32
nullable: true
links:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.SchedulingLink'
ClockwiseImportRequest.NoMeetingDay:
type: object
properties:
enabled:
type: boolean
nullable: true
dayOfWeek:
type: string
nullable: true
enableReminders:
type: boolean
nullable: true
ClockwiseImportRequest.PreferredWork:
type: object
properties:
keepStartOfDayOpen:
type: boolean
nullable: true
keepEndOfDayOpen:
type: boolean
nullable: true
ClockwiseImportDto:
required:
- currentStep
- jobId
- status
- totalSteps
type: object
properties:
jobId:
type: string
format: uuid
status:
$ref: '#/components/schemas/ClockwiseImportStatus'
currentStep:
type: integer
format: int32
totalSteps:
type: integer
format: int32
stepLabel:
type: string
nullable: true
result:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportResponse'
errorMessage:
type: string
nullable: true
ClockwiseImportRequest.SlotSetting:
type: object
properties:
minSlot:
type: string
nullable: true
maxSlot:
type: string
nullable: true
excludedSlots:
type: array
nullable: true
items:
type: string
ClockwiseImportRequest.CustomTimeRange:
type: object
properties:
startTime:
type: string
nullable: true
endTime:
type: string
nullable: true
ClockwiseImportRequest.TravelTime:
type: object
properties:
enabled:
type: boolean
nullable: true
workAddress:
type: string
nullable: true
externalTransparency:
type: string
nullable: true
enableReminders:
type: boolean
nullable: true
ClockwiseImportRequest.MeetingRelief:
type: object
properties:
enabled:
type: boolean
nullable: true
meetingFatigueThresholdMinutes:
type: integer
format: int32
nullable: true
meetingReliefBreakMinutes:
type: integer
format: int32
nullable: true
externalTransparency:
type: string
nullable: true
enableReminders:
type: boolean
nullable: true
ClockwiseImportRequest.ColorCoding:
type: object
properties:
enabled:
type: boolean
nullable: true
external:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
oneOnOne:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
focusTime:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
hold:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
holiday:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
teamSync:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
adHoc:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
outOfOffice:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
fyi:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
task:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
other:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorEntry'
ClockwiseImportRequest.FlexibleMeeting:
type: object
properties:
calendarId:
type: string
nullable: true
eventId:
type: string
nullable: true
start:
type: string
nullable: true
end:
type: string
nullable: true
ClockwiseImportRequest.TimeSlotRange:
type: object
properties:
min:
type: string
nullable: true
max:
type: string
nullable: true
ClockwiseImportRequest.MeetingHours:
type: object
properties:
differentFromWorkingHours:
type: boolean
nullable: true
timeZone:
type: string
nullable: true
daySettings:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.DaySetting'
ClockwiseImportRequest.Preferences:
type: object
properties:
focusTime:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.FocusTime'
lunch:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.Lunch'
meetingRelief:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.MeetingRelief'
preferredWork:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.PreferredWork'
noMeetingDay:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.NoMeetingDay'
travelTime:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.TravelTime'
colorCoding:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.ColorCoding'
ClockwiseImportRequest:
type: object
properties:
user:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.User'
workingHours:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.WorkingHours'
meetingHours:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.MeetingHours'
preferences:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.Preferences'
flexibleMeetings:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.FlexibleMeeting'
schedulingLinks:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.SchedulingLinks'
ClockwiseEventCleanupService.DetectionResult:
required:
- count
- uniqueTitles
type: object
properties:
count:
type: integer
format: int32
uniqueTitles:
type: array
items:
type: string
ClockwiseEventCleanupService.CleanupResult:
required:
- deleted
- failed
- warnings
type: object
properties:
deleted:
type: integer
format: int32
failed:
type: integer
format: int32
warnings:
type: array
items:
type: string
ClockwiseImportRequest.CustomBookableHours:
type: object
properties:
schedule:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.CustomDaySchedule'
dateOverrides:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.DateOverride'
ClockwiseImportStatus:
type: string
enum:
- PENDING
- RUNNING
- SUCCESS
- PARTIAL
- ERROR
ClockwiseImportRequest.DaySetting:
type: object
properties:
day:
type: string
nullable: true
setting:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.SlotSetting'
ClockwiseImportRequest.DateOverride:
type: object
properties:
date:
type: string
nullable: true
timeRanges:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.CustomTimeRange'
ClockwiseImportRequest.CustomDaySchedule:
type: object
properties:
day:
type: string
nullable: true
timeRanges:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.CustomTimeRange'
ClockwiseImportRequest.Lunch:
type: object
properties:
enabled:
type: boolean
nullable: true
timeSlotRange:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.TimeSlotRange'
minimumDurationMinutes:
type: integer
format: int32
nullable: true
idealDurationMinutes:
type: integer
format: int32
nullable: true
externalTransparency:
type: string
nullable: true
enableReminders:
type: boolean
nullable: true
ClockwiseImportRequest.User:
type: object
properties:
userId:
type: string
nullable: true
calendarId:
type: string
nullable: true
fullName:
type: string
nullable: true
email:
type: string
nullable: true
ClockwiseImportResponse:
required:
- flexibleHabitsConverted
- flexibleMeetingsConverted
- flexibleMeetingsSkipped
- focusTimeImported
- habitsCreated
- meetingHoursImported
- messages
- schedulingLinksCreated
- schedulingLinksSkipped
- settingsApplied
- warnings
- workingHoursImported
type: object
properties:
workingHoursImported:
type: boolean
meetingHoursImported:
type: boolean
focusTimeImported:
type: boolean
habitsCreated:
type: array
items:
type: string
settingsApplied:
type: array
items:
type: string
schedulingLinksCreated:
type: integer
format: int32
schedulingLinksSkipped:
type: integer
format: int32
flexibleMeetingsConverted:
type: integer
format: int32
flexibleHabitsConverted:
type: integer
format: int32
flexibleMeetingsSkipped:
type: integer
format: int32
warnings:
type: array
items:
type: string
messages:
type: array
items:
type: string
skippedImport:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest'
ClockwiseImportRequest.FocusTime:
type: object
properties:
enabled:
type: boolean
nullable: true
idealMinutesPerWeek:
type: integer
format: int32
nullable: true
idealMinutesPerDay:
type: integer
format: int32
nullable: true
maximumMinutesPerDay:
type: integer
format: int32
nullable: true
minimumSingleBlockMinutes:
type: integer
format: int32
nullable: true
idealSingleBlockMinutes:
type: integer
format: int32
nullable: true
maximumSingleBlockMinutes:
type: integer
format: int32
nullable: true
minimumTotalPerWeek:
type: integer
format: int32
nullable: true
limitPerDay:
type: boolean
nullable: true
focusTimeSyncAll:
type: boolean
nullable: true
autodeclineIfIdealNotMet:
type: boolean
nullable: true
onlyHoldIfMinimum:
type: boolean
nullable: true
preferredWorkType:
type: string
nullable: true
externalTransparency:
type: string
nullable: true
enableReminders:
type: boolean
nullable: true
ClockwiseImportRequest.WorkingHours:
type: object
properties:
timeZone:
type: string
nullable: true
daySettings:
type: array
nullable: true
items:
$ref: '#/components/schemas/ClockwiseImportRequest.DaySetting'
ClockwiseImportRequest.ColorEntry:
type: object
properties:
colorId:
type: string
nullable: true
displayName:
type: string
nullable: true
ClockwiseImportRequest.SchedulingLink:
type: object
properties:
linkUrl:
type: string
nullable: true
linkName:
type: string
nullable: true
meetingName:
type: string
nullable: true
slug:
type: string
nullable: true
isActive:
type: boolean
nullable: true
durations:
type: array
nullable: true
items:
type: integer
format: int32
defaultDuration:
type: integer
format: int32
nullable: true
periodType:
type: string
nullable: true
locationType:
type: string
nullable: true
bookableHours:
type: string
nullable: true
customBookableHours:
nullable: true
allOf:
- $ref: '#/components/schemas/ClockwiseImportRequest.CustomBookableHours'
availabilityType:
type: string
nullable: true
members:
type: array
nullable: true
items:
type: string
titleTemplate:
type: string
nullable: true
linkType:
type: string
nullable: true
securitySchemes:
Authorization:
type: oauth2