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

# POST /rbac/custom_permissions/

`POST /rbac/custom_permissions/`

## Request

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

Custom permissions

## Request body

- CustomPermissionRequest
  - `codename` string, required
  - `name` string, required
  - `model` string, required

## Response `201`

- CustomPermission
  - `pk` integer, required
  - `codename` string, required
  - `name` string, required
  - `model` string, required
  - `permission` string, required

## Other responses

- `400`
- `403`

## Changes

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

[Operation history](https://skmtc.dev/goauthentik/apis/authentik/changes/rbac/custom_permissions/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)
