Permissions
Check one permission or many at once for a member, and get the member's full resolved permissions.
Permission checking and inheritance rule management
Check a single permission
/api/permissions/checkResolves whether a Discord member holds a specific permission in a given server. Permissions are derived from their roles and any configured inheritance rules.
Authentication: Project API key (X-API-Key header)
Request body (JSON, required): CheckPermissionDto schema.
Responses
| Status | Description | Body |
|---|---|---|
200 | Permission check result returned. | |
400 | Invalid request body. | |
401 | Valid API key required. | |
403 | Server is disabled or project has no access. |
Open in Swagger (opens in a new tab)
Check multiple permissions (batch)
/api/permissions/check-batchChecks a list of permissions for a member in one call. Set mode to ALL to require every permission, or ANY to pass if at least one matches.
Authentication: Project API key (X-API-Key header)
Request body (JSON, required): CheckPermissionsBatchDto schema.
Responses
| Status | Description | Body |
|---|---|---|
200 | Batch permission check result returned. | |
400 | Invalid request body. | |
401 | Valid API key required. | |
403 | Server is disabled or project has no access. |
Open in Swagger (opens in a new tab)
Get full resolved permissions for a member
/api/permissions/{serverId}/{discordId}Returns every effective permission the member holds in the server, including permissions inherited via role hierarchy rules. Requires the check_permissions scope for this server.
Authentication: Project API key (X-API-Key header)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
serverId | path | string | yes | Discord guild snowflake ID |
discordId | path | string | yes | Discord user snowflake ID |
Responses
| Status | Description | Body |
|---|---|---|
200 | Full permission set returned. | |
400 | Invalid path parameter format. | |
401 | Valid API key required. | |
403 | Server is disabled or project has no access. |
Open in Swagger (opens in a new tab)
Schemas
CheckPermissionDto schema
| Field | Type | Required | Description |
|---|---|---|---|
discordId | string | yes | Discord member ID |
permission | string | yes | Permission name/code to evaluate |
serverId | string | yes | Server (guild) ID context |
CheckPermissionsBatchDto schema
| Field | Type | Required | Description |
|---|---|---|---|
discordId | string | yes | Discord member ID |
mode | "ALL" or "ANY" | yes | ALL = user must hold every permission, ANY = at least one |
permissions | array of string | yes | List of permission keys to check |
serverId | string | yes | Server (guild) ID context |
Source: apps/api/openapi.json.