Skip to main content

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โ€‹

MethodEndpointScopeDescription
GET/v1/groupsgroups:readList groups with member counts
GET/v1/groups/{id}groups:readOne group with its roster
POST/v1/groupsgroups:writeCreate a group (optional starting roster)
PATCH/v1/groups/{id}groups:writeUpdate name / organization
PUT/v1/groups/{id}/membersgroups:writeReplace the roster
DELETE/v1/groups/{id}groups:writeDelete a group (past bookings keep their roster)
POST/v1/bookings/{id}/groupsgroups:writeAttach 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"
}