---
title: "Create Custom Role"
method: POST
path: "/v0/organizations/{organization_id}/roles"
tags: ["Roles & Permissions"]
---

# Create Custom Role

`POST /v0/organizations/{organization_id}/roles`

Create a custom role for an organization.

Only organization owners can create custom roles.

:param request_fastapi: FastAPI request object.
:param organization_id: Organization ID.
:param role_data: Role creation data.
:param session: Database session.
:return: Created role.

## Path parameters

- `organization_id` integer, required

## Request body

- RoleCreate — Schema for creating a custom role.
  - `name` string, required
  - `description` string, nullable
  - `permission_ids` integer[]

## Response `201`

Successful Response

- RoleResponse — Schema for role response.
  - `id` integer, required
  - `name` string, required
  - `description` string, nullable
  - `organization_id` integer, nullable
  - `is_system_role` boolean, required
  - `created_at` string, date-time, required
  - `permissions` PermissionResponse[]
    - `id` integer, required
    - `name` string, required
    - `description` string, nullable
    - `resource_type` string, required
    - `action` string, required
    - `created_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/unify/apis/unifyai-http-api-reference.md) · [All operations](https://skmtc.net/unify/apis/unifyai-http-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/unify/unifyai-http-api-reference/revisions/900377f918b6/schema)
