---
type: api
title: Security
description: The security APIs enable you to perform security activities, and add, update, retrieve, and remove application privileges, role mappings, and roles. You can also create and update API keys and create and invalidate bearer tokens.
url: https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-security
resource: https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-security
products:
  - Elasticsearch
---

# Security

`security`

The security APIs enable you to perform security activities, and add, update, retrieve, and remove application privileges, role mappings, and roles. You can also create and update API keys and create and invalidate bearer tokens.

[Learn more about security.](https://www.elastic.co/docs/deploy-manage/security)

- [Reset the project encryption key](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-encryption-reset): `POST` `/_encryption/_reset`
- [Authenticate a user](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-authenticate): `GET` `/_security/_authenticate`
- [Find API keys with a query](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-query-api-keys): `POST` (also `GET`) `/_security/_query/api_key`
- [Find roles with a query](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-query-role): `POST` (also `GET`) `/_security/_query/role`
- [Find users with a query](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-query-user): `POST` (also `GET`) `/_security/_query/user`
- [Get API key information](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-api-key): `GET` `/_security/api_key`
- [Create an API key](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-create-api-key): `POST` (also `PUT`) `/_security/api_key`
- [Invalidate API keys](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-invalidate-api-key): `DELETE` `/_security/api_key`
- [Bulk update API keys](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-bulk-update-api-keys): `POST` `/_security/api_key/_bulk_update`
- [Clone an API key](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-clone-api-key): `POST` (also `PUT`) `/_security/api_key/clone`
- [Grant an API key](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-grant-api-key): `POST` `/_security/api_key/grant`
- [Clear the API key cache](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-clear-api-key-cache): `POST` `/_security/api_key/{ids}/_clear_cache`
- [Update an API key](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-update-api-key): `PUT` `/_security/api_key/{id}`
- [Create a cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-create-cross-cluster-api-key): `POST` `/_security/cross_cluster/api_key`
- [Update a cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-update-cross-cluster-api-key): `PUT` `/_security/cross_cluster/api_key/{id}`
- [Delegate PKI authentication](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-delegate-pki): `POST` `/_security/delegate_pki`
- [Enroll Kibana](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-enroll-kibana): `GET` `/_security/enroll/kibana`
- [Enroll a node](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-enroll-node): `GET` `/_security/enroll/node`
- [Get a token](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-token): `POST` `/_security/oauth2/token`
- [Invalidate a token](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-invalidate-token): `DELETE` `/_security/oauth2/token`
- [Authenticate OpenID Connect](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-oidc-authenticate): `POST` `/_security/oidc/authenticate`
- [Logout of OpenID Connect](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-oidc-logout): `POST` `/_security/oidc/logout`
- [Prepare OpenID connect authentication](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-oidc-prepare-authentication): `POST` `/_security/oidc/prepare`
- [Create or update application privileges](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-put-privileges): `POST` (also `PUT`) `/_security/privilege`
- [Get builtin privileges](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-builtin-privileges): `GET` `/_security/privilege/_builtin`
- [Clear the privileges cache](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-clear-cached-privileges): `POST` `/_security/privilege/{application}/_clear_cache`
- [Get application privileges](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-privileges): `GET` `/_security/privilege/{application}/{name}`, `GET` `/_security/privilege/{application}`, `GET` `/_security/privilege`
- [Delete application privileges](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-delete-privileges): `DELETE` `/_security/privilege/{application}/{name}`
- [Activate a user profile](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-activate-user-profile): `POST` `/_security/profile/_activate`
- [Check user profile privileges](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-has-privileges-user-profile): `POST` (also `GET`) `/_security/profile/_has_privileges`
- [Suggest a user profile](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-suggest-user-profiles): `POST` (also `GET`) `/_security/profile/_suggest`
- [Get a user profile](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-user-profile): `GET` `/_security/profile/{uid}`
- [Update user profile data](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-update-user-profile-data): `POST` (also `PUT`) `/_security/profile/{uid}/_data`
- [Disable a user profile](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-disable-user-profile): `POST` (also `PUT`) `/_security/profile/{uid}/_disable`
- [Enable a user profile](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-enable-user-profile): `POST` (also `PUT`) `/_security/profile/{uid}/_enable`
- [Clear the user cache](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-clear-cached-realms): `POST` `/_security/realm/{realms}/_clear_cache`
- [Bulk create or update roles](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-bulk-put-role): `POST` `/_security/role`
- [Bulk delete roles](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-bulk-delete-role): `DELETE` `/_security/role`
- [Get roles](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-role): `GET` `/_security/role/{name}`, `GET` `/_security/role`
- [Create or update roles](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-put-role): `POST` (also `PUT`) `/_security/role/{name}`
- [Delete roles](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-delete-role): `DELETE` `/_security/role/{name}`
- [Clear the roles cache](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-clear-cached-roles): `POST` `/_security/role/{name}/_clear_cache`
- [Get role mappings](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-role-mapping): `GET` `/_security/role_mapping/{name}`, `GET` `/_security/role_mapping`
- [Create or update role mappings](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-put-role-mapping): `POST` (also `PUT`) `/_security/role_mapping/{name}`
- [Delete role mappings](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-delete-role-mapping): `DELETE` `/_security/role_mapping/{name}`
- [Authenticate SAML](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-saml-authenticate): `POST` `/_security/saml/authenticate`
- [Logout of SAML completely](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-saml-complete-logout): `POST` `/_security/saml/complete_logout`
- [Invalidate SAML](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-saml-invalidate): `POST` `/_security/saml/invalidate`
- [Logout of SAML](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-saml-logout): `POST` `/_security/saml/logout`
- [Create SAML service provider metadata](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-saml-service-provider-metadata): `GET` `/_security/saml/metadata/{realm_name}`
- [Prepare SAML authentication](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-saml-prepare-authentication): `POST` `/_security/saml/prepare`
- [Get service accounts](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-service-accounts): `GET` `/_security/service/{namespace}/{service}`, `GET` `/_security/service/{namespace}`, `GET` `/_security/service`
- [Create user-managed service accounts](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-put-user-managed-service-account): `PUT` `/_security/service/{namespace}/{service}`
- [Delete user-managed service accounts](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-delete-user-managed-service-account): `DELETE` `/_security/service/{namespace}/{service}`
- [Get service account credentials](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-service-credentials): `GET` `/_security/service/{namespace}/{service}/credential`
- [Create a service account token](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-create-service-token): `POST` (also `PUT`) `/_security/service/{namespace}/{service}/credential/token/{name}`, `POST` `/_security/service/{namespace}/{service}/credential/token`
- [Delete service account tokens](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-delete-service-token): `DELETE` `/_security/service/{namespace}/{service}/credential/token/{name}`
- [Clear service account token caches](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-clear-cached-service-tokens): `POST` `/_security/service/{namespace}/{service}/credential/token/{name}/_clear_cache`
- [Get security index settings](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-settings): `GET` `/_security/settings`
- [Update security index settings](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-update-settings): `PUT` `/_security/settings`
- [Get security stats](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-stats): `GET` `/_security/stats`
- [Get user privileges](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-user-privileges): `GET` `/_security/user/_privileges`
- [Get users](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-get-user): `GET` `/_security/user/{username}`, `GET` `/_security/user`
- [Create or update users](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-put-user): `POST` (also `PUT`) `/_security/user/{username}`
- [Delete users](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-delete-user): `DELETE` `/_security/user/{username}`
- [Disable users](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-disable-user): `POST` (also `PUT`) `/_security/user/{username}/_disable`
- [Enable users](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-enable-user): `POST` (also `PUT`) `/_security/user/{username}/_enable`
- [Change passwords](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-change-password): `POST` (also `PUT`) `/_security/user/{username}/_password`, `POST` (also `PUT`) `/_security/user/_password`
- [Check user privileges](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-security-has-privileges): `POST` (also `GET`) `/_security/user/{user}/_has_privileges`, `POST` (also `GET`) `/_security/user/_has_privileges`
- [Get SSL certificates](https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-ssl-certificates): `GET` `/_ssl/certificates`
