Reclaim.ai analytics API
The analytics API from Reclaim.ai — 10 operation(s) for analytics.
The analytics API from Reclaim.ai — 10 operation(s) for analytics.
openapi: 3.0.1
info:
title: Reclaim account-time-schemes analytics 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: analytics
paths:
/api/analytics/focus/insights/V3:
get:
tags:
- analytics
operationId: analytics_focusInsights_v3
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date
- name: end
in: query
required: true
schema:
type: string
format: date
- name: countingStyle
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/FocusTimeCountingStyle'
responses:
'200':
description: analytics_focusInsights_v3 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/FocusInsightsViewV3'
security:
- Authorization: []
/api/analytics/focus/insights/V4:
get:
tags:
- analytics
operationId: analytics_focusInsights_v4
parameters:
- name: queryStart
in: query
required: true
schema:
type: string
format: date
- name: queryEnd
in: query
required: true
schema:
type: string
format: date
responses:
'200':
description: analytics_focusInsights_v4 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamAnalyticsV4View'
security:
- Authorization: []
/api/analytics/team:
get:
tags:
- analytics
operationId: analytics_teamAnalytics
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date
- name: end
in: query
required: true
schema:
type: string
format: date
- name: metricName
in: query
required: true
schema:
type: array
items:
$ref: '#/components/schemas/AnalyticsMetricName'
- name: groupingInterval
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/AnalyticsGroupingInterval'
responses:
'200':
description: analytics_teamAnalytics 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResults'
security:
- Authorization: []
/api/analytics/team/V3:
get:
tags:
- analytics
operationId: analytics_teamAnalyticsV3
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date
- name: end
in: query
required: true
schema:
type: string
format: date
- name: metricName
in: query
required: true
schema:
type: array
items:
$ref: '#/components/schemas/AnalyticsMetricName'
- name: groupingInterval
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/AnalyticsGroupingInterval'
- name: notificationKey
in: query
schema:
type: string
nullable: true
responses:
'200':
description: analytics_teamAnalyticsV3 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResultView'
security:
- Authorization: []
/api/analytics/team/V4:
post:
tags:
- analytics
operationId: analytics_teamAnalyticsV4
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TeamAnalyticsV4Request'
required: true
responses:
'200':
description: analytics_teamAnalyticsV4 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamAnalyticsV4View'
security:
- Authorization: []
/api/analytics/team/V4/export:
get:
tags:
- analytics
operationId: analytics_teamAnalyticsV4Export
parameters:
- name: queryStart
in: query
required: true
schema:
type: string
format: date
- name: queryEnd
in: query
required: true
schema:
type: string
format: date
- name: meetingHeavyDayThreshold
in: query
schema:
type: integer
format: int32
nullable: true
responses:
'200':
description: analytics_teamAnalyticsV4Export 200 response
content:
application/json:
schema:
type: string
format: binary
security:
- Authorization: []
/api/analytics/team/V4/filters:
get:
tags:
- analytics
operationId: analytics_teamAnalyticsV4Filters
parameters:
- name: myOrg
in: query
required: false
schema:
type: boolean
default: false
responses:
'200':
description: analytics_teamAnalyticsV4Filters 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamMetadataFilterView'
security:
- Authorization: []
/api/analytics/team/V4/permissions:
get:
tags:
- analytics
operationId: analytics_teamAnalyticsV4Permissions
responses:
'200':
description: analytics_teamAnalyticsV4Permissions 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/TeamAnalyticsV4Permissions'
security:
- Authorization: []
/api/analytics/user:
get:
tags:
- analytics
operationId: analytics_userAnalytics
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date
- name: end
in: query
required: true
schema:
type: string
format: date
- name: metricName
in: query
required: true
schema:
type: array
items:
$ref: '#/components/schemas/AnalyticsMetricName'
- name: groupingInterval
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/AnalyticsGroupingInterval'
responses:
'200':
description: analytics_userAnalytics 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResults'
security:
- Authorization: []
/api/analytics/user/V3:
get:
tags:
- analytics
operationId: analytics_userAnalyticsV3
parameters:
- name: start
in: query
required: true
schema:
type: string
format: date
- name: end
in: query
required: true
schema:
type: string
format: date
- name: metricName
in: query
required: true
schema:
type: array
items:
$ref: '#/components/schemas/AnalyticsMetricName'
- name: groupingInterval
in: query
schema:
nullable: true
allOf:
- $ref: '#/components/schemas/AnalyticsGroupingInterval'
- name: notificationKey
in: query
schema:
type: string
nullable: true
responses:
'200':
description: analytics_userAnalyticsV3 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsResultView'
security:
- Authorization: []
components:
schemas:
AnalyticsResultsProcessingStatus:
type: string
enum:
- PENDING
- COMPLETED
- ERROR
TeamMetadataFilterChoice:
required:
- options
type: object
allOf:
- $ref: '#/components/schemas/TeamMetadataFilter'
- properties:
options:
type: array
items:
$ref: '#/components/schemas/TeamMetadataFilterChoiceOption'
variant:
$ref: '#/components/schemas/TeamMetadataFilterChoice.Variant'
AnalyticsGroupingInterval:
type: string
enum:
- DAILY
- WEEKLY
List_String_:
type: object
allOf:
- $ref: '#/components/schemas/SequencedCollection_String_'
- $ref: '#/components/schemas/Collection_String_'
- properties:
empty:
type: boolean
first:
type: string
last:
type: string
Collection_String_:
type: object
properties:
empty:
type: boolean
DeepWork:
required:
- deepFocusOpportunityCountNormalizedAvg
- deepFocusOpportunityCountWeeklyAvg
- freeTimeHoursDailyAvg
- index
- meetingHeavyDaysNormalizedAvg
- meetingHeavyDaysWeeklyAvg
- meetingTimeInHoursNormalizedAvg
- meetingTimeInHoursWeeklyAvg
- meetingsCountDailyAvg
- meetingsCountNormalizedAvg
- shortBreakBetweenMeetingCountNormalizedAvg
- shortBreakBetweenMeetingCountWeeklyAvg
- timeSeries
type: object
properties:
index:
type: number
format: double
freeTimeHoursDailyAvg:
type: number
format: double
meetingTimeInHoursWeeklyAvg:
type: number
format: double
meetingsCountDailyAvg:
type: number
format: double
deepFocusOpportunityCountWeeklyAvg:
type: number
format: double
shortBreakBetweenMeetingCountWeeklyAvg:
type: number
format: double
meetingHeavyDaysWeeklyAvg:
type: number
format: double
timeSeries:
type: array
items:
$ref: '#/components/schemas/DeepWorkBucket'
meetingTimeInHoursNormalizedAvg:
type: number
format: double
meetingsCountNormalizedAvg:
type: number
format: double
deepFocusOpportunityCountNormalizedAvg:
type: number
format: double
shortBreakBetweenMeetingCountNormalizedAvg:
type: number
format: double
meetingHeavyDaysNormalizedAvg:
type: number
format: double
TeamMetadataSelectedFilterChoice:
required:
- value
type: object
allOf:
- $ref: '#/components/schemas/TeamMetadataSelectedFilter'
- properties:
value:
type: string
AnalyticsType:
type: string
enum:
- integerValue
- countByString
- countByCategory
- durationSummary
- durationByDateByCategory
- durationByCategory
- countByReclaimEventType
- durationByDate
- durationByString
- durationByDayOfWeek
- durationByDateByString
- durationByRangeByDate
- durationByCategoryByString
- calloutGroup
- doubleValue
x-enum-varnames:
- integerValue
- countByString
- countByCategory
- durationSummary
- durationByDateByCategory
- durationByCategory
- countByReclaimEventType
- durationByDate
- durationByString
- durationByDayOfWeek
- durationByDateByString
- durationByRangeByDate
- durationByCategoryByString
- calloutGroup
- doubleValue
AbstractMetric:
required:
- appendixKeys
- description
- noData
- type
- unit
type: object
properties:
type:
$ref: '#/components/schemas/AnalyticsType'
unit:
$ref: '#/components/schemas/AnalyticsUnit'
description:
type: string
appendixKeys:
properties:
people:
$ref: '#/components/schemas/List_String_'
noData:
type: boolean
discriminator:
propertyName: type
mapping:
durationByDate: '#/components/schemas/AnalyticsDurationByDateMetric'
countByCategory: '#/components/schemas/AnalyticsCountByCategoryMetric'
durationByDateByString: '#/components/schemas/AnalyticsDurationByDateByStringMetric'
doubleValue: '#/components/schemas/AnalyticsDoubleValueMetric'
durationByCategory: '#/components/schemas/AnalyticsDurationByCategoryMetric'
durationByCategoryByString: '#/components/schemas/AnalyticsDurationByCategoryByStringMetric'
durationByString: '#/components/schemas/AnalyticsDurationByStringMetric'
calloutGroup: '#/components/schemas/CalloutGroupMetric'
durationByDateByCategory: '#/components/schemas/AnalyticsDurationByDateByCategoryMetric'
percentageByDateByDuration: '#/components/schemas/AnalyticsPercentageByDurationRangeByDateMetric'
countByString: '#/components/schemas/AnalyticsCountByStringMetric'
integerValue: '#/components/schemas/AnalyticsIntegerValueMetric'
durationByDayOfWeek: '#/components/schemas/AnalyticsDurationByDayOfWeekMetric'
countByTeamMember: '#/components/schemas/AnalyticsCountByTeamMemberMetric'
TeamAnalyticsV4View:
required:
- currentMetrics
- previousMetrics
- tooFewUsers
- userCount
type: object
properties:
currentMetrics:
$ref: '#/components/schemas/TeamAnalyticsV4Metrics'
previousMetrics:
$ref: '#/components/schemas/TeamAnalyticsV4Metrics'
userCount:
type: integer
format: int64
tooFewUsers:
type: boolean
TimeBreakdown:
required:
- eventTypeToHoursDailyAvg
- timeSeries
type: object
properties:
eventTypeToHoursDailyAvg:
properties:
ExternalMeeting:
$ref: '#/components/schemas/TimeBreakdownDetails'
OneOnOne:
$ref: '#/components/schemas/TimeBreakdownDetails'
TeamMeeting:
$ref: '#/components/schemas/TimeBreakdownDetails'
SoloWork:
$ref: '#/components/schemas/TimeBreakdownDetails'
Personal:
$ref: '#/components/schemas/TimeBreakdownDetails'
Logistics:
$ref: '#/components/schemas/TimeBreakdownDetails'
Focus:
$ref: '#/components/schemas/TimeBreakdownDetails'
timeSeries:
type: array
items:
$ref: '#/components/schemas/TimeBreakdownBucket'
TeamMetadataFilterType:
type: string
enum:
- CHOICE
- DATE_RANGE
- HIERARCHY
FocusInsightsViewV3:
required:
- insightsForDays
type: object
properties:
insightsForDays:
type: array
items:
$ref: '#/components/schemas/FocusInsightsForDayV3'
TeamAnalyticsV4Permissions:
type: object
properties:
hasMyOrg:
type: boolean
nullable: true
TeamMetadataFilter:
required:
- key
- label
- type
type: object
properties:
key:
type: string
label:
type: string
type:
$ref: '#/components/schemas/TeamMetadataFilterType'
oneOf:
- $ref: '#/components/schemas/TeamMetadataFilterChoice'
- $ref: '#/components/schemas/TeamMetadataFilterDate'
- $ref: '#/components/schemas/TeamMetadataFilterHierarchy'
PolicyMetrics:
required:
- metrics
- overallPolicyAdherenceAverage
type: object
properties:
overallPolicyAdherenceAverage:
type: number
format: double
metrics:
type: array
items:
$ref: '#/components/schemas/PolicyMetric'
FocusInsightsStatisticV3:
required:
- count
- eventMinutesMap
- focusInsightsCategory
- minutes
- reclaimEventType
type: object
properties:
minutes:
type: integer
format: int32
count:
type: integer
format: int32
reclaimEventType:
$ref: '#/components/schemas/ReclaimEventType'
eventMinutesMap:
type: object
additionalProperties:
type: integer
format: int32
focusInsightsCategory:
$ref: '#/components/schemas/FocusInsightsCategory'
RichContact:
type: object
allOf:
- $ref: '#/components/schemas/ThinPerson'
- properties:
reclaimUser:
type: boolean
userId:
type: string
nullable: true
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
TeamMetadataFilterHierarchy:
type: object
allOf:
- $ref: '#/components/schemas/TeamMetadataFilter'
- properties:
descendantCount:
type: integer
format: int32
dictionary:
type: object
additionalProperties:
$ref: '#/components/schemas/TeamMetadataFilterHierarchy.Child'
childIds:
type: array
items:
type: string
AnalyticsResultView:
required:
- result
- status
type: object
properties:
status:
$ref: '#/components/schemas/AnalyticsResultsProcessingStatus'
result:
$ref: '#/components/schemas/AnalyticsResults'
DayOfWeek:
type: string
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
TimeBreakdownBucket:
required:
- end
- eventTypeToHoursAvg
- freeTimeHoursAvg
- start
type: object
properties:
start:
type: string
format: date
end:
type: string
format: date
eventTypeToHoursAvg:
properties:
ExternalMeeting:
$ref: '#/components/schemas/TimeBreakdownDetails'
OneOnOne:
$ref: '#/components/schemas/TimeBreakdownDetails'
TeamMeeting:
$ref: '#/components/schemas/TimeBreakdownDetails'
SoloWork:
$ref: '#/components/schemas/TimeBreakdownDetails'
Personal:
$ref: '#/components/schemas/TimeBreakdownDetails'
Logistics:
$ref: '#/components/schemas/TimeBreakdownDetails'
Focus:
$ref: '#/components/schemas/TimeBreakdownDetails'
freeTimeHoursAvg:
type: number
format: double
SequencedCollection_String_:
type: object
allOf:
- $ref: '#/components/schemas/Collection_String_'
- properties:
first:
type: string
last:
type: string
AnalyticsMetricName:
type: string
enum:
- DIAGNOSTICS_EVENT_COUNT
- DIAGNOSTICS_EVENT_COUNT_BY_TEAM_MEMBER
- DIAGNOSTICS_EVENT_BUSY_COUNT_BY_TEAM_MEMBER
- DIAGNOSTICS_MEETING_COUNT_BY_TEAM_MEMBER
- TIME_WITH_PEOPLE_DURATION_BY_DATE_BY_PERSON
- TIME_WITH_PEOPLE_DURATION_BY_PERSON
- FOCUS_TIME_DURATION_BY_DATE_BY_TEAM_MEMBER
- FREE_TIME_DURATION_BY_DATE_BY_TEAM_MEMBER
- MEETING_TIME_DURATION_BY_DATE_BY_TEAM_MEMBER
- TASK_TIME_DURATION_BY_DATE_BY_TEAM_MEMBER
- HABIT_TIME_DURATION_BY_DATE_BY_TEAM_MEMBER
- MEETING_TIME_PERCENTAGE_BY_DATE_BY_DURATION_RANGE
- FOCUS_DURATION_BY_CATEGORY_BY_EVENT_NAME
- SCHEDULING_LINK_EVENT_COUNT
- RECLAIM_SCHEDULED_EVENT_COUNT
- DURATION_BY_CATEGORY
- RECLAIM_WORK_DURATION_BY_DATE_BY_ASSIGNMENT_TYPE
- DURATION_BY_DATE_BY_CATEGORY
- PERSONAL_HABIT_TIME_DURATION
- VACATION_TIME_DURATION
- OUTSIDE_WORK_TIME_DURATION
- RECLAIMED_TIME_DURATION
- DECOMPRESSION_TIME_DURATION
- TRAVEL_TIME_DURATION
- MEETING_TIME_DURATION_BY_DAY_OF_WEEK
- FOCUS_TIME_DURATION_BY_DAY_OF_WEEK
- WORK_HABITS_AND_TASKS_DURATION_BY_DATE_BY_NAME
- PERSONAL_HABITS_AND_TASKS_DURATION_BY_DATE_BY_NAME
- PERSONAL_TIME_DURATION
- LARGE_MEETINGS_COUNT
- MEETINGS_DECLINED_COUNT
- MEETING_CALLOUT_GROUP
- WORK_LIFE_CALLOUT_GROUP
- ROI_CALLOUT_GROUP
- CALENDAR_SYNC_COUNT
- CALENDAR_SYNC_TIME_DURATION
- COUNT_BY_CATEGORY
- COUNT_BY_ASSIGNMENT_TYPE
- DROPBOX_AGENDA_POLICY_ADHERENCE
TeamMetadataFilterChoice.Variant:
type: string
enum:
- FULL
- COMPACT
FocusInsightsForDayV3:
required:
- analyticsResults
- day
- deepFocusOpportunityCount
- freeTimeMinutes
- meetingTimeInMinutes
- meetingsCount
- shortBreakBetweenMeetingCount
- stats
type: object
properties:
day:
type: string
format: date
stats:
type: array
items:
$ref: '#/components/schemas/FocusInsightsStatisticV3'
freeTimeMinutes:
type: integer
format: int64
meetingTimeInMinutes:
type: integer
format: int64
meetingsCount:
type: integer
format: int32
deepFocusOpportunityCount:
type: integer
format: int32
shortBreakBetweenMeetingCount:
type: integer
format: int32
analyticsResults:
type: array
items:
$ref: '#/components/schemas/AnalyticsResult'
TeamMetadataFilterDate:
required:
- maxDate
- minDate
type: object
allOf:
- $ref: '#/components/schemas/TeamMetadataFilter'
- properties:
minDate:
type: string
format: date-time
maxDate:
type: string
format: date-time
TeamAnalyticsV4Request:
required:
- queryEnd
- queryStart
type: object
properties:
queryStart:
type: string
format: date
queryEnd:
type: string
format: date
filters:
type: array
nullable: true
items:
$ref: '#/components/schemas/TeamMetadataSelectedFilter'
myOrg:
type: boolean
nullable: true
Appendix:
required:
- teamSize
type: object
properties:
people:
$ref: '#/components/schemas/RichAppendixEntry'
teamSize:
type: integer
format: int32
DayOfWeekMeetingBucket:
required:
- dayOfTheWeek
- meetingHoursAvg
type: object
properties:
dayOfTheWeek:
$ref: '#/components/schemas/DayOfWeek'
meetingHoursAvg:
type: number
format: double
TeamMetadataFilterView:
required:
- filterCandidates
- teamId
type: object
properties:
teamId:
type: integer
format: int64
filterCandidates:
type: array
items:
$ref: '#/components/schemas/TeamMetadataFilter'
TeamMetadataSelectedFilter:
required:
- key
- type
type: object
properties:
key:
type: string
type:
$ref: '#/components/schemas/TeamMetadataFilterType'
oneOf:
- $ref: '#/components/schemas/TeamMetadataSelectedFilterChoice'
TeamMetadataFilterChoiceOption:
required:
- value
type: object
properties:
value:
type: string
AnalyticsResults:
required:
- appendix
- metrics
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/AnalyticsResult'
appendix:
$ref: '#/components/schemas/Appendix'
FocusTimeCountingStyle:
type: string
enum:
- IGNORE_TIME_SCHEME
- ONLY_WITHIN_TIME_SCHEME
AnalyticsUnit:
type: string
enum:
- COUNT
- DURATION_MINUTES
- PERCENTAGE
ThinPerson:
required:
- email
type: object
properties:
reclaimUser:
type: boolean
userId:
type: string
nullable: true
email:
minLength: 1
type: string
name:
type: string
avatarUrl:
type: string
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
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
TimeInMeetingsBucket:
required:
- meetingHours
- userCount
type: object
properties:
meetingHours:
type: integer
format: int32
userCount:
type: integer
format: int32
FocusInsightsCategory:
type: string
enum:
- ExternalMeeting
- OneOnOne
- TeamMeeting
- SoloWork
- Personal
- Logistics
- Focus
x-enum-varnames:
- ExternalMeeting
- OneOnOne
- TeamMeeting
- SoloWork
- Personal
- Logistics
- Focus
TimeInMeetings:
required:
- dayOfWeekMeetingBuckets
- timeInMeetingsHistogram
type: object
properties:
timeInMeetingsHistogram:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/TimeInMeetingsBucket'
dayOfWeekMeetingBuckets:
type: array
items:
$ref: '#/components/schemas/DayOfWeekMeetingBucket'
DeepWorkBucket:
required:
- deepFocusOpportunityCountNormalized
- deepFocusOpportunityCountWeeklyAvg
- end
- freeTimeHoursDailyAvg
- index
- meetingHeavyDaysNormalized
- meetingHeavyDaysWeeklyAvg
- meetingTimeInHoursNormalized
- meetingTimeInHoursWeeklyAvg
- meetingsCountDailyAvg
- meetingsCountNormalized
- shortBreakBetweenMeetingCountNormalized
- shortBreakBetweenMeetingCountWeeklyAvg
- start
type: object
properties:
start:
type: string
format: date
end:
type: string
format: date
index:
type: number
format: double
freeTimeHoursDailyAvg:
type: number
format: double
meetingTimeInHoursWeeklyAvg:
type: number
format: double
meetingsCountDailyAvg:
type: number
format: double
deepFocusOpportunityCountWeeklyAvg:
type: number
format: double
shortBreakBetweenMeetingCountWeeklyAvg:
type: number
format: double
meetingHeavyDaysWeeklyAvg:
type: number
format: double
meetingTimeInHoursNormalized:
type: number
format: double
meetingsCountNormalized:
type: number
format: double
deepFocusOpportunityCountNormalized:
type: number
format: double
shortBreakBetweenMeetingCountNormalized:
type: number
format: double
meetingHeavyDaysNormalized:
type: number
format: double
RichAppendixEntry:
required:
- missingScopes
- values
type: object
properties:
missingScopes:
type: array
items:
type: string
values:
type: object
additionalProperties:
$ref: '#/components/schemas/RichContact'
TeamMetadataFilterHierarchy.Child:
required:
- childIds
- descendantCount
- id
- label
type: object
properties:
id:
type: string
label:
type: string
descendantCount:
type: integer
format: int32
childIds:
type: array
items:
type: string
AnalyticsResult:
required:
- metric
- name
type: object
properties:
name:
$ref: '#/components/schemas/AnalyticsMetricName'
metric:
$ref: '#/components/schemas/AbstractMetric'
PolicyMetric:
required:
- name
- value
type: object
properties:
name:
type: string
value:
type: number
format: double
TeamAnalyticsV4Metrics:
required:
- avgFocusDuration
- decompressionTimeHoursPerWeek
- end
- focusScore
- meetingLoad
- reclaimScheduledPerWeek
- reclaimedTimeHoursPerWeek
- start
- travelTimeHoursPerWeek
type: object
properties:
start:
type: string
format: date
end:
type: string
format: date
deepWork:
nullable: true
allOf:
- $ref: '#/components/schemas/DeepWork'
timeBreakdown:
nullable: true
allOf:
- $ref: '#/components/schemas/TimeBreakdown'
timeInMeetings:
nullable: true
allOf:
- $ref: '#/components/schemas/TimeInMeetings'
focusScore:
type: number
format: double
meetingLoad:
type: number
format: double
avgFocusDuration:
type: number
format: double
reclaimedTimeHoursPerWeek:
type: number
format: double
decompressionTimeHoursPerWeek:
type: number
format: double
reclaimScheduledPerWeek:
type: number
format: double
travelTimeHoursPerWeek:
type: number
format: double
policyMetrics:
nullable: true
allOf:
- $ref: '#/components/schemas/PolicyMetrics'
TimeBreakdownDetails:
type: object
properties:
hoursDailyAvg:
type: number
format: double
shallowCount:
type: number
format: double
deepCount:
type: number
format: double
securitySchemes:
Authorization:
type: oauth2