Clockify Team Report API
The Team Report API from Clockify — 1 operation(s) for team report.
The Team Report API from Clockify — 1 operation(s) for team report.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/clockify-team-report-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: '## Introduction
By using this REST API, you can easily integrate Clockify with your own add-ons, push and pull data
between Clockify and other tools, and create custom add-ons on CAKE.com Marketplace.'
title: Clockify Team Report API
version: v1
x-logo:
altText: Clockify logo
url: https://clockify.me/downloads/clockify_logo_primary_black_margin.png
tags:
- name: Team Report
x-displayName: Team Report
paths:
/v1/workspaces/{workspaceId}/reports/attendance:
servers:
- url: https://reports.api.clockify.me
post:
operationId: generateAttendanceReport
parameters:
- in: path
name: workspaceId
required: true
schema:
type: string
description: Represents a workspace identifier across the system.
example: 60f91b3ffdaf031696ecxxxx
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AttendanceReportFilterV1'
responses:
'200':
content:
'*/*':
schema:
$ref: '#/components/schemas/AttendanceReportDtoV1'
description: OK
summary: Generate an attendance report
tags:
- Team Report
security:
- ApiKeyAuth: []
- AddonKeyAuth: []
components:
schemas:
ContainsUsersFilterV1:
type: object
properties:
contains:
type: string
description: Represents a contains type.
enum:
- CONTAINS
- DOES_NOT_CONTAIN
- CONTAINS_ONLY
example: CONTAINS
ids:
type: array
description: Filter includes provided list of ids.
example:
- 5b715448b079875110792222
- 5b715448b079875110791111
items:
type: string
description: Filter includes provided list of ids.
example: '["5b715448b079875110792222","5b715448b079875110791111"]'
uniqueItems: true
status:
type: string
description: Filter entities in 'contains' by their status.
enum:
- ALL
- ACTIVE_WITH_PENDING
- ACTIVE
- PENDING
- INACTIVE
example: ACTIVE
CompareOvertimeFilter:
type: object
properties:
filtrationType:
type: string
enum:
- EXACTLY
- LARGER_THAN
- SMALLER_THAN
value:
type: string
description: Represents duration of overtime work (difference between work and capacity) in hours, multiplied by 100. For example, if desired value is 1.5h, input should be 150.
example: '150'
ContainsTagFilterV1:
type: object
description: Represents an object for filtering entries by tags.
properties:
containedInTimeentry:
type: string
description: If provided, you'll get result filtered by value of contained in time entry.
enum:
- CONTAINS
- DOES_NOT_CONTAIN
- CONTAINS_ONLY
example: CONTAINS_ONLY
contains:
type: string
description: Represents a contains type.
enum:
- CONTAINS
- DOES_NOT_CONTAIN
- CONTAINS_ONLY
example: CONTAINS
ids:
type: array
description: Filter includes provided list of ids.
example:
- 5b715448b079875110792222
- 5b715448b079875110791111
items:
type: string
description: Filter includes provided list of ids.
example: '["5b715448b079875110792222","5b715448b079875110791111"]'
uniqueItems: true
status:
type: string
description: Filter entities in 'contains' by their status.
enum:
- ACTIVE
- ARCHIVED
- ALL
example: ACTIVE
CompareStartFilter:
type: object
properties:
filtrationType:
type: string
enum:
- EXACTLY
- LARGER_THAN
- SMALLER_THAN
value:
type: string
description: Represents start time in 24-hour notation.
example: '15:00'
ContainsTaskFilterV1:
type: object
description: Represents filter criteria for expenses associated with tasks.
properties:
contains:
type: string
description: Represents a contains type.
enum:
- CONTAINS
- DOES_NOT_CONTAIN
- CONTAINS_ONLY
example: CONTAINS
ids:
type: array
description: Filter includes provided list of ids.
example:
- 5b715448b079875110792222
- 5b715448b079875110791111
items:
type: string
description: Filter includes provided list of ids.
example: '["5b715448b079875110792222","5b715448b079875110791111"]'
uniqueItems: true
status:
type: string
description: Filter entities in 'contains' by their status.
enum:
- ACTIVE
- ARCHIVED
- ALL
example: ACTIVE
ContainsArchivedFilterV1:
type: object
properties:
contains:
type: string
description: Represents a contains type.
enum:
- CONTAINS
- DOES_NOT_CONTAIN
- CONTAINS_ONLY
example: CONTAINS
ids:
type: array
description: Filter includes provided list of ids.
example:
- 5b715448b079875110792222
- 5b715448b079875110791111
items:
type: string
description: Filter includes provided list of ids.
example: '["5b715448b079875110792222","5b715448b079875110791111"]'
uniqueItems: true
status:
type: string
description: Filter entities in 'contains' by their status.
enum:
- ACTIVE
- ARCHIVED
- ALL
example: ACTIVE
CompareWorkFilter:
type: object
properties:
filtrationType:
type: string
enum:
- EXACTLY
- LARGER_THAN
- SMALLER_THAN
value:
type: string
description: Represents duration of completed work for day in hours, multiplied by 100. For example, if desired value is 7.5h, input should be 750.
example: '750'
CompareCapacityFilter:
type: object
properties:
filtrationType:
type: string
enum:
- EXACTLY
- LARGER_THAN
- SMALLER_THAN
value:
type: string
description: Represents daily work capacity of user in hours, multiplied by 100. For example, if desired value is 7.5h, input should be 750.
example: '750'
DetailedFilterV1:
type: object
description: Represents a detailed report filter.
properties:
auditFilter:
$ref: '#/components/schemas/AuditFilterV1'
options:
$ref: '#/components/schemas/DetailedOptionsV1'
page:
type: integer
format: int32
example: 1
pageSize:
type: integer
format: int32
example: 20
sortColumn:
type: string
description: If provided, you'll get sorted result by sort column.
enum:
- ID
- DESCRIPTION
- USER
- DURATION
- DATE
- ZONED_DATE
- NATURAL
- USER_DATE
example: ID
AttendanceFilterV1:
type: object
description: Represents an attendance report filter.
properties:
breakFilters:
type: array
items:
$ref: '#/components/schemas/CompareBreakFilter'
capacityFilters:
type: array
items:
$ref: '#/components/schemas/CompareCapacityFilter'
endFilters:
type: array
items:
$ref: '#/components/schemas/CompareEndFilter'
hasTimeOff:
type: boolean
description: If set to true, report will include time off hours.
example: true
overtimeFilters:
type: array
items:
$ref: '#/components/schemas/CompareOvertimeFilter'
page:
type: integer
format: int32
default: 1
description: Specifies page number.
minimum: 1
pageSize:
type: integer
format: int32
description: Specifies page size.
minimum: 1
sortColumn:
type: string
enum:
- USER
- DATE
- START
- END
- BREAK
- WORK
- CAPACITY
- OVERTIME
- TIME_OFF
startFilters:
type: array
items:
$ref: '#/components/schemas/CompareStartFilter'
workFilters:
type: array
items:
$ref: '#/components/schemas/CompareWorkFilter'
CompareBreakFilter:
type: object
properties:
filtrationType:
type: string
enum:
- EXACTLY
- LARGER_THAN
- SMALLER_THAN
value:
type: string
description: Represents duration of breaks in the day in hours, multiplied by 100. For example, if desired value is 0.5h, input should be 50
example: '50'
CompareEndFilter:
type: object
properties:
filtrationType:
type: string
enum:
- EXACTLY
- LARGER_THAN
- SMALLER_THAN
value:
type: string
description: Represents end time in 24-hour notation.
example: '17:00'
SummaryFilterV1:
type: object
description: Represents a summary report filter.
properties:
groups:
type: array
description: Represents group ids
example: '"[5b715448b07987511071111", "5b715448b079875110792222"]'
items:
type: string
description: Represents group ids
example: '"[5b715448b07987511071111", "5b715448b079875110792222"]'
sortColumn:
type: string
description: If provided, you'll get sorted result by provided sort column.
enum:
- GROUP
- DURATION
- AMOUNT
- EARNED
- COST
- PROFIT
example: GROUP
summaryChartType:
type: string
description: If provided, you'll get sorted result by provided summary chart type.
enum:
- BILLABILITY
- PROJECT
example: PROJECT
WeeklyFilterV1:
type: object
description: Represents a weekly report filter.
properties:
group:
type: string
description: Weekly filter will include group identifier.
example: 5b715448b079875110791111
subgroup:
type: string
description: Weekly filter will include subgroup identifier.
example: 5b715448b079875110792222
DetailedOptionsV1:
type: object
properties:
totals:
type: string
enum:
- CALCULATE
- EXCLUDE
example: CALCULATE
AuditFilterV1:
type: object
properties:
duration:
type: integer
format: int32
description: Represent audit duration.
example: 2
durationShorter:
type: boolean
description: Represent audit duration shorter.
example: false
withoutProject:
type: boolean
description: Indicates whether to filter without a project.
example: false
withoutTask:
type: boolean
description: Indicates whether to filter without a task.
example: true
AttendanceDto:
type: object
description: List of entities
properties:
break:
type: integer
format: int64
capacity:
type: integer
format: int32
date:
type: string
endTime:
type: string
hasRunningEntry:
type: boolean
imageUrl:
type: string
overtime:
type: integer
format: int64
remainingCapacity:
type: integer
format: int64
startTime:
type: string
timeOff:
type: integer
format: int64
totalDuration:
type: integer
format: int64
userId:
type: string
userName:
type: string
AttendanceReportDtoV1:
type: object
description: report
properties:
entities:
type: array
description: List of entities
items:
$ref: '#/components/schemas/AttendanceDto'
AttendanceReportFilterV1:
type: object
properties:
amountShown:
type: string
description: If provided, you'll get filtered result including reports with provided amount shown.
enum:
- EARNED
- COST
- PROFIT
- HIDE_AMOUNT
- EXPORT
example: COST
amounts:
type: array
items:
type: string
enum:
- EARNED
- COST
- PROFIT
- HIDE_AMOUNT
- EXPORT
example: '[EARNED, COST]'
approvalState:
type: string
description: If provided, you'll get filtered result including reports with provided approval state.
enum:
- APPROVED
- UNAPPROVED
- ALL
example: APPROVED
archived:
type: boolean
description: Indicates whether the report is archived
example: false
attendanceFilter:
$ref: '#/components/schemas/AttendanceFilterV1'
billable:
type: boolean
description: Indicates whether the report is billable
example: true
clients:
$ref: '#/components/schemas/ContainsArchivedFilterV1'
currency:
$ref: '#/components/schemas/ContainsArchivedFilterV1'
customFields:
type: array
items:
$ref: '#/components/schemas/CustomFieldFilterV1'
dateFormat:
type: string
description: Provide date in format YYYY-MM-DD
example: '2018-11-01'
dateRangeEnd:
type: string
description: Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)
example: '2018-11-30T23:59:59.999'
minLength: 1
dateRangeStart:
type: string
description: Provide date in format YYYY-MM-DDTHH:MM:SS.ssssss. The system interprets this value based on the user's timezone (provided in the timeZone request parameter or the timezone configured in the user profile)
example: '2018-11-01T00:00:00'
minLength: 1
dateRangeType:
type: string
description: Provide the date range type
enum:
- ABSOLUTE
- TODAY
- YESTERDAY
- THIS_WEEK
- LAST_WEEK
- PAST_TWO_WEEKS
- THIS_MONTH
- LAST_MONTH
- THIS_YEAR
- LAST_YEAR
example: LAST_MONTH
description:
type: string
description: Represents search term for filtering report entries by description
example: some description keyword
detailedFilter:
$ref: '#/components/schemas/DetailedFilterV1'
exportType:
type: string
description: If provided, you'll get filtered result including reports with provided export type.
enum:
- JSON
- JSON_V1
- PDF
- CSV
- XLSX
- ZIP
example: JSON
invoicingState:
type: string
description: If provided, you'll get filtered result including reports with provided invoicing state.
enum:
- INVOICED
- UNINVOICED
- ALL
example: INVOICED
projects:
$ref: '#/components/schemas/ContainsArchivedFilterV1'
rounding:
type: boolean
description: Indicates whether the report filter is rounding
example: false
sortOrder:
type: string
description: If provided, you'll get sorted result by provided sort order.
enum:
- ASCENDING
- DESCENDING
example: ASCENDING
summaryFilter:
$ref: '#/components/schemas/SummaryFilterV1'
tags:
$ref: '#/components/schemas/ContainsTagFilterV1'
tasks:
$ref: '#/components/schemas/ContainsTaskFilterV1'
timeFormat:
type: string
description: Provide time in format THH:MM:SS.ssssss
example: T00:00:00
timeZone:
type: string
description: If provided, you'll get filtered result including reports with provided time zone.
example: Europe/Belgrade
userGroups:
$ref: '#/components/schemas/ContainsUsersFilterV1'
userLocale:
type: string
description: If provided, you'll get filtered result including reports with provided user locale.
example: en
users:
$ref: '#/components/schemas/ContainsUsersFilterV1'
weekStart:
type: string
description: If provided, you'll get filtered result including reports with provided week start.
enum:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
example: MONDAY
weeklyFilter:
$ref: '#/components/schemas/WeeklyFilterV1'
withoutDescription:
type: boolean
description: If set to 'true', report will only include entries with empty description
example: false
zoomLevel:
type: string
description: If provided, you'll get filtered result including reports with provided zoom level.
enum:
- WEEK
- MONTH
- YEAR
example: WEEK
required:
- attendanceFilter
- dateRangeEnd
- dateRangeStart
CustomFieldFilterV1:
type: object
description: Represents list of time entry custom field filter objects.
properties:
id:
type: string
description: Represents a custom field identifier across the system.
example: 5b71544ab0798751107918b3
isEmpty:
type: boolean
description: Indicates whether the custom field is empty.
example: false
numberCondition:
type: string
description: Represents a custom field number condition.
enum:
- EQUAL
- GREATER_THAN
- LESS_THAN
example: EQUAL
type:
type: string
description: Represents a type of custom field.
enum:
- TXT
- NUMBER
- DROPDOWN_SINGLE
- DROPDOWN_MULTIPLE
- CHECKBOX
- LINK
example: NUMBER
value:
type: object
description: Represents a custom field value.
example: 2000
securitySchemes:
AddonKeyAuth:
in: header
name: x-addon-token
type: apiKey
ApiKeyAuth:
in: header
name: x-api-key
type: apiKey
MarketplaceKeyAuth:
in: header
name: x-marketplace-token
type: apiKey
ReportAddonKeyAuth:
in: header
name: x-addon-token
type: apiKey
x-tagGroups:
- name: Clockify API
tags:
- User
- Workspace
- Webhooks
- Approval
- Client
- Custom fields
- Expense
- Holiday
- Invoice
- Project
- Task
- Scheduling
- Tag
- Time entry
- Balance
- Policy
- Time Off
- Group
- name: Clockify Reports API
tags:
- Shared Report
- Team Report
- Time Entry Report
- Expense Report
- name: Clockify Audit Log API
tags:
- Audit Log Report
- name: Deprecated API
tags:
- Template (Deprecated)
- Scheduling (Deprecated)
- Workspace (Deprecated)
- name: Experimental API
tags:
- Entity changes (Experimental)
- name: Guide
tags:
- 'Entity Changes: Use cases'