---
type: api
title: Query roles
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/kibana/v8/operation/operation-post-security-role-query
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/kibana/v8/operation/operation-post-security-role-query
products:
  - Kibana
---

# Query roles

- Server: `https://{kibana_url}`

## Paths

- `POST` `/api/security/role/_query`

## Authentication

- Api key: `Authorization: <value>`
  These APIs use key-based authentication. You must create an API key and use the encoded value in the request header. For example: `Authorization: ApiKey base64AccessApiKey`
- Basic: `Authorization: Basic <credentials>`

## Header parameters

- `kbn-xsrf` (string) — required
  A required header to protect against CSRF attacks

## Request body

`application/json`

- `filters` (object) — optional
  - `showReservedRoles` (boolean) — optional
- `from` (number) — optional
- `query` (string) — optional
- `size` (number) — optional
- `sort` (object) — optional
  - `direction` (enum) — required
    Values: `asc`, `desc`
  - `field` (string) — required

## Response

Indicates a successful call.

## Code examples

#### Console

```console
POST kbn:/api/security/role/_query
{}
```

#### curl

```curl
curl -X POST "${KIBANA_URL}/api/security/role/_query" \
  -H "kbn-xsrf: true" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{}'
```

