---
type: api
title: Add or remove items from the Elasticsearch resource keystore
description: Adds the specified values to the Elasticsearch keystore, or removes the keys for the unspecified values.
url: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/cloud-enterprise/v4/operation/operation-set-deployment-es-resource-keystore
resource: https://www.elastic.co/elastic/docs-builder/docs/4493/api/doc/cloud-enterprise/v4/operation/operation-set-deployment-es-resource-keystore
products:
  - Elastic Cloud Enterprise
---

# Add or remove items from the Elasticsearch resource keystore

## Paths

- `PATCH` `/deployments/{deployment_id}/elasticsearch/{ref_id}/keystore`

#### Path parameters

- `deployment_id` (string) — required
  Identifier for the Deployment
- `ref_id` (string) — required
  User-specified RefId for the Resource (or '_main' if there is only one)

## Description

Adds the specified values to the Elasticsearch keystore, or removes the keys for the unspecified values.

## Authentication

- Basic: `Authorization: Basic <credentials>`
- Api key: `Authorization: <value>`

## Query string parameters

- `validate_only` (boolean · default: false) — optional
  When `true`, does nothing except return the entries' allowlist and reloadability statuses.

## Request body

The new settings that will be applied to the keystore of the Elasticsearch resource.

`application/json`

- `secrets` (map string to object) — required
  List of secrets
  Map values (object)
  - `value` (object) — optional
    Value of this setting. This can either be a string or a JSON object that is stored as a JSON string in the keystore. NOTE: When the keystore secret is unspecified, it is removed.
  - `as_file` (boolean) — optional
    Stores the keystore secret as a file. The default is false, which stores the keystore secret as string when value is a plain string, or true when value is an object.
  - `is_allowlisted` (boolean) — optional
    Read-only field, ignored on write. Only returned when calling the set-deployment-es-resource-keystore endpoint with `validate_only=true`. True if this setting/value pair is allowlisted (the allowlist is for informational purposes).
  - `is_reloadable` (boolean) — optional
    Read-only field, ignored on write. Only returned when calling the set-deployment-es-resource-keystore endpoint with `validate_only=true`. True if this setting is reloadable, or if false it requires a cluster restart.

## Responses

#### `200`

The new contents of the Elasticsearch keystore (or the proposed contents if validate_only is true)

`application/json`

- `secrets` (map string to object)
  List of secrets
  Map values (object)
  - `value` (object)
    Value of this setting. This can either be a string or a JSON object that is stored as a JSON string in the keystore. NOTE: When the keystore secret is unspecified, it is removed.
  - `as_file` (boolean)
    Stores the keystore secret as a file. The default is false, which stores the keystore secret as string when value is a plain string, or true when value is an object.
  - `is_allowlisted` (boolean)
    Read-only field, ignored on write. Only returned when calling the set-deployment-es-resource-keystore endpoint with `validate_only=true`. True if this setting/value pair is allowlisted (the allowlist is for informational purposes).
  - `is_reloadable` (boolean)
    Read-only field, ignored on write. Only returned when calling the set-deployment-es-resource-keystore endpoint with `validate_only=true`. True if this setting is reloadable, or if false it requires a cluster restart.
#### `404`

* The Deployment specified by {deployment_id} cannot be found. (code: `deployments.deployment_not_found`)
* The Resource specified by {ref_id} cannot be found. (code: `deployments.deployment_resource_not_found`)

`application/json`

- `errors` (object[])
  A list of errors that occurred in the failing request
  - `code` (string)
    A structured code representing the error type that occurred
  - `message` (string)
    A human readable message describing the error that occurred
  - `fields` (string[])
    If the error can be tied to a specific field or fields in the user request, this lists those fields
##### Response headers

- `x-cloud-error-codes` (enum)
  The error codes associated with the response

#### `500`

We have failed you. (code: `deployments.metadata_internal_error`)

`application/json`

- `errors` (object[])
  A list of errors that occurred in the failing request
  - `code` (string)
    A structured code representing the error type that occurred
  - `message` (string)
    A human readable message describing the error that occurred
  - `fields` (string[])
    If the error can be tied to a specific field or fields in the user request, this lists those fields
##### Response headers

- `x-cloud-error-codes` (enum)
  The error codes associated with the response

## Code examples

#### curl

```curl
curl -X PATCH "${API_URL}/deployments/${DEPLOYMENT_ID}/elasticsearch/${REF_ID}/keystore" \
  -u "${USERNAME}:${PASSWORD}" \
  -H "Content-Type: application/json" \
  -d '{
    "secrets": {}
  }'
```

