---
title: "post roles"
method: POST
path: "/v1/roles"
tags: ["v1", "roles"]
---

# post roles

`POST /v1/roles`

#### Controller: 

`github.com/ubccr/grendel/internal/api.(*Handler).PostRoles`

#### Middlewares:

- `github.com/go-fuego/fuego.defaultLogger.middleware`
- `github.com/ubccr/grendel/internal/api.(*Handler).authMiddleware`

---

Add roles

## Headers

- `Accept` string

## Request body

- PostRolesRequest — PostRolesRequest schema
  - `inherited_role` string
  - `role` string

## Response `200`

OK

- GenericResponse — GenericResponse schema
  - `changed` integer
  - `detail` string
  - `title` string

## Other responses

- `default` — Default Error

## Changes

- **2025-04-25** `26459b338dbb` — 1 info
  - endpoint added
- **2024-12-03** `29c6a9c3f49b` — 1 breaking
  - api path removed without deprecation

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

---

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