---
title: "[Internal] Create role"
method: POST
path: "/api/roles"
tags: ["Roles"]
---

# \[Internal\] Create role

`POST /api/roles`

## Request

- Base URL: `https://api.typless.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.typless.com/api/roles`
- Auth: none declared

## Request body

- CreateRoleRequest
  - `name` string, required
  - `description` string, nullable
  - `permissions` string[]

## Response `200`

Successful Response

- RoleResponse
  - `aggregate_id` string, uuid, required
  - `tenant_id` string, uuid, required
  - `name` string, required
  - `description` string, nullable, required
  - `permissions` string[], required
  - `is_system_default` boolean, required
  - `is_owner_role` boolean, required
  - `assignment_count` integer
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/typless/apis/typless-api.md) · [All operations](https://skmtc.dev/typless/apis/typless-api/llms.txt) · [OpenAPI document](https://skmtc.dev/typless/apis/typless-api/revisions/d614787a47ef?raw)
