Alphabet lets authenticated users request temporary access to privileges they do not currently hold. The request captures the desired privilege, the reason, and the duration of access. An admin then approves or denies the request through a dedicated workflow. No access is granted until an admin explicitly approves it.Documentation 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.
Requesting access (end user)
Any authenticated user can submit a privilege request. The request goes into a pending state and is not active until approved.Submit a privilege request
| Field | Type | Required | Description |
|---|---|---|---|
privilegeId | GUID | Yes | The privilege you are requesting. |
reason | string | Yes | Business justification for the request. Visible to the approver and recorded in the audit log. |
requestedDurationDays | integer | Yes | How many days of access you need. Cannot exceed MaxPrivilegeRequestDurationDays (default: 30 days). |
approverEmail | string | No | Email address of the intended approver. The API routes the request to this person. |
The
requestedDurationDays value is capped at MaxPrivilegeRequestDurationDays (30 by default). Requests exceeding this cap return a 400 Bad Request response.View your current privileges
Approving or denying requests (admin)
Admin users with theAdmin or PrivilegeManager role manage the request queue through the admin endpoints. Approving a request grants the privilege immediately for the requested duration. Denying preserves the request and decision for audit.
Approve a request
200 OK response confirms the grant was created. The approval notes are stored in the audit log alongside the request.
Deny a request
Exporting the privilege catalog
You can export the full privilege catalog for offline governance reviews.| Query parameter | Values | Description |
|---|---|---|
format | json, csv | Export format. Defaults to json if omitted. |
Id, Name, DisplayName, Category, IsDeprecated, and IsGlobal columns. Both formats include deprecated privileges.
The export includes up to 5,000 privileges in a single response. For very large catalogs, use the paginated
GET /api/v1/privileges endpoint with pageNumber and pageSize instead.Troubleshooting
Privilege not evaluating correctly after approval
Privilege not evaluating correctly after approval
If a privilege was recently approved but is not showing up in evaluation results, check the following:
- Confirm the request was approved and not denied by calling
GET /api/v1/users/me/privileges. - Check whether a direct deny assignment exists for the same privilege on your account. A deny overrides any grant, including approved self-service grants.
- Check whether the approved assignment has already expired. Duration is calculated from the time of approval.
- If caching is enabled, wait for the
CacheDurationMinutesTTL (default: 5 minutes) to elapse and retry.
Cache seems stale after an assignment change
Cache seems stale after an assignment change
Alphabet caches effective privilege snapshots per user to reduce evaluation latency.
- Direct user assignments (including approved self-service requests) invalidate that user’s cache immediately. You should see the change in the next evaluation.
- Role-level changes do not immediately invalidate the cache. Members of the role see the update after the
CacheDurationMinutesTTL expires (default: 5 minutes).
Request rejected with 400 — duration too long
Request rejected with 400 — duration too long
The
requestedDurationDays value exceeds the MaxPrivilegeRequestDurationDays limit configured on the server (default: 30 days). Submit a new request with a shorter duration, or ask your administrator to grant the privilege directly with a longer expiry using POST /api/v1/users/{userId}/privileges.