Groups
A saved group is a named, reusable participant roster โ optionally owned by an organization customer. Attach a group to a booking and its members materialize into the booking's participants through the same write path as every other entry point.
Snapshot semantics: attaching copies the roster into the booking and stamps it with the group id. Editing or deleting the group afterwards never changes existing bookings.
All endpoints require an API key with the groups:read scope (reads) or groups:write scope (mutations).
Endpointsโ
| Method | Endpoint | Scope | Description |
|---|---|---|---|
GET | /v1/groups | groups:read | List groups with member counts |
GET | /v1/groups/{id} | groups:read | One group with its roster |
POST | /v1/groups | groups:write | Create a group (optional starting roster) |
PATCH | /v1/groups/{id} | groups:write | Update name / organization |
PUT | /v1/groups/{id}/members | groups:write | Replace the roster |
DELETE | /v1/groups/{id} | groups:write | Delete a group (past bookings keep their roster) |
POST | /v1/bookings/{id}/groups | groups:write | Attach a group to a booking |
The Group Objectโ
{
"id": 7,
"name": "Tuesday Crew",
"organization": { "id": 44, "name": "Acme Group" },
"organization_customer_id": 44,
"members": [
{
"id": 31,
"customer_id": 55,
"customer": { "id": 55, "name": "Sam Lee", "email": "sam@example.com" },
"notes": null,
"emergency_contact_name": null,
"emergency_contact_phone": null,
"position": 0
}
],
"members_count": 1,
"created_at": "2026-07-20T10:00:00+00:00",
"updated_at": "2026-07-20T10:00:00+00:00"
}