---
title: "Add a permission to the user"
method: POST
path: "/api/v1beta1/users/{username}/permissions"
tags: ["users", "rbac"]
---

# Add a permission to the user

`POST /api/v1beta1/users/{username}/permissions`

## Request body

- Permission — A permission represented in the traditional subject-object-action tuple.
  - `subject` string, guid — The subject the permission is granted to. Can be omitted in relative paths like `/users/{username}/permissions` as it will be overwritten by the relative subject itself.
  - `object` string, guid, required — The object this permission is granted over
  - `action` string, required — The action that is permitted on the object

## Response `200`

The newly created permission

- Permission — A permission represented in the traditional subject-object-action tuple.
  - `subject` string, guid — The subject the permission is granted to. Can be omitted in relative paths like `/users/{username}/permissions` as it will be overwritten by the relative subject itself.
  - `object` string, guid, required — The object this permission is granted over
  - `action` string, required — The action that is permitted on the object

## Other responses

- `401` — Authentication failed
- `404` — A user with the given username doesn't exist
- `409` — The user already has this permission

---

[API](https://skmtc.net/enseadaio/apis/enseada.md) · [All operations](https://skmtc.net/enseadaio/apis/enseada/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/enseadaio/enseada/versions/e8c51f6a5e52/schema)
