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)
| Name | Type | Description |
|---|---|---|
actionsrequired | array of object | |
actions[].local_idrequired | string | |
actions[].typerequired | "in" | "out" | "break_start" | "break_end" | "switch" | |
actions[].user_idsrequired | array of string | |
actions[].atrequired | string (date-time) | |
actions[].location_id | string | |
actions[].project_id | string or null | |
actions[].activity_id | string or null | |
actions[].crew_id | string | |
actions[].lat | number | |
actions[].lng | number | |
actions[].accuracy_m | number | |
actions[].mocked | boolean | |
actions[].note | string | |
device_now | string (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
| Name | Type | Description |
|---|---|---|
location_idrequired | string | |
crew_id | string |
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
| Name | Type | Description |
|---|---|---|
location_id | string | |
include_archived | boolean |
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)
| Name | Type | Description |
|---|---|---|
namerequired | string | |
location_id | string or null | |
project_id | string or null | |
activity_id | string or null | |
member_idsrequired | array 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
| Name | Type | Description |
|---|---|---|
idrequired | string |
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
| Name | Type | Description |
|---|---|---|
idrequired | string |
Body (JSON)
| Name | Type | Description |
|---|---|---|
name | string | |
location_id | string or null | |
project_id | string or null | |
activity_id | string or null | |
member_ids | array of string | |
archived | boolean |
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
| Name | Type | Description |
|---|---|---|
idrequired | string |
Example
curl -X DELETE "https://ca-api.clocklap.com/v1/crews/{id}" \
-H "Authorization: Bearer $CLOCKLAP_API_KEY"Responses
200