---
title: "POST /rbac/permission_checks/"
method: POST
path: "/rbac/permission_checks/"
tags: ["rbac"]
---

# POST /rbac/permission_checks/

`POST /rbac/permission_checks/`

## Request

- Base URL: `https://api.goauthentik.io/api/v3`
- URL: `https://api.goauthentik.io/api/v3/rbac/permission_checks/`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/goauthentik/apis/authentik/docs/rbac/permission_checks/post.ts> (a function with typed inputs; its response is checked against the schema)

Mixin to add a used_by endpoint to return a list of all objects using this object

## Request body

- PermissionCheckRequest
  - `name` string, required
  - `expression` string, required
  - `endpoints` string[], required

## Response `201`

- PermissionCheck
  - `pk` string, uuid, required
  - `name` string, required
  - `expression` string, required
  - `endpoints` string[], required
  - `unknown_endpoints` string[], required
  - `unknown_fields` object, required

## Other responses

- `400`
- `403`

## Changes

- **2026-11-03** `3a1399fb535d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/goauthentik/apis/authentik/changes/rbac/permission_checks/post.md)

---

[API](https://skmtc.dev/goauthentik/apis/authentik.md) - [All operations](https://skmtc.dev/goauthentik/apis/authentik/llms.txt) - [OpenAPI document](https://skmtc.dev/goauthentik/apis/authentik/revisions/536208a3af61?raw)
