---
type: api
title: Clear the roles cache
description: Evict roles from the native role cache.
url: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/elasticsearch/v9/operation/operation-security-clear-cached-roles
resource: https://www.elastic.co/elastic/docs-builder/docs/4641/api/doc/elasticsearch/v9/operation/operation-security-clear-cached-roles
products:
  - Elasticsearch
---

# Clear the roles cache

Authentication: required

## Paths

- `POST` `/_security/role/{name}/_clear_cache`

#### Path parameters

- `name` (union string | string[]) — required
  A comma-separated list of roles to evict from the role cache.
To evict all roles, use an asterisk (`*`).
It does not support other wildcard patterns.

## Description

Evict roles from the native role cache.

## Required authorization

- Cluster privileges: `manage_security`

## Response

`application/json`

- `_nodes` (object)
  - `failures` (object[])
    - `type` (string)
      The type of error
    - `reason` (union string) — nullable
      A human-readable explanation of the error, in English.
      One of: `string`
    - `stack_trace` (string)
      The server stack trace. Present only if the `error_trace=true` parameter was sent with the request.
    - `caused_by` (object) — recursive
      Same fields as `failures` in `_nodes`
    - `root_cause` (object[]) — recursive
      Same fields as `failures` in `_nodes`
    - `suppressed` (object[]) — recursive
      Same fields as `failures` in `_nodes`
  - `total` (number)
    Total number of nodes selected by the request.
  - `successful` (number)
    Number of nodes that responded successfully to the request.
  - `failed` (number)
    Number of nodes that rejected the request or failed to respond. If this value is not 0, a reason for the rejection or failure is included in the response.
- `cluster_name` (string)
- `nodes` (map string to object)
  Map values (object)
  - `name` (string)
## Code examples

#### Console

```console
POST /_security/role/my_admin_role/_clear_cache
```

#### JavaScript

```javascript
const response = await client.security.clearCachedRoles({
  name: "my_admin_role",
});
```

#### Python

```python
resp = client.security.clear_cached_roles(
    name="my_admin_role",
)
```

#### curl

```curl
curl -X POST "$ELASTICSEARCH_URL/_security/role/my_admin_role/_clear_cache" \
  -H "Authorization: ApiKey $ELASTIC_API_KEY"
```

#### Java

```java
client.security().clearCachedRoles(c -> c
    .name("my_admin_role")
);
```

#### C#

```c#
var response = await client.Security.ClearCachedRolesAsync(name: new[] { "my_admin_role" });
```

#### PHP

```php
$resp = $client->security()->clearCachedRoles([
    "name" => "my_admin_role",
]);
```

#### Ruby

```ruby
response = client.security.clear_cached_roles(
  name: "my_admin_role"
)
```

## Response examples

#### 200

`application/json`

Generated from the API spec. Values are representative. Unions use the first variant; deeply nested or large bodies may omit fields.

```json
{
  "_nodes": {
    "failures": [
      {
        "type": "string",
        "reason": "string",
        "stack_trace": "string",
        "caused_by": {
          "type": "string",
          "reason": "string",
          "stack_trace": "string",
          "caused_by": {
            "type": "string",
            "stack_trace": "string"
          },
          "root_cause": [],
          "suppressed": []
        },
        "root_cause": [
          {
            "type": "string",
            "stack_trace": "string"
          }
        ],
        "suppressed": [
          {
            "type": "string",
            "stack_trace": "string"
          }
        ]
      }
    ],
    "total": 0,
    "successful": 0,
    "failed": 0
  },
  "cluster_name": "string",
  "nodes": {
    "key": {
      "name": "string"
    }
  }
}
```

