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

API reference

Crews

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

POST/v1/crew/punchesClock a crew in or out, start or end their breaks, or switch their project or activity. Idempotent per person on local_id.

Clock a crew in or out, start or end their breaks, or switch their project or activity. Idempotent per person on local_id.

Each action applies to every person in user_ids, as a punch with source crew made by you (needs time.edit where they work). Actions are applied in time order; each person's result stands alone. Send the same local_id again (an offline phone retrying) and nothing is applied twice.

Body (JSON)

NameTypeDescription
actionsrequiredarray of object
actions[].local_idrequiredstring
actions[].typerequired"in" | "out" | "break_start" | "break_end" | "switch"
actions[].user_idsrequiredarray of string
actions[].atrequiredstring (date-time)
actions[].location_idstring
actions[].project_idstring or null
actions[].activity_idstring or null
actions[].crew_idstring
actions[].latnumber
actions[].lngnumber
actions[].accuracy_mnumber
actions[].mockedboolean
actions[].notestring
device_nowstring (date-time)

Example

curl -X POST "https://ca-api.clocklap.com/v1/crew/punches" \
  -H "Authorization: Bearer $CLOCKLAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"actions":[{"local_id":"loc_01J…","type":"in","user_ids":[],"at":"2026-10-26T13:00:00Z"}],"device_now":"2026-10-26T13:00:00Z"}'

Responses

200

GET/v1/crew/rosterPeople you can clock in at a site, with whether each is in, on break or out now. With crew_id, that crew’s members too.

People you can clock in at a site, with whether each is in, on break or out now. With crew_id, that crew’s members too.

Query parameters

NameTypeDescription
location_idrequiredstring
crew_idstring

Example

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

Responses

200

GET/v1/crewsSaved crews at the sites you manage time for

Saved crews at the sites you manage time for

Query parameters

NameTypeDescription
location_idstring
include_archivedboolean

Example

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

Responses

200

POST/v1/crewsSave a crew: a name, its usual site, project and activity, and its members

Save a crew: a name, its usual site, project and activity, and its members

Body (JSON)

NameTypeDescription
namerequiredstring
location_idstring or null
project_idstring or null
activity_idstring or null
member_idsrequiredarray of string

Example

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

Responses

200

GET/v1/crews/{id}Get one crew

Get one crew

Path parameters

NameTypeDescription
idrequiredstring

Example

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

Responses

200

PATCH/v1/crews/{id}Rename a crew, change its members, site or work (archived: false restores it)

Rename a crew, change its members, site or work (archived: false restores it)

Path parameters

NameTypeDescription
idrequiredstring

Body (JSON)

NameTypeDescription
namestring
location_idstring or null
project_idstring or null
activity_idstring or null
member_idsarray of string
archivedboolean

Example

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

Responses

200

DELETE/v1/crews/{id}Archive a crew. Time its members worked is unaffected.

Archive a crew. Time its members worked is unaffected.

Path parameters

NameTypeDescription
idrequiredstring

Example

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

Responses

200