API Reference
Sites
Manage the physical locations (sites) belonging to your customers.
API Reference
Manage the physical locations (sites) belonging to your customers.
/v1/sitesReturns a paginated list of sites (customer locations) in your organization, newest first. Filter by customer or active state.
customers:readModule: customersQuery parameters
limit | integer Page size, 1-100 (default 25). |
cursor | string Opaque cursor from a previous response’s next_cursor. |
customer_id | string (uuid) Filter to a single customer’s sites. |
is_active | enum
|
Request
Response · 200
/v1/sites/{id}Returns a single site by id. Responds 404 if no such site exists in your organization.
customers:readModule: customersPath parameters
idrequired | string (uuid) Site id. |
Request
curl -X GET "https://keepworkersfirst.org/api/v1/sites/c3d4e5f6-3333-4c4d-8e5f-a6b7c8d9e0f1" \
-H "Authorization: Bearer $API_KEY"Response · 200
{
"id": "c3d4e5f6-3333-4c4d-8e5f-a6b7c8d9e0f1",
"customer_id": "b2c3d4e5-2222-4b3c-9d4e-f5a6b7c8d9e0",
"name": "Example Group — North Campus",
"address": {
"line1": null,
"line2": null,
"city": "Seattle",
"state": "WA",
"postal_code": null,
"country": "US"
},
"is_active": true,
"contact_name": null,
"contact_phone": null,
"orientation_required": true,
"staff_requirements": "Two members on-site minimum during operating hours.",
"notes": null,
"created_at": "2026-01-10T09:00:00+00:00",
"updated_at": "2026-05-20T16:45:00+00:00"
}/v1/sitesCreates a site under a customer you own. Emits customer_location.created.
customers:writeModule: customersEmits: customer_location.createdBody parameters
customer_idrequired | string (uuid) Owning customer id (required). |
namerequired | string Site name (required). |
contact_name | string |
contact_phone | string |
orientation_required | boolean |
staff_requirements | string |
notes | string |
Request
Response · 201
/v1/sites/{id}Updates a site’s fields. Only supplied fields change. Emits customer_location.updated.
customers:writeModule: customersEmits: customer_location.updatedPath parameters
idrequired | string (uuid) Site id. |
Body parameters
name | string |
is_active | boolean |
contact_name | string | null |
contact_phone | string | null |
orientation_required | boolean |
staff_requirements | string | null |
notes | string | null |
Request
Response · 200
{
"id": "c3d4e5f6-3333-4c4d-8e5f-a6b7c8d9e0f1",
"customer_id": "b2c3d4e5-2222-4b3c-9d4e-f5a6b7c8d9e0",
"name": "Example Group — North Campus",
"address": {
"line1": null,
"line2": null,
"city": "Seattle",
"state": "WA",
"postal_code": null,
"country": "US"
},
"is_active": true,
"contact_name": null,
"contact_phone": null,
"orientation_required": true,
"staff_requirements": "Two members on-site minimum during operating hours.",
"notes": null,
"created_at": "2026-01-10T09:00:00+00:00",
"updated_at": "2026-05-20T16:45:00+00:00"
}{
"id": "c3d4e5f6-3333-4c4d-8e5f-a6b7c8d9e0f1",
"customer_id": "b2c3d4e5-2222-4b3c-9d4e-f5a6b7c8d9e0",
"name": "Example Group — North Campus",
"address": {
"line1": null,
"line2": null,
"city": "Seattle",
"state": "WA",
"postal_code": null,
"country": "US"
},
"is_active": true,
"contact_name": null,
"contact_phone": null,
"orientation_required": true,
"staff_requirements": "Two members on-site minimum during operating hours.",
"notes": null,
"created_at": "2026-01-10T09:00:00+00:00",
"updated_at": "2026-05-20T16:45:00+00:00"
}{
"data": [
{
"id": "c3d4e5f6-3333-4c4d-8e5f-a6b7c8d9e0f1",
"customer_id": "b2c3d4e5-2222-4b3c-9d4e-f5a6b7c8d9e0",
"name": "Example Group — North Campus",
"address": {
"line1": null,
"line2": null,
"city": "Seattle",
"state": "WA",
"postal_code": null,
"country": "US"
},
"is_active": true,
"contact_name": null,
"contact_phone": null,
"orientation_required": true,
"staff_requirements": "Two members on-site minimum during operating hours.",
"notes": null,
"created_at": "2026-01-10T09:00:00+00:00",
"updated_at": "2026-05-20T16:45:00+00:00"
}
],
"has_more": false,
"next_cursor": null
}curl -X GET "https://keepworkersfirst.org/api/v1/sites" \
-H "Authorization: Bearer $API_KEY"curl -X POST "https://keepworkersfirst.org/api/v1/sites" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"customer_id":"b2c3d4e5-2222-4b3c-9d4e-f5a6b7c8d9e0","name":"Example Group — North Campus"}'curl -X PATCH "https://keepworkersfirst.org/api/v1/sites/c3d4e5f6-3333-4c4d-8e5f-a6b7c8d9e0f1" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"is_active":false}'