---
title: "List roles assigned to multiple users."
method: POST
path: "/access-control/users/roles/search"
tags: ["access_control", "enterprise"]
---

# List roles assigned to multiple users.

`POST /access-control/users/roles/search`

## Request

- Base URL: `/api` (relative, and the document’s source URL is not known)
- URL: `/api/access-control/users/roles/search`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`

Lists the roles that have been directly assigned to the given users. The list does not include built-in roles (Viewer, Editor, Admin or Grafana Admin), and it does not include roles that have been inherited from a team.

You need to have a permission with action `users.roles:read` and scope `users:id:*`.

## Request body

- RolesSearchQuery
  - `includeHidden` boolean
  - `orgId` integer
  - `teamIds` integer[]
  - `userIds` integer[]

## Response `200`

(empty)

- object

## Other responses

- `400`: BadRequestError is returned when the request is invalid and it cannot be processed.
- `403`: ForbiddenError is returned if the user/token has insufficient permissions to access the requested resource.
- `500`: InternalServerError is a general error indicating something went wrong internally.

---

[API](https://skmtc.dev/grafana/apis/grafana-http-api.md) - [All operations](https://skmtc.dev/grafana/apis/grafana-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grafana/apis/grafana-http-api/revisions/df55ba1718ba?raw)
