Skip to content

Assign role to user

POST
/api/admin/users/{id}/roles
Code sample: Shell / cURL
curl --request POST \
--url https://auth.example.com/api/admin/users/example/roles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "role_id": "role_support", "scope": "global", "expires_at": null }'

Assigns a role by ID or name to the user. Self-assignment and assignments above the admin hierarchy are rejected.

id
required
string

Role assignment request. Either role_id or role_name is required.

Media type application/json
object
role_id
string
role_name
string
scope
string
Allowed values: global org resource
scope_target
string
expires_at
integer
key
additional properties
Example
{
"role_id": "role_support",
"scope": "global",
"expires_at": null
}

Created role assignment.

Media type application/json
object
success
required
boolean
message
required
string
assignment
required
object
key
additional properties
key
additional properties
Example
{
"success": true,
"message": "Role assigned successfully",
"assignment": {
"id": "ra_123",
"subject_id": "user_123",
"role_id": "role_support",
"role_name": "support_agent",
"scope": "global",
"scope_target": "",
"assigned_by": "admin_123",
"expires_at": null,
"created_at": 1770000000000
}
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}

Error response.

Media type application/json
object
error
string
message
string
error_description
string
key
additional properties
Example generated
{
"error": "example",
"message": "example",
"error_description": "example"
}