Skip to main content

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

POST/api/permissions/check

Resolves 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

StatusDescriptionBody
200Permission check result returned.
400Invalid request body.
401Valid API key required.
403Server is disabled or project has no access.

Open in Swagger (opens in a new tab)

Check multiple permissions (batch)

POST/api/permissions/check-batch

Checks 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

StatusDescriptionBody
200Batch permission check result returned.
400Invalid request body.
401Valid API key required.
403Server is disabled or project has no access.

Open in Swagger (opens in a new tab)

Get full resolved permissions for a member

GET/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

NameInTypeRequiredDescription
serverIdpathstringyesDiscord guild snowflake ID
discordIdpathstringyesDiscord user snowflake ID

Responses

StatusDescriptionBody
200Full permission set returned.
400Invalid path parameter format.
401Valid API key required.
403Server is disabled or project has no access.

Open in Swagger (opens in a new tab)

Schemas

CheckPermissionDto schema

FieldTypeRequiredDescription
discordIdstringyesDiscord member ID
permissionstringyesPermission name/code to evaluate
serverIdstringyesServer (guild) ID context

CheckPermissionsBatchDto schema

FieldTypeRequiredDescription
discordIdstringyesDiscord member ID
mode"ALL" or "ANY"yesALL = user must hold every permission, ANY = at least one
permissionsarray of stringyesList of permission keys to check
serverIdstringyesServer (guild) ID context

Source: apps/api/openapi.json.