7 endpoints.
| Method | Path | Summary |
|---|---|---|
GET | /api/permissions/available | Get all available permissions organized by category |
POST | /api/permissions/check | Check if user has specific permissions |
DELETE | /api/permissions/communities/{communityId}/members/{memberId} | Reset a member's permissions to role defaults (admin only) |
GET | /api/permissions/communities/{communityId}/members/{memberId} | Get a member's current and effective permissions (admin only) |
PUT | /api/permissions/communities/{communityId}/members/{memberId} | Update a member's custom permissions (admin only) |
GET | /api/permissions/defaults/{role} | Get default permissions for a specific role |
GET | /api/permissions/my | Get current user's effective permissions in the community |
GET /api/permissions/availableAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
role | query | no | enum: MODERATOR, MEMBER | Filter assignable permissions by role |
Responses
| Status | Description | Body |
|---|---|---|
200 | List of available permissions | — |
POST /api/permissions/checkAuth: Bearer JWT required.
Request body (required) — application/json
| Field | Type | Required | Description |
|---|---|---|---|
permissions | string[] | yes | — |
checkMode | enum: any, all | no | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Permission check result | — |
401 | Authentication required | — |
DELETE /api/permissions/communities/{communityId}/members/{memberId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
memberId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Permissions reset successfully | — |
403 | Permission denied | — |
GET /api/permissions/communities/{communityId}/members/{memberId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
memberId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Member's permissions | — |
403 | Permission denied | — |
PUT /api/permissions/communities/{communityId}/members/{memberId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
memberId | path | yes | string (uuid) | — |
Request body (required) — application/json
| Field | Type | Required | Description |
|---|---|---|---|
useCustomPermissions | boolean | no | — |
permissions | object | no | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Permissions updated successfully | — |
403 | Permission denied | — |
GET /api/permissions/defaults/{role}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
role | path | yes | enum: ADMIN, MODERATOR, MEMBER | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Default permissions for role | — |
GET /api/permissions/myAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | query | no | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | User's effective permissions | — |
401 | Authentication required | — |