Authentik RBAC API

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

Operations 22

GET /rbac/initial_permissions/ #
POST /rbac/initial_permissions/ #
GET /rbac/initial_permissions/{id}/ #
PUT /rbac/initial_permissions/{id}/ #
PATCH /rbac/initial_permissions/{id}/ #
DELETE /rbac/initial_permissions/{id}/ #
GET /rbac/initial_permissions/{id}/used_by/ #
GET /rbac/permissions/ #
GET /rbac/permissions/{id}/ #
GET /rbac/permissions/assigned_by_roles/ #
POST /rbac/permissions/assigned_by_roles/{uuid}/assign/ #
PATCH /rbac/permissions/assigned_by_roles/{uuid}/unassign/ #
GET /rbac/permissions/roles/ #
GET /rbac/roles/ #
POST /rbac/roles/ #
GET /rbac/roles/{uuid}/ #
PUT /rbac/roles/{uuid}/ #
PATCH /rbac/roles/{uuid}/ #
DELETE /rbac/roles/{uuid}/ #
POST /rbac/roles/{uuid}/add_user/ #
POST /rbac/roles/{uuid}/remove_user/ #
GET /rbac/roles/{uuid}/used_by/ #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/authentik-rbac-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

authentik-rbac-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: authentik Rbac API
  version: 2026.11.0-rc1
  description: Making authentication simple.
  contact:
    email: hello@goauthentik.io
  license:
    name: MIT
    url: https://github.com/goauthentik/authentik/blob/main/LICENSE
  x-source-url: https://api.goauthentik.io/schema.yml
  x-last-validated: '2026-09-04'
servers:
- url: /api/v3
tags:
- name: rbac
paths:
  /rbac/initial_permissions/:
    get:
      operationId: rbac_initial_permissions_list
      description: InitialPermissions viewset
      parameters:
      - $ref: '#/components/parameters/QueryName'
      - $ref: '#/components/parameters/QueryPaginationOrdering'
      - $ref: '#/components/parameters/QueryPaginationPage'
      - $ref: '#/components/parameters/QueryPaginationPageSize'
      - $ref: '#/components/parameters/QuerySearch'
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedInitialPermissionsList'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    post:
      operationId: rbac_initial_permissions_create
      description: InitialPermissions viewset
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitialPermissionsRequest'
        required: true
      security:
      - authentik: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitialPermissions'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/initial_permissions/{id}/:
    get:
      operationId: rbac_initial_permissions_retrieve
      description: InitialPermissions viewset
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this Initial Permissions.
        required: true
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitialPermissions'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    put:
      operationId: rbac_initial_permissions_update
      description: InitialPermissions viewset
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this Initial Permissions.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InitialPermissionsRequest'
        required: true
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitialPermissions'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    patch:
      operationId: rbac_initial_permissions_partial_update
      description: InitialPermissions viewset
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this Initial Permissions.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedInitialPermissionsRequest'
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InitialPermissions'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    delete:
      operationId: rbac_initial_permissions_destroy
      description: InitialPermissions viewset
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this Initial Permissions.
        required: true
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '204':
          description: No response body
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/initial_permissions/{id}/used_by/:
    get:
      operationId: rbac_initial_permissions_used_by_list
      description: Get a list of all objects that use this object
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this Initial Permissions.
        required: true
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UsedBy'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/permissions/:
    get:
      operationId: rbac_permissions_list
      description: Read-only list of all permissions, filterable by model and app
      parameters:
      - in: query
        name: codename
        schema:
          type: string
      - in: query
        name: content_type__app_label
        schema:
          type: string
      - in: query
        name: content_type__model
        schema:
          type: string
      - $ref: '#/components/parameters/QueryPaginationOrdering'
      - $ref: '#/components/parameters/QueryPaginationPage'
      - $ref: '#/components/parameters/QueryPaginationPageSize'
      - in: query
        name: role
        schema:
          type: string
      - $ref: '#/components/parameters/QuerySearch'
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPermissionList'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/permissions/{id}/:
    get:
      operationId: rbac_permissions_retrieve
      description: Read-only list of all permissions, filterable by model and app
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        description: A unique integer value identifying this permission.
        required: true
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Permission'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/permissions/assigned_by_roles/:
    get:
      operationId: rbac_permissions_assigned_by_roles_list
      description: Get assigned object permissions for a single object
      parameters:
      - in: query
        name: model
        schema:
          type: string
        required: true
      - in: query
        name: object_pk
        schema:
          type: string
      - $ref: '#/components/parameters/QueryPaginationOrdering'
      - $ref: '#/components/parameters/QueryPaginationPage'
      - $ref: '#/components/parameters/QueryPaginationPageSize'
      - $ref: '#/components/parameters/QuerySearch'
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleAssignedObjectPermissionList'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/permissions/assigned_by_roles/{uuid}/assign/:
    post:
      operationId: rbac_permissions_assigned_by_roles_assign
      description: 'Assign permission(s) to role. When `object_pk` is set, the permissions

        are only assigned to the specific object, otherwise they are assigned globally.'
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionAssignRequest'
        required: true
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionAssignResult'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/permissions/assigned_by_roles/{uuid}/unassign/:
    patch:
      operationId: rbac_permissions_assigned_by_roles_unassign_partial_update
      description: 'Unassign permission(s) to role. When `object_pk` is set, the permissions

        are only assigned to the specific object, otherwise they are assigned globally.'
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPermissionAssignRequest'
      security:
      - authentik: []
      responses:
        '204':
          description: Successfully unassigned
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/permissions/roles/:
    get:
      operationId: rbac_permissions_roles_list
      description: Get a role's assigned object permissions
      parameters:
      - $ref: '#/components/parameters/QueryPaginationOrdering'
      - $ref: '#/components/parameters/QueryPaginationPage'
      - $ref: '#/components/parameters/QueryPaginationPageSize'
      - $ref: '#/components/parameters/QuerySearch'
      - in: query
        name: uuid
        schema:
          type: string
          format: uuid
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedExtraRoleObjectPermissionList'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/roles/:
    get:
      operationId: rbac_roles_list
      description: Role viewset
      parameters:
      - in: query
        name: groups
        schema:
          type: string
          format: uuid
      - in: query
        name: inherited
        schema:
          type: boolean
        description: Include inherited roles (requires users or groups filter)
      - in: query
        name: managed
        schema:
          type: array
          items:
            type: string
        explode: true
        style: form
      - in: query
        name: managed__isnull
        schema:
          type: boolean
      - $ref: '#/components/parameters/QueryName'
      - $ref: '#/components/parameters/QueryPaginationOrdering'
      - $ref: '#/components/parameters/QueryPaginationPage'
      - $ref: '#/components/parameters/QueryPaginationPageSize'
      - $ref: '#/components/parameters/QuerySearch'
      - in: query
        name: users
        schema:
          type: integer
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleList'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    post:
      operationId: rbac_roles_create
      description: Role viewset
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleRequest'
        required: true
      security:
      - authentik: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/roles/{uuid}/:
    get:
      operationId: rbac_roles_retrieve
      description: Role viewset
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    put:
      operationId: rbac_roles_update
      description: Role viewset
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleRequest'
        required: true
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    patch:
      operationId: rbac_roles_partial_update
      description: Role viewset
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRoleRequest'
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
    delete:
      operationId: rbac_roles_destroy
      description: Role viewset
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '204':
          description: No response body
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/roles/{uuid}/add_user/:
    post:
      operationId: rbac_roles_add_user_create
      description: Add user to role
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAccountSerializerForRoleRequest'
        required: true
      security:
      - authentik: []
      responses:
        '204':
          description: User added
        '404':
          description: User not found
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/roles/{uuid}/remove_user/:
    post:
      operationId: rbac_roles_remove_user_create
      description: Remove user from role
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserAccountSerializerForRoleRequest'
        required: true
      security:
      - authentik: []
      responses:
        '204':
          description: User removed
        '404':
          description: User not found
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
  /rbac/roles/{uuid}/used_by/:
    get:
      operationId: rbac_roles_used_by_list
      description: Get a list of all objects that use this object
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        description: A UUID string identifying this Role.
        required: true
      tags:
      - rbac
      security:
      - authentik: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UsedBy'
          description: ''
        '400':
          $ref: '#/components/responses/ValidationErrorResponse'
        '403':
          $ref: '#/components/responses/GenericErrorResponse'
components:
  parameters:
    QueryPaginationOrdering:
      in: query
      name: ordering
      schema:
        type: string
      description: Which field to use when ordering the results.
    QuerySearch:
      in: query
      name: search
      schema:
        type: string
      description: A search term.
    QueryPaginationPage:
      in: query
      name: page
      schema:
        type: integer
      description: A page number within the paginated result set.
    QueryPaginationPageSize:
      in: query
      name: page_size
      schema:
        type: integer
      description: Number of results to return per page.
    QueryName:
      in: query
      name: name
      schema:
        type: string
  schemas:
    UserAccountSerializerForRoleRequest:
      type: object
      description: Account adding/removing operations
      properties:
        pk:
          type: integer
      required:
      - pk
    Role:
      type: object
      description: Role serializer
      properties:
        pk:
          type: string
          format: uuid
          readOnly: true
          title: Uuid
        name:
          type: string
      required:
      - name
      - pk
    RoleRequest:
      type: object
      description: Role serializer
      properties:
        name:
          type: string
          minLength: 1
      required:
      - name
    PaginatedExtraRoleObjectPermissionList:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        results:
          type: array
          items:
            $ref: '#/components/schemas/ExtraRoleObjectPermission'
        autocomplete:
          $ref: '#/components/schemas/Autocomplete'
      required:
      - autocomplete
      - pagination
      - results
    ModelEnum:
      enum:
      - authentik_tenants.domain
      - authentik_core.group
      - authentik_core.user
      - authentik_core.application
      - authentik_core.applicationentitlement
      - authentik_core.token
      - authentik_core.objectattribute
      - authentik_core.actor
      - authentik_crypto.certificatekeypair
      - authentik_endpoints.deviceuserbinding
      - authentik_endpoints.deviceaccessgroup
      - authentik_endpoints.endpointstage
      - authentik_endpoints_connectors_agent.agentconnector
      - authentik_endpoints_connectors_agent.agentdeviceuserbinding
      - authentik_endpoints_connectors_agent.enrollmenttoken
      - authentik_enterprise.license
      - authentik_events.event
      - authentik_events.notificationtransport
      - authentik_events.notification
      - authentik_events.notificationrule
      - authentik_events.notificationwebhookmapping
      - authentik_flows.flow
      - authentik_flows.flowstagebinding
      - authentik_outposts.dockerserviceconnection
      - authentik_outposts.kubernetesserviceconnection
      - authentik_outposts.outpost
      - authentik_policies_dummy.dummypolicy
      - authentik_policies_event_matcher.eventmatcherpolicy
      - authentik_policies_expiry.passwordexpirypolicy
      - authentik_policies_expression.expressionpolicy
      - authentik_policies_geoip.geoippolicy
      - authentik_policies_password.passwordpolicy
      - authentik_policies_reputation.reputationpolicy
      - authentik_policies.policybinding
      - authentik_providers_ldap.ldapprovider
      - authentik_providers_oauth2.scopemapping
      - authentik_providers_oauth2.oauth2provider
      - authentik_providers_oauth2.oauth2dynamicclientregistration
      - authentik_providers_proxy.proxyprovider
      - authentik_providers_rac.racprovider
      - authentik_providers_rac.endpoint
      - authentik_providers_rac.racpropertymapping
      - authentik_providers_radius.radiusprovider
      - authentik_providers_radius.radiusproviderpropertymapping
      - authentik_providers_saml.samlprovider
      - authentik_providers_saml.samlpropertymapping
      - authentik_providers_scim.scimprovider
      - authentik_providers_scim.scimmapping
      - authentik_rbac.role
      - authentik_rbac.initialpermissions
      - authentik_sources_kerberos.kerberossource
      - authentik_sources_kerberos.kerberossourcepropertymapping
      - authentik_sources_kerberos.userkerberossourceconnection
      - authentik_sources_kerberos.groupkerberossourceconnection
      - authentik_sources_ldap.ldapsource
      - authentik_sources_ldap.ldapsourcepropertymapping
      - authentik_sources_ldap.userldapsourceconnection
      - authentik_sources_ldap.groupldapsourceconnection
      - authentik_sources_oauth.oauthsource
      - authentik_sources_oauth.oauthsourcepropertymapping
      - authentik_sources_oauth.useroauthsourceconnection
      - authentik_sources_oauth.groupoauthsourceconnection
      - authentik_sources_plex.plexsource
      - authentik_sources_plex.plexsourcepropertymapping
      - authentik_sources_plex.userplexsourceconnection
      - authentik_sources_plex.groupplexsourceconnection
      - authentik_sources_saml.samlsource
      - authentik_sources_saml.samlsourcepropertymapping
      - authentik_sources_saml.usersamlsourceconnection
      - authentik_sources_saml.groupsamlsourceconnection
      - authentik_sources_scim.scimsource
      - authentik_sources_scim.scimsourcepropertymapping
      - authentik_sources_telegram.telegramsource
      - authentik_sources_telegram.telegramsourcepropertymapping
      - authentik_sources_telegram.usertelegramsourceconnection
      - authentik_sources_telegram.grouptelegramsourceconnection
      - authentik_stages_authenticator_duo.authenticatorduostage
      - authentik_stages_authenticator_duo.duodevice
      - authentik_stages_authenticator_email.authenticatoremailstage
      - authentik_stages_authenticator_email.emaildevice
      - authentik_stages_authenticator_sms.authenticatorsmsstage
      - authentik_stages_authenticator_sms.smsdevice
      - authentik_stages_authenticator_static.authenticatorstaticstage
      - authentik_stages_authenticator_static.staticdevice
      - authentik_stages_authenticator_totp.authenticatortotpstage
      - authentik_stages_authenticator_totp.totpdevice
      - authentik_stages_authenticator_validate.authenticatorvalidatestage
      - authentik_stages_authenticator_webauthn.authenticatorwebauthnstage
      - authentik_stages_authenticator_webauthn.webauthndevice
      - authentik_stages_captcha.captchastage
      - authentik_stages_consent.consentstage
      - authentik_stages_deny.denystage
      - authentik_stages_dummy.dummystage
      - authentik_stages_email.emailstage
      - authentik_stages_identification.identificationstage
      - authentik_stages_invitation.invitationstage
      - authentik_stages_invitation.invitation
      - authentik_stages_password.passwordstage
      - authentik_stages_prompt.prompt
      - authentik_stages_prompt.promptstage
      - authentik_stages_redirect.redirectstage
      - authentik_stages_user_delete.userdeletestage
      - authentik_stages_user_login.userloginstage
      - authentik_stages_user_logout.userlogoutstage
      - authentik_stages_user_write.userwritestage
      - authentik_tasks_schedules.schedule
      - authentik_brands.brand
      - authentik_blueprints.blueprintinstance
      - authentik_agents.agent
      - authentik_endpoints_connectors_fleet.fleetconnector
      - authentik_endpoints_connectors_google_chrome.googlechromeconnector
      - authentik_lifecycle.lifecyclerule
      - authentik_lifecycle.lifecycleiteration
      - authentik_lifecycle.review
      - authentik_lifecycle.useroffboarding
      - authentik_policies_unique_password.uniquepasswordpolicy
      - authentik_providers_google_workspace.googleworkspaceprovider
      - authentik_providers_google_workspace.googleworkspaceprovidermapping
      - authentik_providers_microsoft_entra.microsoftentraprovider
      - authentik_providers_microsoft_entra.microsoftentraprovidermapping
      - authentik_providers_ssf.ssfprovider
      - authentik_providers_ws_federation.wsfederationprovider
      - authentik_reports.dataexport
      - authentik_requests.requestrulechildbinding
      - authentik_requests.requestrulebinding
      - authentik_requests.requestrule
      - authentik_requests.grantrequest
      - authentik_stages_account_lockdown.accountlockdownstage
      - authentik_stages_authenticator_endpoint_gdtc.authenticatorendpointgdtcstage
      - authentik_stages_mtls.mutualtlsstage
      - authentik_stages_source.sourcestage
      type: string
    PermissionAssignRequest:
      type: object
      description: Request to assign a new permission
      properties:
        permissions:
          type: array
          items:
            type: string
            minLength: 1
        model:
          $ref: '#/components/schemas/ModelEnum'
        object_pk:
          type: string
          minLength: 1
      required:
      - permissions
    PaginatedInitialPermissionsList:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        results:
          type: array
          items:
            $ref: '#/components/schemas/InitialPermissions'
        autocomplete:
          $ref: '#/components/schemas/Autocomplete'
      required:
      - autocomplete
      - pagination
      - results
    PatchedInitialPermissionsRequest:
      type: object
      description: InitialPermissions serializer
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        role:
          type: string
          format: uuid
        permissions:
          type: array
          items:
            type: integer
    PaginatedPermissionList:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        results:
          type: array
          items:
            $ref: '#/components/schemas/Permission'
        autocomplete:
          $ref: '#/components/schemas/Autocomplete'
      required:
      - autocomplete
      - pagination
      - results
    PermissionAssignResult:
      type: object
      description: Result from assigning permissions to a user/role
      properties:
        id:
          type: string
      required:
      - id
    Pagination:
      type: object
      properties:
        next:
          type: number
        previous:
          type: number
        count:
          type: number
        current:
          type: number
        total_pages:
          type: number
        start_index:
          type: number
        end_index:
          type: number
      required:
      - count
      - current
      - end_index
      - next
      - previous
      - start_index
      - total_pages
    RoleModelPermission:
      type: object
      description: Role-bound object level permission
      properties:
        id:
          type: integer
          readOnly: true
        codename:
          type: string
          readOnly: true
        model:
          type: string
          title: Python model class name
          readOnly: true
        app_label:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
      required:
      - app_label
      - codename
      - id
      - model
      - name
    PatchedRoleRequest:
      type: object
      description: Role serializer
      properties:
        name:
          type: string
          minLength: 1
    InitialPermissionsRequest:
      type: object
      description: InitialPermissions serializer
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        role:
          type: string
          format: uuid
        permissions:
          type: array
          items:
            type: integer
      required:
      - name
      - role
    PaginatedRoleList:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        results:
          type: array
          items:
            $ref: '#/components/schemas/Role'
        autocomplete:
          $ref: '#/components/schemas/Autocomplete'
      required:
      - autocomplete
      - pagination
      - results
    PaginatedRoleAssignedObjectPermissionList:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        results:
          type: array
          items:
            $ref: '#/components/schemas/RoleAssignedObjectPermission'
        autocomplete:
          $ref: '#/components/schemas/Autocomplete'
      required:
      - autocomplete
      - pagination
      - results
    ValidationError:
      type: object
      description: Validation Error
      properties:
        non_field_errors:
          type: array
          items:
            type: string
        code:
          type: string
      additionalProperties: {}
    UsedByActionEnum:
      enum:
      - cascade
      - cascade_many
      - set_null
      - set_default
      - left_dangling
      type: string
    Autocomplete:
      type: object
      additionalProperties: {}
    RoleAssignedObjectPermission:
      type: object
      description: Roles assigned object permission serializer
      properties:
        role_pk:
          type: string
          readOnly: true
        name:
          type: string
 

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/authentik/refs/heads/main/openapi/authentik-rbac-api-openapi.yml