---
title: "Create a new organization role"
method: POST
path: "/organisations/{org_id}/roles"
tags: ["roles"]
---

# Create a new organization role

`POST /organisations/{org_id}/roles`

## Request

- Base URL: `https://staging.api-golang.boilerplate.hng.tech/api/v1`
- URL: `https://staging.api-golang.boilerplate.hng.tech/api/v1/organisations/{org_id}/roles`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/hngprojects/apis/kimiko-golang-swagger/docs/organisations/:org_id/roles/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a new role within an organization.

## Path parameters

- `org_id` string, uuid, required

## Request body

- OrgRoleCreateSchema
  - `name` string, required: Name of the role.
  - `description` string, required: Description of the role.

## Response `201`

Role created successfully

- OrgRoleCreateResponseSchema
  - `status` string
  - `status_code` integer
  - `message` string

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `422`: Validation error

## Changes

- **2026-07-17** `2d1d3ed96bb9`: 1 info
  - endpoint added
- **2024-08-07** `06cecc2ac126`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/hngprojects/apis/kimiko-golang-swagger/changes/organisations/:org_id/roles/post.md)

---

[API](https://skmtc.dev/hngprojects/apis/kimiko-golang-swagger.md) - [All operations](https://skmtc.dev/hngprojects/apis/kimiko-golang-swagger/llms.txt) - [OpenAPI document](https://skmtc.dev/hngprojects/apis/kimiko-golang-swagger/revisions/2d1d3ed96bb9?raw)
