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)