List the team's client groups
const url = 'http://localhost:8000/api/client-groups/';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:8000/api/client-groups/ \ --header 'Authorization: Bearer <token>'Every ClientGroup owned by the active team, sorted by name. Each carries its member_ids (the roster) + member_count. Team-scoped.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Number of results to return per page.
The initial index from which to return the results.
Responses
Section titled “Responses”object
A team-scoped client group (#545). name / description / colour
are writable on create + PATCH; the roster (member_ids) is read-only
here — mutate it via the /members/ endpoints. member_count powers
the board column header without a second round-trip.
object
Group name. Required; unique within the team.
Optional free-text description of the group.
Optional UI tint — a design-token key (e.g. tone-recovery) or empty. Cosmetic; the board falls back to a deterministic colour.
UUIDs of the clients in this group (many-to-many).
Number of clients in the group.
Examples
Sprint squad
{ "count": 123, "next": "http://api.example.org/accounts/?offset=400&limit=100", "previous": "http://api.example.org/accounts/?offset=200&limit=100", "results": [ { "id": "b3f1c0a2-0000-4000-8000-000000000001", "name": "Sprint squad", "description": "100–400 m specialists", "colour": "tone-recovery", "member_ids": [ "a1f1c0a2-0000-4000-8000-0000000000aa" ], "member_count": 1, "created_at": "2026-06-10T12:00:00Z", "updated_at": "2026-06-10T12:00:00Z" } ]}object
Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).
Examplegenerated
{ "detail": "example"}