---
title: "Create Role"
method: POST
path: "/v1/admin/roles"
tags: ["Admin"]
---

# Create Role

`POST /v1/admin/roles`

## Request body

- CreateRoleBody
  - `name` string, nullable — Name of the role.
  - `permissions` PermissionType[], nullable — List of permissions.
  - `limits` Limit[], nullable — List of limits.
    - `router_id` integer, required — The router ID.
    - `type` 'tpm' | 'tpd' | 'rpm' | 'rpd', required
    - `value` integer, nullable — The limit value.

## Response `201`

Successful Response

- RoleResponse
  - `object` 'role' — Type of the object.
  - `id` integer, required — ID of the role.
  - `name` string, required — Name of the role.
  - `permissions` PermissionType[], required — List of permissions.
  - `limits` Limit[], required — List of limits.
    - `router_id` integer, required — The router ID.
    - `type` 'tpm' | 'tpd' | 'rpm' | 'rpd', required
    - `value` integer, nullable — The limit value.
  - `users` integer, required — Number of users assigned to the role.
  - `created` integer, required — Time of creation, as Unix timestamp.
  - `updated` integer, required — Time of last update, as Unix timestamp.

## Other responses

- `401` — Invalid authentication scheme.<br>Invalid API key.
- `403` — User has no admin rights.<br>Your account has expired. Please contact support to renew your account.
- `409` — Role {role_name} already exists.
- `422` — Validation Error

---

[API](https://skmtc.net/betagouv/apis/opengatellm.md) · [All operations](https://skmtc.net/betagouv/apis/opengatellm/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/betagouv/opengatellm/revisions/0db3023472ef/schema)
