---
title: "POST /campaign/{id}/role"
method: POST
path: "/campaign/{id}/role"
tags: ["Campaign"]
---

# POST /campaign/{id}/role

`POST /campaign/{id}/role`

Creates a new role in a campaign.

## Path parameters

- `id` integer, required

## Request body

- object
  - `name` string
  - `description` string
  - `min_available` unknown
  - `max_available` unknown
  - `finalised` boolean — Whether this role has been finalised (e.g. max available number)

## Response `200`

OK

- object
  - `message` string

## Other responses

- `403` — User is not a Campaign Admin.

## Changes

- **2025-07-15** `4fc8206e1afe` — 1 info
  - endpoint added
- **2024-04-14** `5acc2e0d80e9` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/devsoc-unsw/apis/chaos-api/changes/campaign/:id/role/post.md)

---

[API](https://skmtc.dev/devsoc-unsw/apis/chaos-api.md) · [All operations](https://skmtc.dev/devsoc-unsw/apis/chaos-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/devsoc-unsw/chaos-api/revisions/b169cdb125bd/schema)
