---
title: "Create permissions"
method: POST
path: "/resources/permissions/v1"
tags: ["Permissions"]
---

# Create permissions

`POST /resources/permissions/v1`

## Request

- Base URL: `http://localhost:8181`
- URL: `http://localhost:8181/resources/permissions/v1`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/frontegg/apis/entitlements-agent-pdp/docs/resources/permissions/v1/post.ts> (a function with typed inputs; its response is checked against the schema)

This route adds a new permission. Each permission you add requires information about the permission in the POST body. Note that you do not associate permissions to the role here. Use the associate permission to roles route to do that.

## Request body

- AddPermissionRequest[]
  - `key` string, required
  - `name` string, required
  - `description` string
  - `categoryId` string
  - `assignmentType` 'NEVER' | 'ALWAYS' | 'ASSIGNABLE'

## Response `201`

- PermissionResponse[]
  - `id` string, required
  - `key` string, required
  - `name` string, required
  - `description` string, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `roleIds` string[], required
  - `categoryId` string, required
  - `fePermission` boolean, required

---

[API](https://skmtc.dev/frontegg/apis/entitlements-agent-pdp.md) - [All operations](https://skmtc.dev/frontegg/apis/entitlements-agent-pdp/llms.txt) - [OpenAPI document](https://skmtc.dev/frontegg/apis/entitlements-agent-pdp/revisions/c496ae9e1c3e?raw)
