Groups — MDDB API
Group management and permissions (admin only)
List all groups #
GET /v1/auth/groups
List all user groups. Requires admin authentication.
Authorization: BearerAuth
Responses #
| Status | Description | Body |
|---|---|---|
200 |
List of groups | GroupsListResponse (application/json) |
403 |
Admin access required | ErrorResponse (application/json) |
Create group #
POST /v1/auth/groups
Create a new user group. Requires admin authentication.
Authorization: BearerAuth
Request body #
Required.
Content type application/json: CreateGroupRequest
{
"description": "Development team",
"members": [
"alice",
"bob"
],
"name": "developers"
}
Responses #
| Status | Description | Body |
|---|---|---|
201 |
Group created | Group (application/json) |
400 |
Invalid request (missing name or group already exists) | ErrorResponse (application/json) |
403 |
Admin access required | ErrorResponse (application/json) |
Get group details #
GET /v1/auth/groups/{name}
Retrieve details for a specific group. Requires admin authentication.
Authorization: BearerAuth
Parameters #
| Name | In | Type | Description |
|---|---|---|---|
name (required) |
path | string |
Group name |
Responses #
| Status | Description | Body |
|---|---|---|
200 |
Group details | Group (application/json) |
403 |
Admin access required | ErrorResponse (application/json) |
404 |
Group not found | ErrorResponse (application/json) |
Update group #
PUT /v1/auth/groups/{name}
Update a group's description and member list. Requires admin authentication.
Authorization: BearerAuth
Parameters #
| Name | In | Type | Description |
|---|---|---|---|
name (required) |
path | string |
Group name |
Request body #
Required.
Content type application/json: UpdateGroupRequest
{
"description": "Development team (updated)",
"members": [
"alice",
"bob",
"charlie"
]
}
Responses #
| Status | Description | Body |
|---|---|---|
200 |
Group updated | Group (application/json) |
400 |
Invalid request | ErrorResponse (application/json) |
403 |
Admin access required | ErrorResponse (application/json) |
404 |
Group not found | ErrorResponse (application/json) |
Delete group #
DELETE /v1/auth/groups/{name}
Delete a group and all its associated permissions. Requires admin authentication.
Authorization: BearerAuth
Parameters #
| Name | In | Type | Description |
|---|---|---|---|
name (required) |
path | string |
Group name |
Responses #
| Status | Description | Body |
|---|---|---|
200 |
Group deleted | object (application/json) |
403 |
Admin access required | ErrorResponse (application/json) |
404 |
Group not found | ErrorResponse (application/json) |
Get group permissions #
GET /v1/auth/group-permissions
Get all permissions for a specific group. Requires admin authentication.
Authorization: BearerAuth
Parameters #
| Name | In | Type | Description |
|---|---|---|---|
group (required) |
query | string |
Group name |
Responses #
| Status | Description | Body |
|---|---|---|
200 |
Group permissions | object (application/json) |
400 |
Group parameter required | ErrorResponse (application/json) |
403 |
Admin access required | ErrorResponse (application/json) |
Set group permission #
POST /v1/auth/group-permissions
Set a collection-level permission for a group. Requires admin authentication.
Authorization: BearerAuth
Request body #
Required.
Content type application/json: GroupPermission
{
"admin": false,
"collection": "blog",
"groupName": "developers",
"read": true,
"write": true
}
Responses #
| Status | Description | Body |
|---|---|---|
200 |
Permission set | object (application/json) |
400 |
Invalid request (missing fields or group not found) | ErrorResponse (application/json) |
403 |
Admin access required | ErrorResponse (application/json) |