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

API reference

Equipment & materials

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

GET/v1/equipmentThe equipment register (cost rates only for people who see costs). mine=true: what I have checked out.

The equipment register (cost rates only for people who see costs). mine=true: what I have checked out.

Query parameters

NameTypeDescription
status"available" | "in_use" | "maintenance"
searchstring
include_archivedboolean
holder_user_idstring
mineboolean

Example

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

Responses

200

POST/v1/equipmentAdd equipment

Add equipment

Body (JSON)

NameTypeDescription
namerequiredstring
typestring or null
serialstring or null
hourly_cost_centsinteger
status"available" | "in_use" | "maintenance"
notesstring or null

Example

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

Responses

200

GET/v1/equipment-usageEquipment hours logged (managers: everyone’s; others: their own)

Equipment hours logged (managers: everyone’s; others: their own)

Query parameters

NameTypeDescription
project_idstring
work_order_idstring
equipment_idstring
user_idstring
fromstring
tostring
limitinteger

Example

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

Responses

200

POST/v1/equipment-usageLog equipment hours on a project or work order (client_ref makes offline retries safe)

Log equipment hours on a project or work order (client_ref makes offline retries safe)

Body (JSON)

NameTypeDescription
equipment_idrequiredstring
hoursrequirednumber
used_onstring
project_idstring or null
work_order_idstring or null
time_entry_idstring or null
user_idstring
notestring or null
client_refstring

Example

curl -X POST "https://ca-api.clocklap.com/v1/equipment-usage" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"equipment_id":"equ_01J…","hours":1}'

Responses

200

DELETE/v1/equipment-usage/{id}Delete one equipment usage

Delete one equipment usage

Path parameters

NameTypeDescription
idrequiredstring

Example

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

Responses

200

GET/v1/equipment/{id}One item with its check-out history and logged hours

One item with its check-out history and logged hours

Path parameters

NameTypeDescription
idrequiredstring

Example

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

Responses

200

PATCH/v1/equipment/{id}Edit equipment, send it to maintenance, or archive it

Edit equipment, send it to maintenance, or archive it

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
namestring
typestring or null
serialstring or null
hourly_cost_centsinteger
status"available" | "in_use" | "maintenance"
notesstring or null
archivedboolean

Example

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

Responses

200

POST/v1/equipment/{id}/check-inCheck equipment back in

Check equipment back in

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
notestring or null

Example

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

Responses

200

POST/v1/equipment/{id}/check-outCheck out to a person or a site (yourself, or anyone for equipment managers)

Check out to a person or a site (yourself, or anyone for equipment managers)

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
user_idstring or null
location_idstring or null
notestring or null

Example

curl -X POST "https://ca-api.clocklap.com/v1/equipment/{id}/check-out" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"use_01J…","location_id":"loc_01J…","note":"string"}'

Responses

200

GET/v1/material-usageMaterials used (managers: everyone’s; others: their own)

Materials used (managers: everyone’s; others: their own)

Query parameters

NameTypeDescription
project_idstring
work_order_idstring
material_idstring
user_idstring
fromstring
tostring
limitinteger

Example

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

Responses

200

POST/v1/material-usageRecord materials used on a project or work order (client_ref makes offline retries safe)

Record materials used on a project or work order (client_ref makes offline retries safe)

Body (JSON)

NameTypeDescription
material_idrequiredstring
qtyrequirednumber
used_onstring
project_idstring or null
work_order_idstring or null
user_idstring
notestring or null
client_refstring

Example

curl -X POST "https://ca-api.clocklap.com/v1/material-usage" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"material_id":"mat_01J…","qty":1}'

Responses

200

DELETE/v1/material-usage/{id}Delete one material usage

Delete one material usage

Path parameters

NameTypeDescription
idrequiredstring

Example

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

Responses

200

GET/v1/materialsThe materials catalog (costs and prices only for people who see costs)

The materials catalog (costs and prices only for people who see costs)

Query parameters

NameTypeDescription
searchstring
include_archivedboolean

Example

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

Responses

200

POST/v1/materialsAdd a material to the catalog

Add a material to the catalog

Body (JSON)

NameTypeDescription
namerequiredstring
skustring or null
unitstring
unit_cost_centsinteger
unit_price_centsinteger or null

Example

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

Responses

200

PATCH/v1/materials/{id}Edit or archive a material

Edit or archive a material

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
namestring
skustring or null
unitstring
unit_cost_centsinteger
unit_price_centsinteger or null
archivedboolean

Example

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

Responses

200

GET/v1/me/equipmentEquipment checked out to me

Equipment checked out to me

Example

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

Responses

200