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

API reference

Projects

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

GET/v1/activitiesActivities. With project_id, only those usable with that project.

Activities. With project_id, only those usable with that project.

Query parameters

NameTypeDescription
include_archived"0" | "1" | "true" | "false"
searchstring
project_idstring

Example

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

Responses

200

POST/v1/activitiesAdd an activity

Add an activity

Body (JSON)

NameTypeDescription
namerequiredstring
codestring or null
colorstring
billableboolean
billable_rate_centsinteger or null
project_idsarray of string

Example

curl -X POST "https://ca-api.clocklap.com/v1/activities" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example"}'

Responses

200

GET/v1/activities/{id}Get one activity

Get one activity

Path parameters

NameTypeDescription
idrequiredstring

Example

curl "https://ca-api.clocklap.com/v1/activities/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

PATCH/v1/activities/{id}Edit an activity (archived: false restores it)

Edit an activity (archived: false restores it)

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
namestring
codestring or null
colorstring
billableboolean
billable_rate_centsinteger or null
project_idsarray of string
archivedboolean

Example

curl -X PATCH "https://ca-api.clocklap.com/v1/activities/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

200

DELETE/v1/activities/{id}Archive an activity

Archive an activity

Path parameters

NameTypeDescription
idrequiredstring

Example

curl -X DELETE "https://ca-api.clocklap.com/v1/activities/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

GET/v1/customersClients work is billed to, with how many projects and sites each has

Clients work is billed to, with how many projects and sites each has

Query parameters

NameTypeDescription
include_archived"0" | "1" | "true" | "false"
searchstring

Example

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

Responses

200

POST/v1/customersAdd a client

Add a client

Body (JSON)

NameTypeDescription
namerequiredstring
codestring or null
billable_rate_centsinteger or null
emailstring (email) or null
phonestring or null
addressstring or null

Example

curl -X POST "https://ca-api.clocklap.com/v1/customers" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example"}'

Responses

200

GET/v1/customers/{id}One client with its sites (and their default projects) and its projects

One client with its sites (and their default projects) and its projects

Path parameters

NameTypeDescription
idrequiredstring

Example

curl "https://ca-api.clocklap.com/v1/customers/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

PATCH/v1/customers/{id}Edit a client (archived: false restores it)

Edit a client (archived: false restores it)

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
namestring
codestring or null
billable_rate_centsinteger or null
emailstring (email) or null
phonestring or null
addressstring or null
archivedboolean

Example

curl -X PATCH "https://ca-api.clocklap.com/v1/customers/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

200

DELETE/v1/customers/{id}Archive a client. Its projects and past time are kept.

Archive a client. Its projects and past time are kept.

Path parameters

NameTypeDescription
idrequiredstring

Example

curl -X DELETE "https://ca-api.clocklap.com/v1/customers/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

GET/v1/projectsProjects, with their client and the sites they are limited to. With location_id, only those used there.

Projects, with their client and the sites they are limited to. With location_id, only those used there.

Query parameters

NameTypeDescription
include_archived"0" | "1" | "true" | "false"
searchstring
customer_idstring
location_idstring

Example

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

Responses

200

POST/v1/projectsAdd a project

Add a project

Body (JSON)

NameTypeDescription
namerequiredstring
codestring or null
customer_idstring or null
colorstring
billableboolean
billable_rate_centsinteger or null
budget_hoursnumber or null
location_idsarray of string
invoicingobject or null
invoicing.enabledboolean or null
invoicing.who_can_create"staff" | "managers"
invoicing.default_rate_centsinteger or null
invoicing.currency"CAD" | "USD"
invoicing.tax_profileobject
invoicing.terms_daysinteger
invoicing.prefixstring
invoicing.notesstring
invoicing.require_photoboolean
invoicing.require_signatureboolean

Example

curl -X POST "https://ca-api.clocklap.com/v1/projects" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example"}'

Responses

200

GET/v1/projects/{id}Get one project

Get one project

Path parameters

NameTypeDescription
idrequiredstring

Example

curl "https://ca-api.clocklap.com/v1/projects/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

PATCH/v1/projects/{id}Edit a project (archived: false restores it)

Edit a project (archived: false restores it)

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
namestring
codestring or null
customer_idstring or null
colorstring
billableboolean
billable_rate_centsinteger or null
budget_hoursnumber or null
location_idsarray of string
invoicingobject or null
invoicing.enabledboolean or null
invoicing.who_can_create"staff" | "managers"
invoicing.default_rate_centsinteger or null
invoicing.currency"CAD" | "USD"
invoicing.tax_profileobject
invoicing.terms_daysinteger
invoicing.prefixstring
invoicing.notesstring
invoicing.require_photoboolean
invoicing.require_signatureboolean
archivedboolean

Example

curl -X PATCH "https://ca-api.clocklap.com/v1/projects/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

200

DELETE/v1/projects/{id}Archive a project. Past time keeps it; nobody can pick it any more.

Archive a project. Past time keeps it; nobody can pick it any more.

Path parameters

NameTypeDescription
idrequiredstring

Example

curl -X DELETE "https://ca-api.clocklap.com/v1/projects/{id}" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY"

Responses

200

GET/v1/work/settingsWhether people are asked what they work on, and how many clients, projects and activities are in use

Whether people are asked what they work on, and how many clients, projects and activities are in use

Example

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

Responses

200

PATCH/v1/work/settingsTurn the project picker on or off, or require it when clocking in

Turn the project picker on or off, or require it when clocking in

Body (JSON)

NameTypeDescription
enabledboolean
require_on_clock_inboolean

Example

curl -X PATCH "https://ca-api.clocklap.com/v1/work/settings" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled":true,"require_on_clock_in":true}'

Responses

200