The privilege catalog API lets you define and manage the permissions available in your system. Use these endpoints to create fine-grained privileges, organize them into categories, and group them into reusable composite policies. All endpoints in this section require the PrivilegeManagers authorization policy. Pass a valid Bearer token in theDocumentation Index
Fetch the complete documentation index at: https://alphabet-06152314.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Authorization header for every request.
Create a privilege
Categories specified in the
category field are created automatically if they do not already exist.Request body
Unique, immutable identifier for the privilege. Use dot-notation namespacing to keep names readable and collision-free — for example,
report.export or users.invite.Human-readable label shown in management UIs.
Plain-text explanation of what this privilege grants.
Name of the category to place this privilege in. Created automatically when it does not exist.
The resource type this privilege applies to, for example
Report or User.List of actions this privilege covers, for example
["read", "export"].When
true, this privilege applies across all tenants or organizational scopes.Array of privilege IDs (UUID format) that must also be granted for this privilege to be effective.
Arbitrary key-value metadata for this privilege. Use it to attach custom properties consumed by your application logic.
Responses
The ID of the newly created privilege.
Example
List privileges
Query parameters
Page index to retrieve. Values below 1 are coerced to 1.
Number of items per page. Values below 1 are coerced to 50.
Filter results to privileges belonging to this category name.
Full-text search term matched against privilege names and display names.
Set to
true to include soft-deleted (deprecated) privileges in results. Defaults to false.Response — 200 OK
Total number of matching privileges across all pages.
Current page index.
Number of items returned per page.
Example
Get a privilege
Path parameters
The ID of the privilege to retrieve.
Responses
Full privilege detail. Includes all fields from the list response plus
dependencies, actions, and attributes.Returned when no privilege with the given ID exists.
Update a privilege
Path parameters
The ID of the privilege to update.
Request body
Updated human-readable label.
Updated description.
Updated category name.
Updated resource type.
Replacement set of actions. This overwrites the existing actions list.
Replacement set of dependency privilege IDs (UUID format).
Replacement attribute map.
Responses
200 OK
The privilege was updated successfully.
Validation failed or the update was rejected.
Delete a privilege
Path parameters
The ID of the privilege to delete.
Query parameters
When
false (default), the privilege is soft-deleted and marked deprecated. When true, the privilege is permanently removed. Hard delete fails if the privilege is still assigned anywhere.Responses
200 OK
The privilege was deprecated or deleted successfully.
Returned when a hard delete is blocked because the privilege is still assigned.
Create a category
parentCategoryId field.
Request body
Unique name for the category.
Plain-text description of what this category contains.
ID of the parent category. Omit this field to create a top-level category.
Integer sort position used when rendering category lists in UIs.
Responses
The ID of the newly created category.
Category creation failed due to a validation error.
List categories
Response — 200 OK
Move a privilege to a different category
Path parameters
The ID of the privilege to move.
Request body
The ID of the target category.
Responses
200 OK
The privilege was moved successfully.
The move failed, for example because the target category does not exist.
Create a composite policy
Request body
Unique name for the policy.
Plain-text explanation of what this policy grants.
Array of privilege IDs (UUID format) to include in this policy.
Evaluation rule for the policy. Accepted values:
AllRequired— the user must have every privilege in the policy for the policy to evaluate as granted.AnyRequired— the user must have at least one privilege in the policy for the policy to evaluate as granted.
Responses
The ID of the newly created policy.
Policy creation failed due to a validation error.