How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Authentik RBAC API

Role-based access control — roles, global and object-level permissions, and initial permission sets.

Authentik RBAC API is one of 27 APIs that Authentik publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include RBAC. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a GitHub repository.

This API exposes 22 operations across 14 paths, and defines 27 schemas. It is described by OpenAPI 3.2.0, at version 2026.11.0-rc1.

Requests are made against a single base URL, /api/v3.

22 operations 14 paths 27 schemas 2 DELETE10 GET3 PATCH5 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2026.11.0-rc1
Base URL
https://{authentik_host}/api/v3
Authentication
HTTP Bearer, HTTP Bearer+Agent, HTTP Bearer, HTTP Bearer
License
Resource Areas
1

Authentication & Security 4

Authentik RBAC API declares 4 security schemes for authenticating requests. It accepts HTTP bearer tokens (authentik). It uses HTTP bearer+agent authentication (authentik_device_auth). It accepts HTTP bearer tokens (authentik_device_enroll). It accepts HTTP bearer tokens (authentik_device_federation).

Paths & Operations 22

Across 14 paths, the API surfaces 22 operations — 2 DELETE, 10 GET, 3 PATCH, 5 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

rbac 22
GET
/rbac/initial_permissions/
InitialPermissions viewset
rbac_initial_permissions_list 5 params → 200400403
POST
/rbac/initial_permissions/
InitialPermissions viewset
rbac_initial_permissions_create body → 201400403
GET
/rbac/initial_permissions/{id}/
InitialPermissions viewset
rbac_initial_permissions_retrieve 1 param → 200400403
PUT
/rbac/initial_permissions/{id}/
InitialPermissions viewset
rbac_initial_permissions_update 1 param body → 200400403
PATCH
/rbac/initial_permissions/{id}/
InitialPermissions viewset
rbac_initial_permissions_partial_update 1 param body → 200400403
DELETE
/rbac/initial_permissions/{id}/
InitialPermissions viewset
rbac_initial_permissions_destroy 1 param → 204400403
GET
/rbac/initial_permissions/{id}/used_by/
Get a list of all objects that use this object
rbac_initial_permissions_used_by_list 1 param → 200400403
GET
/rbac/permissions/
Read-only list of all permissions, filterable by model and app
rbac_permissions_list 8 params → 200400403
GET
/rbac/permissions/{id}/
Read-only list of all permissions, filterable by model and app
rbac_permissions_retrieve 1 param → 200400403
GET
/rbac/permissions/assigned_by_roles/
Get assigned object permissions for a single object
rbac_permissions_assigned_by_roles_list 6 params → 200400403
POST
/rbac/permissions/assigned_by_roles/{uuid}/assign/
Assign permission(s) to role. When objectpk is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
rbac_permissions_assigned_by_roles_assign 1 param body → 200400403
PATCH
/rbac/permissions/assigned_by_roles/{uuid}/unassign/
Unassign permission(s) to role. When objectpk is set, the permissions are only assigned to the specific object, otherwise they are assigned globally.
rbac_permissions_assigned_by_roles_unassign_partial_update 1 param body → 204400403
GET
/rbac/permissions/roles/
Get a role's assigned object permissions
rbac_permissions_roles_list 5 params → 200400403
GET
/rbac/roles/
Role viewset
rbac_roles_list 10 params → 200400403
POST
/rbac/roles/
Role viewset
rbac_roles_create body → 201400403
GET
/rbac/roles/{uuid}/
Role viewset
rbac_roles_retrieve 1 param → 200400403
PUT
/rbac/roles/{uuid}/
Role viewset
rbac_roles_update 1 param body → 200400403
PATCH
/rbac/roles/{uuid}/
Role viewset
rbac_roles_partial_update 1 param body → 200400403
DELETE
/rbac/roles/{uuid}/
Role viewset
rbac_roles_destroy 1 param → 204400403
POST
/rbac/roles/{uuid}/add_user/
Add user to role
rbac_roles_add_user_create 1 param body → 204404400403
POST
/rbac/roles/{uuid}/remove_user/
Remove user from role
rbac_roles_remove_user_create 1 param body → 204404400403
GET
/rbac/roles/{uuid}/used_by/
Get a list of all objects that use this object
rbac_roles_used_by_list 1 param → 200400403

Schemas 27

The contract defines 27 schemas that model the data the API accepts and returns. The most detailed are ExtraRoleObjectPermission (9 properties), Permission (7 properties), Pagination (7 properties), RoleObjectPermission (6 properties). Each schema is shown below with its type and property counts.

UserAccountSerializerForRoleRequest
object
Account adding/removing operations
1 property 1 required
Role
object
Role serializer
2 properties 2 required
RoleRequest
object
Role serializer
1 property 1 required
PaginatedExtraRoleObjectPermissionList
object
3 properties 3 required
ModelEnum
string
PermissionAssignRequest
object
Request to assign a new permission
3 properties 1 required
PaginatedInitialPermissionsList
object
3 properties 3 required
PatchedInitialPermissionsRequest
object
InitialPermissions serializer
3 properties
PaginatedPermissionList
object
3 properties 3 required
PermissionAssignResult
object
Result from assigning permissions to a user/role
1 property 1 required
Pagination
object
7 properties 7 required
RoleModelPermission
object
Role-bound object level permission
5 properties 5 required
PatchedRoleRequest
object
Role serializer
1 property
InitialPermissionsRequest
object
InitialPermissions serializer
3 properties 2 required
PaginatedRoleList
object
3 properties 3 required
PaginatedRoleAssignedObjectPermissionList
object
3 properties 3 required
ValidationError
object
Validation Error
2 properties
UsedByActionEnum
string
Autocomplete
object
RoleAssignedObjectPermission
object
Roles assigned object permission serializer
4 properties 4 required
ExtraRoleObjectPermission
object
Role permission with additional object-related data
9 properties 9 required
PatchedPermissionAssignRequest
object
Request to assign a new permission
3 properties
RoleObjectPermission
object
Role-bound object level permission
6 properties 6 required
InitialPermissions
object
InitialPermissions serializer
5 properties 4 required
UsedBy
object
A list of all objects referencing the queried object
5 properties 5 required
Permission
object
Global permission
7 properties 7 required
GenericError
object
Generic API Error
2 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

authentik-rbac-api-openapi.yml Raw ↑

Other APIs Authentik publishes across the network.

Authentik Core API
Authentik Crypto API
Authentik Events API
Authentik Flows API
Authentik Policies API
Authentik Providers API
Authentik Schema API
Authentik Sources API
Authentik Stages API
Authentik Admin API
Authentik Agents API
Authentik Authenticators API
Where this information came from

This is an independent, third-party profile of Authentik RBAC API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.