---
title: "Create organization role"
method: POST
path: "/v1/roles"
tags: ["Roles"]
---

# Create organization role

`POST /v1/roles`

Creates a custom organization role with a named permission map.

## Request body

- object
  - `roleName` string, required
  - `permission` object, required

## Response `201`

Organization role created successfully.

- SuccessResponse
  - `success` true, required

## Other responses

- `400` — The role creation request was invalid.
- `401` — The caller must be signed in to create organization roles.
- `403` — Only workspace owners and super-admins can create custom roles.
- `404` — The organization could not be found.

## Changes

- **2026-09-04** `d3984673ccd1` — 1 info
  - added the optional property `capability` to the response with the `400` status

[Change history](https://skmtc.dev/openworklabs/apis/den-api/changes/v1/roles/post.md)

---

[API](https://skmtc.dev/openworklabs/apis/den-api.md) · [All operations](https://skmtc.dev/openworklabs/apis/den-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openworklabs/den-api/revisions/d3984673ccd1/schema)
