Groups
Group definitions plus membership management (roles, member removal).
Groups are user-facing collections (guilds, clubs, teams). Admin endpoints cover moderation: create a group on behalf of a user, change roles, kick members. Membership paths are scoped by both groupId and memberId so a member from one group can't be mutated via another group's URL.
Source: apps/api/src/routes/admin/groups.ts.
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /admin/projects/:projectId/groups | Create a group and add the owner as member (tx-safe). |
| GET | /admin/projects/:projectId/groups | Paginated list with member_count. |
| PATCH | /admin/projects/:projectId/groups/:groupId | Partial update. |
| DELETE | /admin/projects/:projectId/groups/:groupId | Delete a group. |
| GET | /admin/projects/:projectId/groups/:groupId/members | List members with user info. |
| PATCH | /admin/projects/:projectId/groups/:groupId/members/:memberId | Change a member's role. |
| DELETE | /admin/projects/:projectId/groups/:groupId/members/:memberId | Remove a member. |
POST /admin/projects/:projectId/groups
Creates the group row and inserts the owner into group_members in a single tx.
Request (CreateGroupInput + owner_id)
| Field | Type | Required | Default |
|---|---|---|---|
name | string | yes | — |
description | string | no | null |
avatar_url | string | no | null |
owner_id | uuid | yes | — |
is_public | boolean | no | true |
max_members | number | no | 100 |
metadata | object | no | {} |
Response 201
Try it:
POST
developer auth/admin/projects/%7B%7BprojectId%7D%7D/groupscurl -X POST 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/groups'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
GET /admin/projects/:projectId/groups
Query
| Param | Default |
|---|---|
limit | 50 |
offset | 0 |
Response 200
Try it:
GET
developer auth/admin/projects/%7B%7BprojectId%7D%7D/groupscurl -X GET 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/groups'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
PATCH /admin/projects/:projectId/groups/:groupId
Allowed fields: name, description, avatar_url, is_public, max_members, metadata.
Errors
404 NOT_FOUND.
Try it:
PATCH
developer auth/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7Dcurl -X PATCH 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
DELETE /admin/projects/:projectId/groups/:groupId
Try it:
DELETE
developer auth/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7Dcurl -X DELETE 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
GET /admin/projects/:projectId/groups/:groupId/members
Try it:
GET
developer auth/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D/memberscurl -X GET 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D/members'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
PATCH /admin/projects/:projectId/groups/:groupId/members/:memberId
Request
| Field | Type | Required |
|---|---|---|
role | string | yes |
Errors
404 NOT_FOUND.
Try it:
PATCH
developer auth/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D/members/%7B%7BmemberId%7D%7Dcurl -X PATCH 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D/members/%7B%7BmemberId%7D%7D'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
DELETE /admin/projects/:projectId/groups/:groupId/members/:memberId
Try it:
DELETE
developer auth/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D/members/%7B%7BmemberId%7D%7Dcurl -X DELETE 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/groups/%7B%7BgroupId%7D%7D/members/%7B%7BmemberId%7D%7D'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl: