---
title: "POST /v1/iam/users/{userId}/roles"
method: POST
path: "/v1/iam/users/{userId}/roles"
tags: ["IAMService"]
---

# POST /v1/iam/users/{userId}/roles

`POST /v1/iam/users/{userId}/roles`

AssignUserRoles 给用户分配角色；重复角色会自动去重；成功后失效该用户权限缓存。

## Path parameters

- `userId` string, required

## Request body

- IamV1AssignUserRolesRequest
  - `expiresAt` string — 过期时间，Unix 秒；0 表示永不过期。
  - `grantedBy` string — 授予人 ID；若为 0，service 层会尝试从 ctx 注入。
  - `roleIds` string[]
  - `userId` string

## Response `200`

OK

- IamV1AssignUserRolesReply
  - `assigned` integer

---

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