---
title: "Assign Role"
method: POST
path: "/v3/users/{userId}/assigned-roles"
tags: ["Roles"]
---

# Assign Role

`POST /v3/users/{userId}/assigned-roles`

Assigns a role to a user. Returns 409 if role is already assigned.

## Request body

- object — An assigned role is a role that has been assigned to a user or team.
  - `role_name` 'Admin' | 'Appearance Maintainer' | 'Application Registration' | 'Certificate Admin' | 'Cloud Gateway Cluster Admin' | 'Cloud Gateway Cluster Viewer' | 'Consumer Admin' | 'Connector' | 'Creator' | 'Debug Session Creator' | 'Deployer' | 'Discovery Admin' | 'Discovery Viewer' | 'Editor' | 'Gateway Service Admin' | 'Integration Admin' | 'Integration Viewer' | 'Key Admin' | 'Maintainer' | 'Network Admin' | 'Network Creator' | 'Network Viewer' | 'Plugin Admin' | 'Plugins Admin' | 'Product Publisher' | 'Publisher' | 'Route Admin' | 'SNI Admin' | 'Scorecard Admin' | 'Scorecard Viewer' | 'Service Admin' | 'Service Creator' | 'Service Viewer' | 'Upstream Admin' | 'Vault Admin' | 'Viewer' | 'Registration Approver' | 'Content Editor' | 'Add On Admin' | 'Add On Viewer' — The desired role.
  - `entity_id` string, uuid — The ID of the entity.
  - `entity_type_name` 'Add Ons' | 'APIs' | 'API Products' | 'Application Auth Strategies' | 'Audit Logs' | 'Control Planes' | 'Dashboards' | 'DCR Providers' | 'Mesh Control Planes' | 'Networks' | 'Portals' | 'Reports' | 'Service Hub' | 'Auth Servers' — The type of entity.
  - `entity_region` 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg' | '*' — Region of the team.

## Response `201`

A get action response of a single assigned role.

- AssignedRole — An assigned role is a role that has been assigned to a user or team.
  - `id` string, uuid — The ID of the role assignment.
  - `role_name` string — Name of the role being assigned.
  - `entity_id` string, uuid — A RBAC entity ID.
  - `entity_type_name` string — Name of the entity type the role is being assigned to.
  - `entity_region` 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg' | '*' — Region of the entity.

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Permission denied
- `404` — Not Found
- `409` — Conflict

---

[API](https://skmtc.net/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-go-sdk/versions/f920f418f552/schema)
