---
title: "POST /access/roles"
method: POST
path: "/access/roles"
tags: ["Access"]
---

# POST /access/roles

`POST /access/roles`

## Request body

- CustomAccessRoleUpsertRequest
  - `baseRole` 'org:viewer' | 'org:editor' | 'org:admin', required
  - `capabilities` object, required
  - `description` string
  - `name` string, required

## Response `200`

Created custom access role

- AccessRoleResponse
  - `data` AccessRoleOption, required
    - `baseRole` string, required
    - `capabilities` object, required
    - `createdAt` string, date-time
    - `description` string, required
    - `isCustom` boolean, required
    - `name` string, required
    - `role` string, required
    - `updatedAt` string, date-time

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.dev/greentally/apis/esgai-api.md) · [All operations](https://skmtc.dev/greentally/apis/esgai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/greentally/esgai-api/revisions/09945036a28b/schema)
