Skip to content
ClockLap Developers
API reference clocklap.com Get an API key

API reference

Time off

13 endpoints. Click one to see its parameters, fields and an example. Code samples use the region you pick.

GET/v1/time-offRequests I can see (mine, or my team's)

Requests I can see (mine, or my team's)

Query parameters

NameTypeDescription
status"pending" | "approved" | "rejected" | "cancelled"
fromstring
tostring
user_idstring
mineboolean
location_idstring
limitinteger
cursorstring

Example

curl "https://ca-api.clocklap.com/v1/time-off" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

POST/v1/time-offAsk for time off (or add it for someone you manage, approved straight away)

Ask for time off (or add it for someone you manage, approved straight away)

Body (JSON)

NameTypeDescription
typerequired"vacation" | "sick" | "personal" | "unpaid" | "other"
start_daterequiredstring
end_daterequiredstring
minutes_per_dayinteger
notestring
user_idstring

Example

curl -X POST "https://ca-api.clocklap.com/v1/time-off" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"vacation","start_date":"2026-10-26","end_date":"2026-10-26"}'

Responses

200

POST/v1/time-off/{id}/approveApprove

Approve

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
notestring

Example

curl -X POST "https://ca-api.clocklap.com/v1/time-off/{id}/approve" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"note":"string"}'

Responses

200

POST/v1/time-off/{id}/cancelCancel

Cancel

Path parameters

NameTypeDescription
idrequiredstring

Example

curl -X POST "https://ca-api.clocklap.com/v1/time-off/{id}/cancel" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

POST/v1/time-off/{id}/rejectReject

Reject

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
notestring

Example

curl -X POST "https://ca-api.clocklap.com/v1/time-off/{id}/reject" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"note":"string"}'

Responses

200

POST/v1/time-off/accruals/runBring every balance up to date now (it also runs every hour)

Bring every balance up to date now (it also runs every hour)

Example

curl -X POST "https://ca-api.clocklap.com/v1/time-off/accruals/run" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

POST/v1/time-off/adjustmentsAdd or take away hours from someone's balance, with a reason

Add or take away hours from someone's balance, with a reason

Body (JSON)

NameTypeDescription
user_idrequiredstring
leave_typerequired"vacation" | "sick" | "personal"
hoursrequirednumber
noterequiredstring
datestring
kind"adjustment" | "carryover"

Example

curl -X POST "https://ca-api.clocklap.com/v1/time-off/adjustments" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"use_01J…","leave_type":"vacation","hours":1,"note":"string"}'

Responses

200

GET/v1/time-off/balanceAllowance and days used this year

Allowance and days used this year

Query parameters

NameTypeDescription
user_idstring

Example

curl "https://ca-api.clocklap.com/v1/time-off/balance" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

GET/v1/time-off/impactHours a request would use and what is left after it

Hours a request would use and what is left after it

Query parameters

NameTypeDescription
typerequired"vacation" | "sick" | "personal" | "unpaid" | "other"
start_daterequiredstring
end_daterequiredstring
user_idstring
minutes_per_dayinteger
request_idstringA pending request being decided: its own hours are added back to what is available

Example

curl "https://ca-api.clocklap.com/v1/time-off/impact" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

GET/v1/time-off/ledgerBalance history: accruals, time taken, adjustments, expiry (newest first)

Balance history: accruals, time taken, adjustments, expiry (newest first)

Query parameters

NameTypeDescription
user_idstring
leave_type"vacation" | "sick" | "personal"
limitinteger

Example

curl "https://ca-api.clocklap.com/v1/time-off/ledger" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

GET/v1/time-off/presetsAccrual starting points by province or country (not legal advice)

Accrual starting points by province or country (not legal advice)

Example

curl "https://ca-api.clocklap.com/v1/time-off/presets" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

GET/v1/time-off/settingsLeave types, accrual rules, holiday calendars and holiday pay (workspace or a location), with presets

Leave types, accrual rules, holiday calendars and holiday pay (workspace or a location), with presets

Query parameters

NameTypeDescription
location_idstring

Example

curl "https://ca-api.clocklap.com/v1/time-off/settings" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

PUT/v1/time-off/settingsChange time off rules and holidays (merged into the workspace or location rules)

Change time off rules and holidays (merged into the workspace or location rules)

Body (JSON)

NameTypeDescription
location_idstring or null
time_offobject
time_off.vacation_days_per_yearnumber or null
time_off.sick_days_per_yearnumber or null
time_off.workday_hnumber
time_off.paid_typesarray of "vacation" | "sick" | "personal" | "unpaid" | "other"
time_off.accrualobject
time_off.presetstring or null
holidaysobject
holidays.calendarsarray of string (16 values)
holidays.pay"none" | "flat_hours" | "ontario_formula"
holidays.flat_hoursnumber
holidays.premium_multipliernumber
inheritarray of string

Example

curl -X PUT "https://ca-api.clocklap.com/v1/time-off/settings" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location_id":"loc_01J…","time_off":{},"holidays":{"calendars":["ca"],"pay":"none","flat_hours":0,"premium_multiplier":1},"inherit":["string"]}'

Responses

200