API reference
Reports
18 endpoints. Click one to see its parameters, fields and an example. Code samples use the region you pick.
GET/v1/dashboard/overviewKPIs and charts for the Overview dashboard
KPIs and charts for the Overview dashboard
Query parameters
| Name | Type | Description |
|---|---|---|
location_id | string | |
range | "7" | "30" | "period" | "last_period" | Window for the KPIs and per-location hours; compared with the equal window before it Default "period" |
Example
curl "https://ca-api.clocklap.com/v1/dashboard/overview" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/exportsExported files still kept (30 days by default). People with reports for the whole workspace see everyone's; others see their own
Exported files still kept (30 days by default). People with reports for the whole workspace see everyone's; others see their own
Query parameters
| Name | Type | Description |
|---|---|---|
search | string | |
from | string | |
to | string | |
kind | "hours" | "overtime" | "attendance" | "timesheet" | "people" | "locations" | "time" | "attendance_insights" | |
mine | "true" | "false" | |
cursor | string | |
limit | integer |
Example
curl "https://ca-api.clocklap.com/v1/exports" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
POST/v1/exportsAsk for a report as a file (CSV, Excel or PDF). It is built in the background; poll GET /exports/{id} or listen for export.completed.
Ask for a report as a file (CSV, Excel or PDF). It is built in the background; poll GET /exports/{id} or listen for export.completed.
Body (JSON)
| Name | Type | Description |
|---|---|---|
kindrequired | "hours" | "overtime" | "attendance" | "timesheet" | "people" | "locations" | "time" | "attendance_insights" | |
format | "csv" | "xlsx" | "pdf" | Default "csv" |
params | object | Default {} |
params.from | string | |
params.to | string | |
params.date | string | |
params.location_id | string | |
params.group_by | string (12 values) | |
params.subgroup_by | string (11 values) | |
params.period | "day" | "week" | "month" | |
params.payroll_format | "summary" | "detail" | "adp" | "quickbooks" | |
params.status | string or array of string | |
params.location_ids | array of string | |
params.departments | array of string | |
params.tags | array of string | |
params.user_ids | array of string | |
params.schedules | array of string | |
params.codes | array of string | |
params.project_ids | array of string | |
params.activity_ids | array of string | |
params.customer_ids | array of string | |
params.billable | boolean | |
params.time_format | "hh_mm" | "decimal" | hh_mm (8:30, default) or decimal (8.50) |
params.date_format | "iso" | "us" | "eu" | iso (YYYY-MM-DD, default), us (MM/DD/YYYY) or eu (DD/MM/YYYY) |
params.include | array of "summary" | "raw_entries" | "raw_timesheets" | "member_tabs" | Extra sheets: raw_entries, raw_timesheets, member_tabs (attendance insights). CSV with extra sheets comes as a .zip |
params.role | string | |
params.department | string | |
params.app | "none" | "manual" | "automatic" | |
params.search | string | |
params.range | "yesterday" | "last_7_days" | "last_week" | "last_month" | "current_pay_period" | "last_pay_period" |
Example
curl -X POST "https://ca-api.clocklap.com/v1/exports" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"kind":"hours","format":"csv","params":{}}'Responses
200
GET/v1/exports/{id}Get one export
Get one export
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | string |
Example
curl "https://ca-api.clocklap.com/v1/exports/{id}" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
DELETE/v1/exports/{id}Delete an exported file (its requester, or a workspace-wide reports admin)
Delete an exported file (its requester, or a workspace-wide reports admin)
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | string |
Example
curl -X DELETE "https://ca-api.clocklap.com/v1/exports/{id}" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/exports/{id}/downloadDownload a finished export
Download a finished export
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | string |
Example
curl "https://ca-api.clocklap.com/v1/exports/{id}/download" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/exports/{id}/fileDownload an export with a signed link (valid 24 hours)
Download an export with a signed link (valid 24 hours)
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | string |
Query parameters
| Name | Type | Description |
|---|---|---|
exprequired | number | |
sigrequired | string |
Example
curl "https://ca-api.clocklap.com/v1/exports/{id}/file" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/report-schedulesReports emailed on a schedule
Reports emailed on a schedule
Example
curl "https://ca-api.clocklap.com/v1/report-schedules" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
POST/v1/report-schedulesCreate a report schedule
Create a report schedule
Body (JSON)
| Name | Type | Description |
|---|---|---|
namerequired | string | |
kindrequired | "hours" | "overtime" | "attendance" | "timesheet" | "people" | "locations" | "time" | "attendance_insights" | |
formatrequired | "csv" | "xlsx" | "pdf" | |
params | object | Default {} |
params.from | string | |
params.to | string | |
params.date | string | |
params.location_id | string | |
params.group_by | string (12 values) | |
params.subgroup_by | string (11 values) | |
params.period | "day" | "week" | "month" | |
params.payroll_format | "summary" | "detail" | "adp" | "quickbooks" | |
params.status | string or array of string | |
params.location_ids | array of string | |
params.departments | array of string | |
params.tags | array of string | |
params.user_ids | array of string | |
params.schedules | array of string | |
params.codes | array of string | |
params.project_ids | array of string | |
params.activity_ids | array of string | |
params.customer_ids | array of string | |
params.billable | boolean | |
params.time_format | "hh_mm" | "decimal" | hh_mm (8:30, default) or decimal (8.50) |
params.date_format | "iso" | "us" | "eu" | iso (YYYY-MM-DD, default), us (MM/DD/YYYY) or eu (DD/MM/YYYY) |
params.include | array of "summary" | "raw_entries" | "raw_timesheets" | "member_tabs" | Extra sheets: raw_entries, raw_timesheets, member_tabs (attendance insights). CSV with extra sheets comes as a .zip |
params.role | string | |
params.department | string | |
params.app | "none" | "manual" | "automatic" | |
params.search | string | |
params.range | "yesterday" | "last_7_days" | "last_week" | "last_month" | "current_pay_period" | "last_pay_period" | |
frequencyrequired | "daily" | "weekly" | "monthly" | |
weekday | integer | |
day_of_month | integer | |
hourrequired | integer | |
recipientsrequired | array of string (email) | |
active | boolean |
Example
curl -X POST "https://ca-api.clocklap.com/v1/report-schedules" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Example","kind":"hours","format":"csv","frequency":"daily","hour":0,"recipients":["[email protected]"]}'Responses
200
PUT/v1/report-schedules/{id}Replace one report schedule
Replace one report schedule
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | string |
Body (JSON)
| Name | Type | Description |
|---|---|---|
namerequired | string | |
kindrequired | "hours" | "overtime" | "attendance" | "timesheet" | "people" | "locations" | "time" | "attendance_insights" | |
formatrequired | "csv" | "xlsx" | "pdf" | |
params | object | Default {} |
params.from | string | |
params.to | string | |
params.date | string | |
params.location_id | string | |
params.group_by | string (12 values) | |
params.subgroup_by | string (11 values) | |
params.period | "day" | "week" | "month" | |
params.payroll_format | "summary" | "detail" | "adp" | "quickbooks" | |
params.status | string or array of string | |
params.location_ids | array of string | |
params.departments | array of string | |
params.tags | array of string | |
params.user_ids | array of string | |
params.schedules | array of string | |
params.codes | array of string | |
params.project_ids | array of string | |
params.activity_ids | array of string | |
params.customer_ids | array of string | |
params.billable | boolean | |
params.time_format | "hh_mm" | "decimal" | hh_mm (8:30, default) or decimal (8.50) |
params.date_format | "iso" | "us" | "eu" | iso (YYYY-MM-DD, default), us (MM/DD/YYYY) or eu (DD/MM/YYYY) |
params.include | array of "summary" | "raw_entries" | "raw_timesheets" | "member_tabs" | Extra sheets: raw_entries, raw_timesheets, member_tabs (attendance insights). CSV with extra sheets comes as a .zip |
params.role | string | |
params.department | string | |
params.app | "none" | "manual" | "automatic" | |
params.search | string | |
params.range | "yesterday" | "last_7_days" | "last_week" | "last_month" | "current_pay_period" | "last_pay_period" | |
frequencyrequired | "daily" | "weekly" | "monthly" | |
weekday | integer | |
day_of_month | integer | |
hourrequired | integer | |
recipientsrequired | array of string (email) | |
active | boolean |
Example
curl -X PUT "https://ca-api.clocklap.com/v1/report-schedules/{id}" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Example","kind":"hours","format":"csv","frequency":"daily","hour":0,"recipients":["[email protected]"]}'Responses
200
DELETE/v1/report-schedules/{id}Delete one report schedule
Delete one report schedule
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | string |
Example
curl -X DELETE "https://ca-api.clocklap.com/v1/report-schedules/{id}" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
POST/v1/report-schedules/{id}/sendSend a scheduled report now
Send a scheduled report now
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | string |
Example
curl -X POST "https://ca-api.clocklap.com/v1/report-schedules/{id}/send" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/reports/attendanceList attendance
List attendance
Query parameters
| Name | Type | Description |
|---|---|---|
fromrequired | string | |
torequired | string | |
location_id | string |
Example
curl "https://ca-api.clocklap.com/v1/reports/attendance" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/reports/attendance-insightsPer person: scheduled vs worked, absences, late ins, early outs and time lost; detail=true adds each day
Per person: scheduled vs worked, absences, late ins, early outs and time lost; detail=true adds each day
Query parameters
| Name | Type | Description |
|---|---|---|
from | string | |
to | string | |
period | "day" | "week" | "month" | Instead of from/to: the day, week or month around date (today by default) |
date | string | |
location_ids | string or array of string | Sites (and everything under them) |
departments | string or array of string | Departments; '_none' = no department |
tags | string or array of string | Tags; '_none' = no tag |
user_ids | string or array of string | |
schedules | string or array of string | Schedule pattern keys from GET /reports/schedule-patterns |
codes | string or array of string | Employee IDs or external ID values |
project_ids | string or array of string | '_none' = no project |
activity_ids | string or array of string | '_none' = no activity |
customer_ids | string or array of string | Clients; '_none' = no client |
billable | "true" | "false" | |
status | string or array of string | Entry statuses: open, closed, flagged, approved, locked |
detail | "true" | "false" |
Example
curl "https://ca-api.clocklap.com/v1/reports/attendance-insights" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/reports/hoursList hours
List hours
Query parameters
| Name | Type | Description |
|---|---|---|
fromrequired | string | |
torequired | string | |
group_by | "location" | "user" | "day" | "week" | "department" | "tag" | Default "location" |
location_id | string | |
format | "json" | "csv" | Default "json" |
Example
curl "https://ca-api.clocklap.com/v1/reports/hours" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/reports/overtimeOvertime by person for a date range, highest first
Overtime by person for a date range, highest first
Query parameters
| Name | Type | Description |
|---|---|---|
fromrequired | string | |
torequired | string | |
location_id | string |
Example
curl "https://ca-api.clocklap.com/v1/reports/overtime" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/reports/schedule-patternsWeekly schedule patterns people follow, for the Schedules filter
Weekly schedule patterns people follow, for the Schedules filter
Example
curl "https://ca-api.clocklap.com/v1/reports/schedule-patterns" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200
GET/v1/reports/timeTracked time grouped (and optionally subgrouped) by member, location, department, tag, project, activity, client, day, week, month or schedule
Tracked time grouped (and optionally subgrouped) by member, location, department, tag, project, activity, client, day, week, month or schedule
Query parameters
| Name | Type | Description |
|---|---|---|
from | string | |
to | string | |
period | "day" | "week" | "month" | Instead of from/to: the day, week or month around date (today by default) |
date | string | |
location_ids | string or array of string | Sites (and everything under them) |
departments | string or array of string | Departments; '_none' = no department |
tags | string or array of string | Tags; '_none' = no tag |
user_ids | string or array of string | |
schedules | string or array of string | Schedule pattern keys from GET /reports/schedule-patterns |
codes | string or array of string | Employee IDs or external ID values |
project_ids | string or array of string | '_none' = no project |
activity_ids | string or array of string | '_none' = no activity |
customer_ids | string or array of string | Clients; '_none' = no client |
billable | "true" | "false" | |
status | string or array of string | Entry statuses: open, closed, flagged, approved, locked |
group_by | string (11 values) | Default "member" |
subgroup_by | string (11 values) |
Example
curl "https://ca-api.clocklap.com/v1/reports/time" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200