Elastic Cloud Enterprise API
1

Base URL
https://{{hostname}}/api/v1

This RESTful API enables you to create and manage both your Elastic Stack deployments and the ECE platform.

NOTE: This documentation applies to the Elastic Cloud Enterprise API only. If you are using Elasticsearch Service, use the Elastic Cloud API.

This API supports both key-based and token-based authentication. Key-based is generally the preferred method. For details about creating an API key or bearer token, refer to Authentication.

Documentation source and versions

This documentation is derived from https://api.elastic-cloud.com/api/v1/api-docs/swagger.json. It is provided under license Attribution-NonCommercial-NoDerivatives 4.0 International.

This is version 1 of this API documentation. Last update on Oct 29, 2024.

Authentication

The API accepts 2 different authentication methods:

Basic auth (http)

Basic auth tokens are constructed with the Basic keyword, followed by a space, followed by a base64-encoded string of your username:password (separated by a : colon).

Example: send a Authorization: Basic aGVsbG86aGVsbG8= HTTP header with your requests to authenticate with the API.

Api key (http_api_key)

Send an authentication token in the Authorization header to authenticate with the API.

Accounts

Retrieve and update the current Elasticsearch Service account.

Fetch current account information

GET /account

Fetch current account information.

Responses

  • Account fetched successfully

    Hide response attributes Show response attributes object
    • id string Required

      The account's identifier

    • trust object

      Settings related to the level of trust of the clusters in this account

      Additional properties are allowed.

      Hide trust attribute Show trust attribute object
      • trust_all boolean Required

        If true, all clusters in this account will by default trust all other clusters in the same account

  • Account not found. (code: accounts.not_found)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /account
curl \
 --request GET https://{{hostname}}/api/v1/account
Response examples (200)
{
  "id": "string",
  "trust": {
    "trust_all": true
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: accounts.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Updates the current account

PUT /account

Updates the current account.

Body Required

the current account

  • trust object

    Settings related to the level of trust of the clusters in this account

    Additional properties are allowed.

    Hide trust attribute Show trust attribute object
    • trust_all boolean Required

      If true, all clusters in this account will by default trust all other clusters in the same account

Responses

  • Account updated successfully

    Hide response attributes Show response attributes object
    • id string Required

      The account's identifier

    • trust object

      Settings related to the level of trust of the clusters in this account

      Additional properties are allowed.

      Hide trust attribute Show trust attribute object
      • trust_all boolean Required

        If true, all clusters in this account will by default trust all other clusters in the same account

  • Account not found. (code: accounts.not_found)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

PUT /account
curl \
 --request PUT https://{{hostname}}/api/v1/account \
 --data '{"trust":{"trust_all":true}}'
Request examples
{
  "trust": {
    "trust_all": true
  }
}
Response examples (200)
{
  "id": "string",
  "trust": {
    "trust_all": true
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: accounts.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Updates the current account

PATCH /account

Updates the current account.

Body Required

All changes in the specified object are applied to the current account according to the JSON Merge Patch processing rules. Omitting existing fields causes the same values to be reapplied. Specifying a null value reverts the field to the default value, or removes the field when no default value exists.

string string

Responses

  • Account updated successfully

    Hide response attributes Show response attributes object
    • id string Required

      The account's identifier

    • trust object

      Settings related to the level of trust of the clusters in this account

      Additional properties are allowed.

      Hide trust attribute Show trust attribute object
      • trust_all boolean Required

        If true, all clusters in this account will by default trust all other clusters in the same account

  • Account not found. (code: accounts.not_found)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

PATCH /account
curl \
 --request PATCH https://{{hostname}}/api/v1/account \
 --data '"string"'
Request examples
string
Response examples (200)
{
  "id": "string",
  "trust": {
    "trust_all": true
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: accounts.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Authentication

Manage your Elasticsearch Service API keys.

User authentication information

GET /users/auth

Provides authentication information about a user, including elevated permission status and TOTP device availability.

Responses

  • User authentication information response

    Hide response attributes Show response attributes object
GET /users/auth
curl \
 --request GET https://{{hostname}}/api/v1/users/auth
Response examples (200)
{
  "has_totp_device": true,
  "totp_device_source": "string",
  "has_elevated_permissions": true,
  "elevated_permissions_expire_at": "2025-05-04T09:42:00+00:00",
  "totp_device_source_enable_mfa_href": "string",
  "refresh_token_url": "string",
  "expires_at": "2025-05-04T09:42:00+00:00"
}

Login to ECE

POST /users/auth/_login

Authenticates against available users.

Body Required

The login request

  • username string Required

    The username part of the login request

  • password string Required

    The plain text password part of the login request

  • Configure how the API responds after a successful login.

    Additional properties are allowed.

    Hide login_state attribute Show login_state attribute object
    • path string

      The path to which to redirect post login - if not specified then no redirect is performed, instead 200 is returned with the token in the body

Responses

  • Login successful, returns the token in the body (if 'login_state.path' not specified)

    Hide response attributes Show response attributes object
    • token string Required

      The authorization bearer token that you use in subsequent requests

    • session_expiration_time string(date-time) Required

      The time that the session token will expire

  • Redirects to '/sso/token#BEARER_TOKEN?state=LOGIN_STATE' with the fragment containing a bearer token (if 'login_state.path' is specified)

    Additional properties are allowed.

  • The supplied authentication is invalid. (code: root.unauthenticated)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The administrator needs to configure the authentication cluster. (code: authc.no_authentication_cluster)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is authc.no_authentication_cluster.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The authentication cluster failed to process the request. The response body contains details about the error. (code: authc.authentication_cluster_error)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is authc.authentication_cluster_error.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /users/auth/_login
curl \
 --request POST https://{{hostname}}/api/v1/users/auth/_login \
 --data '{"username":"string","password":"string","login_state":{"path":"string"}}'
Request examples
{
  "username": "string",
  "password": "string",
  "login_state": {
    "path": "string"
  }
}
Response examples (200)
{
  "token": "string",
  "session_expiration_time": "2025-05-04T09:42:00+00:00"
}
Response examples (302)
{}
Response examples (401)
# Headers
x-cloud-error-codes: root.unauthenticated

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (501)
# Headers
x-cloud-error-codes: authc.no_authentication_cluster

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (502)
# Headers
x-cloud-error-codes: authc.authentication_cluster_error

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}




Refresh authentication token

POST /users/auth/_refresh

Issues a new authentication token.

Responses

  • The token refreshed successfully and was returned in the body of the response.

    Hide response attributes Show response attributes object
    • token string Required

      The authorization bearer token that you use in subsequent requests

    • session_expiration_time string(date-time) Required

      The time that the session token will expire

  • The authentication token is invalid or expired. (code: root.unauthorized)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The administrator needs to configure the authentication cluster. (code: authc.no_authentication_cluster)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is authc.no_authentication_cluster.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The authentication cluster failed to process the request. The response body contains details about the error. (code: authc.authentication_cluster_error)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is authc.authentication_cluster_error.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /users/auth/_refresh
curl \
 --request POST https://{{hostname}}/api/v1/users/auth/_refresh
Response examples (200)
{
  "token": "string",
  "session_expiration_time": "2025-05-04T09:42:00+00:00"
}
Response examples (401)
# Headers
x-cloud-error-codes: root.unauthorized

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (501)
# Headers
x-cloud-error-codes: authc.no_authentication_cluster

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (502)
# Headers
x-cloud-error-codes: authc.authentication_cluster_error

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Get all API keys

GET /users/auth/keys

Retrieves the metadata for all of the API keys that the user generated.

Responses

  • The metadata for the API keys is retrieved.

    Hide response attribute Show response attribute object
    • keys array[object] Required

      The list of API keys.

      Hide keys attributes Show keys attributes object
      • id string Required

        The API key ID.

      • user_id string

        The user ID.

      • The organization ID linked to the API key

      • description string Required

        The API key description. TIP: Useful when you have multiple API keys.

      • key string

        The API key. TIP: Since the API key is returned only once, save it in a safe place.

      • creation_date string(date-time) Required

        The date/time for when the API key is created.

      • expiration_date string(date-time)

        The date/time when the API key expires.

GET /users/auth/keys
curl \
 --request GET https://{{hostname}}/api/v1/users/auth/keys
Response examples (200)
{
  "keys": [
    {
      "id": "string",
      "user_id": "string",
      "organization_id": "string",
      "description": "string",
      "key": "string",
      "creation_date": "2025-05-04T09:42:00+00:00",
      "expiration_date": "2025-05-04T09:42:00+00:00"
    }
  ]
}




Delete API keys

DELETE /users/auth/keys

Delete or invalidate API keys.

Body Required

The request to delete API keys

  • keys array[string] Required

    The list of API key IDs.

Responses

  • The API keys are deleted.

    Additional properties are allowed.

DELETE /users/auth/keys
curl \
 --request DELETE https://{{hostname}}/api/v1/users/auth/keys \
 --data '{"keys":["string"]}'
Request examples
{
  "keys": [
    "string"
  ]
}
Response examples (200)
{}

Get all API keys for all users

GET /users/auth/keys/_all

Retrieves the metadata for all of the API keys for all users.

Responses

  • The metadata for the API keys is retrieved.

    Hide response attribute Show response attribute object
    • keys array[object] Required

      The list of API keys.

      Hide keys attributes Show keys attributes object
      • id string Required

        The API key ID.

      • user_id string

        The user ID.

      • The organization ID linked to the API key

      • description string Required

        The API key description. TIP: Useful when you have multiple API keys.

      • key string

        The API key. TIP: Since the API key is returned only once, save it in a safe place.

      • creation_date string(date-time) Required

        The date/time for when the API key is created.

      • expiration_date string(date-time)

        The date/time when the API key expires.

GET /users/auth/keys/_all
curl \
 --request GET https://{{hostname}}/api/v1/users/auth/keys/_all
Response examples (200)
{
  "keys": [
    {
      "id": "string",
      "user_id": "string",
      "organization_id": "string",
      "description": "string",
      "key": "string",
      "creation_date": "2025-05-04T09:42:00+00:00",
      "expiration_date": "2025-05-04T09:42:00+00:00"
    }
  ]
}

Delete API keys of multiple users

DELETE /users/auth/keys/_all

Delete or invalidate the API keys for multiple users.

Body Required

The request to delete API keys.

  • user_api_keys array[object] Required

    The list of API key IDs.

    Hide user_api_keys attributes Show user_api_keys attributes object

Responses

  • The API keys are deleted.

    Additional properties are allowed.

DELETE /users/auth/keys/_all
curl \
 --request DELETE https://{{hostname}}/api/v1/users/auth/keys/_all \
 --data '{"user_api_keys":[{"user_id":"string","api_key_id":"string"}]}'
Request examples
{
  "user_api_keys": [
    {
      "user_id": "string",
      "api_key_id": "string"
    }
  ]
}
Response examples (200)
{}

Get API key

GET /users/auth/keys/{api_key_id}

Retrieves the metadata for an API key.

Path parameters

Responses

  • The API key metadata is retrieved.

    Hide response attributes Show response attributes object
    • id string Required

      The API key ID.

    • user_id string

      The user ID.

    • The organization ID linked to the API key

    • description string Required

      The API key description. TIP: Useful when you have multiple API keys.

    • key string

      The API key. TIP: Since the API key is returned only once, save it in a safe place.

    • creation_date string(date-time) Required

      The date/time for when the API key is created.

    • expiration_date string(date-time)

      The date/time when the API key expires.

  • The {api_key_id} can't be found. (code: api_keys.key_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is api_keys.key_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /users/auth/keys/{api_key_id}
curl \
 --request GET https://{{hostname}}/api/v1/users/auth/keys/{api_key_id}
Response examples (200)
{
  "id": "string",
  "user_id": "string",
  "organization_id": "string",
  "description": "string",
  "key": "string",
  "creation_date": "2025-05-04T09:42:00+00:00",
  "expiration_date": "2025-05-04T09:42:00+00:00"
}
Response examples (404)
# Headers
x-cloud-error-codes: api_keys.key_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}




Available authentication methods

GET /users/auth/methods

Provides information about available authentication methods.

Responses

  • Available authentication methods response

    Hide response attributes Show response attributes object
    • password boolean Required

      Indicates that username and password authentication is available.

    • saml boolean Required

      Indicates that SAML single sign-on authentication is available.

    • openid boolean Required

      WARNING This endpoint is deprecated and scheduled to be removed in the next major version. This field is no longer used and will always be false.

    • sso_methods array[object] Required

      Lists details for the available single sign-on methods.

      Hide sso_methods attributes Show sso_methods attributes object
      • sso_type string Required

        Indicates the protocol of the single sign-on method.

        Value is saml.

      • name string Required

        The friendly name of the single sign-on method.

      • url string Required

        The URL to initiate the single sign-on login.

GET /users/auth/methods
curl \
 --request GET https://{{hostname}}/api/v1/users/auth/methods
Response examples (200)
{
  "password": true,
  "saml": true,
  "openid": true,
  "sso_methods": [
    {
      "sso_type": "saml",
      "name": "string",
      "url": "string"
    }
  ]
}




Initiate SAML protocol

GET /users/auth/saml/_init

Calls the authentication cluster to initiate SAML Single Sign-on (Web Browser SSO profile) protocol and redirects the user to the identity provider for authentication. The authentication cluster must be configured prior to initiation.

Query parameters

  • state string

    An optional relay state that is sent back to the client after the user is authenticated

Responses

  • Redirects the client to the identity provider with a SAML authentication request

    Additional properties are allowed.

  • The administrator needs to configure the authentication cluster. (code: authc.no_authentication_cluster)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is authc.no_authentication_cluster.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The authentication cluster failed to process the request. The response body contains details about the error. (code: authc.authentication_cluster_error)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is authc.authentication_cluster_error.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /users/auth/saml/_init
curl \
 --request GET https://{{hostname}}/api/v1/users/auth/saml/_init
Response examples (302)
{}
Response examples (501)
# Headers
x-cloud-error-codes: authc.no_authentication_cluster

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (502)
# Headers
x-cloud-error-codes: authc.authentication_cluster_error

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Get API key metadata for all keys created by the user

GET /users/{user_id}/auth/keys

Retrieves metadata for all API keys created by the given user.

Path parameters

Responses

  • The API key metadata is retrieved.

    Hide response attribute Show response attribute object
    • keys array[object] Required

      The list of API keys.

      Hide keys attributes Show keys attributes object
      • id string Required

        The API key ID.

      • user_id string

        The user ID.

      • The organization ID linked to the API key

      • description string Required

        The API key description. TIP: Useful when you have multiple API keys.

      • key string

        The API key. TIP: Since the API key is returned only once, save it in a safe place.

      • creation_date string(date-time) Required

        The date/time for when the API key is created.

      • expiration_date string(date-time)

        The date/time when the API key expires.

  • The {user_id} can't be found. (code: api_keys.user_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is api_keys.user_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /users/{user_id}/auth/keys
curl \
 --request GET https://{{hostname}}/api/v1/users/{user_id}/auth/keys
Response examples (200)
{
  "keys": [
    {
      "id": "string",
      "user_id": "string",
      "organization_id": "string",
      "description": "string",
      "key": "string",
      "creation_date": "2025-05-04T09:42:00+00:00",
      "expiration_date": "2025-05-04T09:42:00+00:00"
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: api_keys.user_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}












Billing costs analysis

Get an overview of your costs by organization ID.





Get charts for the organization. Currently unavailable in self-hosted ECE.

GET /billing/costs/{organization_id}/charts

EXPERIMENTAL (it may change in future versions): Retrieves the usage charts for the organization.

Path parameters

Query parameters

  • from string

    A datetime for the beginning of the desired range for which to fetch costs. Defaults to start of current month.

  • to string

    A datetime for the end of the desired range for which to fetch costs. Defaults to the current date.

  • The desired bucketing strategy for the charts. Defaults to daily.

    Values are daily or monthly. Default value is Daily.

Responses

  • The usage charts of an organization.

    Hide response attribute Show response attribute object
    • data array[object] Required

      The list of chart item

      Hide data attributes Show data attributes object
      • timestamp integer(int64) Required

        Axis X position

      • values array[object] Required

        the collection of values to plot the chart item

        Hide values attributes Show values attributes object
        • id string Required

          The id of chart item value

        • name string Required

          The name of the chart item value

        • value number(double) Required

          The actual value of the chart item value

  • The specified date range is invalid. (code: costs.invalid_date_range)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is costs.invalid_date_range.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The current user does not have access to the requested organization. (code: organization.invalid_access)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is organization.invalid_access.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Organization not found. (code: organization.not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is organization.not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Too many requests. (code: billing_service.rate_limited)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is billing_service.rate_limited.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Error fetching the itemized costs for the organization. (code: billing_service.failed_request)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is billing_service.failed_request.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /billing/costs/{organization_id}/charts
curl \
 --request GET https://{{hostname}}/api/v1/billing/costs/{organization_id}/charts
Response examples (200)
{
  "data": [
    {
      "timestamp": 42,
      "values": [
        {
          "id": "string",
          "name": "string",
          "value": 42.0
        }
      ]
    }
  ]
}
Response examples (400)
# Headers
x-cloud-error-codes: costs.invalid_date_range

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (403)
# Headers
x-cloud-error-codes: organization.invalid_access

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: organization.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (429)
# Headers
x-cloud-error-codes: billing_service.rate_limited

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: billing_service.failed_request

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}




Get charts by deployment. Currently unavailable in self-hosted ECE.

GET /billing/costs/{organization_id}/deployments/{deployment_id}/charts

EXPERIMENTAL (it may change in future versions): Retrieves the usage charts for the given deployment.

Path parameters

Query parameters

  • from string

    A datetime for the beginning of the desired range for which to fetch costs. Defaults to start of current month.

  • to string

    A datetime for the end of the desired range for which to fetch costs. Defaults to the current date.

  • The desired bucketing strategy for the charts. Defaults to daily.

    Values are daily or monthly. Default value is Daily.

Responses

  • The usage charts of a deployment.

    Hide response attribute Show response attribute object
    • data array[object] Required

      The list of chart item

      Hide data attributes Show data attributes object
      • timestamp integer(int64) Required

        Axis X position

      • values array[object] Required

        the collection of values to plot the chart item

        Hide values attributes Show values attributes object
        • id string Required

          The id of chart item value

        • name string Required

          The name of the chart item value

        • value number(double) Required

          The actual value of the chart item value

  • The specified date range is invalid. (code: costs.invalid_date_range)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is costs.invalid_date_range.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The current user does not have access to the requested organization. (code: organization.invalid_access)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is organization.invalid_access.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Organization not found. (code: organization.not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is organization.not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Too many requests. (code: billing_service.rate_limited)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is billing_service.rate_limited.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Error fetching the itemized costs for the organization. (code: billing_service.failed_request)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is billing_service.failed_request.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /billing/costs/{organization_id}/deployments/{deployment_id}/charts
curl \
 --request GET https://{{hostname}}/api/v1/billing/costs/{organization_id}/deployments/{deployment_id}/charts
Response examples (200)
{
  "data": [
    {
      "timestamp": 42,
      "values": [
        {
          "id": "string",
          "name": "string",
          "value": 42.0
        }
      ]
    }
  ]
}
Response examples (400)
# Headers
x-cloud-error-codes: costs.invalid_date_range

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (403)
# Headers
x-cloud-error-codes: organization.invalid_access

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: organization.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (429)
# Headers
x-cloud-error-codes: billing_service.rate_limited

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: billing_service.failed_request

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Get itemized costs by deployments. Currently unavailable in self-hosted ECE.

GET /billing/costs/{organization_id}/deployments/{deployment_id}/items

EXPERIMENTAL (it may change in future versions): Retrieves the itemized costs for the given deployment.

Headers

  • Accept string

    Determines the response body format. Can be either application/json or text/csv.

Path parameters

Query parameters

  • from string

    A datetime for the beginning of the desired range for which to fetch costs. Defaults to start of current month.

  • to string

    A datetime for the end of the desired range for which to fetch costs. Defaults to the current date.

Responses

  • The costs associated to a set items billed for a single deployment.

    Hide response attributes Show response attributes object
    • costs object Required

      Costs for the organization

      Additional properties are allowed.

      Hide costs attributes Show costs attributes object
      • total number(double) Required

        Total costs

      • dimensions array[object] Required

        A collection of billing details by dimension.

        Hide dimensions attributes Show dimensions attributes object
        • type string Required

          The type of the billing dimension

          Values are capacity, data_in, data_internode, data_out, storage_api, or storage_bytes.

        • cost number(double) Required

          The cost of the billing dimension

    • data_transfer_and_storage array[object] Required

      List of the detailed costs associated to the Data Transfer and Storage (DTS) dimensions

      Hide data_transfer_and_storage attributes Show data_transfer_and_storage attributes object
      • cost number(double) Required

        Costs associated to the Data Transfer and Storage (DTS) dimensions for an organization

      • name string Required

        DTS dimension name

      • quantity object Required

        DTS usage

        Additional properties are allowed.

        Hide quantity attributes Show quantity attributes object
      • rate object Required

        Cost per unit

        Additional properties are allowed.

        Hide rate attributes Show rate attributes object
      • sku string Required

        DTS dimension Stock Keeping Unit (SKU)

      • type string Required

        Type of the DTS dimension usage

    • resources array[object] Required

      Costs of the list of resources

      Hide resources attributes Show resources attributes object
      • hours integer(int64) Required

        Resource usage in hours

      • instance_count integer(int32) Required

        Number of instances

      • period object Required

        Period

        Additional properties are allowed.

        Hide period attributes Show period attributes object
        • start string(date-time) Required

          Start

        • end string(date-time) Required

          End

      • kind string Required

        Kind of resource

        Values are elasticsearch, kibana, apm, integrations_server, appsearch, or enterprise_search.

      • price number(double) Required

        Resource price

      • price_per_hour number(double) Required

        Price per hour

      • name string Required

        Resource name

      • sku string Required

        Stock Keeping Unit (SKU)

  • The specified date range is invalid. (code: costs.invalid_date_range)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is costs.invalid_date_range.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The current user does not have access to the requested organization. (code: organization.invalid_access)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is organization.invalid_access.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

    • The organization was not found. (code: organization.not_found)
    • The Elasticsearch cluster was not found. (code: billing_service.es_cluster_id_not_found)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are organization.not_found or billing_service.es_cluster_id_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • An error occurred when fetching the itemized costs for the given deployment of the organization. (code: billing_service.failed_request)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is billing_service.failed_request.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /billing/costs/{organization_id}/deployments/{deployment_id}/items
curl \
 --request GET https://{{hostname}}/api/v1/billing/costs/{organization_id}/deployments/{deployment_id}/items \
 --header "Accept: string"
Response examples (200)
{
  "costs": {
    "total": 42.0,
    "dimensions": [
      {
        "type": "capacity",
        "cost": 42.0
      }
    ]
  },
  "data_transfer_and_storage": [
    {
      "cost": 42.0,
      "name": "string",
      "quantity": {
        "value": 42,
        "formatted_value": "string"
      },
      "rate": {
        "value": 42.0,
        "formatted_value": "string"
      },
      "sku": "string",
      "type": "string"
    }
  ],
  "resources": [
    {
      "hours": 42,
      "instance_count": 42,
      "period": {
        "start": "2025-05-04T09:42:00+00:00",
        "end": "2025-05-04T09:42:00+00:00"
      },
      "kind": "elasticsearch",
      "price": 42.0,
      "price_per_hour": 42.0,
      "name": "string",
      "sku": "string"
    }
  ]
}
Response examples (400)
# Headers
x-cloud-error-codes: costs.invalid_date_range

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (403)
# Headers
x-cloud-error-codes: organization.invalid_access

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: organization.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: billing_service.failed_request

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Get itemized costs for the organization. Currently unavailable in self-hosted ECE.

GET /billing/costs/{organization_id}/items

EXPERIMENTAL (it may change in future versions): Retrieves the itemized costs for the organization.

Path parameters

Query parameters

  • from string

    A datetime for the beginning of the desired range for which to fetch costs. Defaults to start of current month.

  • to string

    A datetime for the end of the desired range for which to fetch costs. Defaults to the current date.

Responses

  • The costs associated to a set of items

    Hide response attributes Show response attributes object
    • costs object Required

      Costs for the organization

      Additional properties are allowed.

      Hide costs attributes Show costs attributes object
      • total number(double) Required

        Total costs

      • dimensions array[object] Required

        A collection of billing details by dimension.

        Hide dimensions attributes Show dimensions attributes object
        • type string Required

          The type of the billing dimension

          Values are capacity, data_in, data_internode, data_out, storage_api, or storage_bytes.

        • cost number(double) Required

          The cost of the billing dimension

    • data_transfer_and_storage array[object] Required

      List of the detailed costs associated to the Data Transfer and Storage (DTS) dimensions

      Hide data_transfer_and_storage attributes Show data_transfer_and_storage attributes object
      • cost number(double) Required

        Costs associated to the Data Transfer and Storage (DTS) dimensions for an organization

      • name string Required

        DTS dimension name

      • quantity object Required

        DTS usage

        Additional properties are allowed.

        Hide quantity attributes Show quantity attributes object
      • rate object Required

        Cost per unit

        Additional properties are allowed.

        Hide rate attributes Show rate attributes object
      • sku string Required

        DTS dimension Stock Keeping Unit (SKU)

      • type string Required

        Type of the DTS dimension usage

    • resources array[object] Required

      Costs of the list of resources

      Hide resources attributes Show resources attributes object
      • hours integer(int64) Required

        Resource usage in hours

      • instance_count integer(int32) Required

        Number of instances

      • period object Required

        Period

        Additional properties are allowed.

        Hide period attributes Show period attributes object
        • start string(date-time) Required

          Start

        • end string(date-time) Required

          End

      • kind string Required

        Kind of resource

        Values are elasticsearch, kibana, apm, integrations_server, appsearch, or enterprise_search.

      • price number(double) Required

        Resource price

      • price_per_hour number(double) Required

        Price per hour

      • name string Required

        Resource name

      • sku string Required

        Stock Keeping Unit (SKU)

  • The specified date range is invalid. (code: costs.invalid_date_range)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is costs.invalid_date_range.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The current user does not have access to the requested organization. (code: organization.invalid_access)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is organization.invalid_access.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Organization not found. (code: organization.not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is organization.not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • Error fetching the itemized costs for the organization. (code: billing_service.failed_request)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is billing_service.failed_request.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /billing/costs/{organization_id}/items
curl \
 --request GET https://{{hostname}}/api/v1/billing/costs/{organization_id}/items
Response examples (200)
{
  "costs": {
    "total": 42.0,
    "dimensions": [
      {
        "type": "capacity",
        "cost": 42.0
      }
    ]
  },
  "data_transfer_and_storage": [
    {
      "cost": 42.0,
      "name": "string",
      "quantity": {
        "value": 42,
        "formatted_value": "string"
      },
      "rate": {
        "value": 42.0,
        "formatted_value": "string"
      },
      "sku": "string",
      "type": "string"
    }
  ],
  "resources": [
    {
      "hours": 42,
      "instance_count": 42,
      "period": {
        "start": "2025-05-04T09:42:00+00:00",
        "end": "2025-05-04T09:42:00+00:00"
      },
      "kind": "elasticsearch",
      "price": 42.0,
      "price_per_hour": 42.0,
      "name": "string",
      "sku": "string"
    }
  ]
}
Response examples (400)
# Headers
x-cloud-error-codes: costs.invalid_date_range

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (403)
# Headers
x-cloud-error-codes: organization.invalid_access

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: organization.not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: billing_service.failed_request

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

List Comments

GET /comments/{resource_type}/{resource_id}

Retrieves all the comments for a given Resource, in reverse modified time order.

Path parameters

  • resource_type string Required

    The kind of Resource that a Comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server, allocator, constructor, runner, proxy].

  • resource_id string Required

    Id of the Resource that a Comment belongs to.

Responses

  • The Comments

    Hide response attribute Show response attribute object
    • values array[object] Required

      The list of comments

      Hide values attributes Show values attributes object
      • comment object Required

        The comment

        Additional properties are allowed.

        Hide comment attributes Show comment attributes object
        • id string Required

          The id of this Comment

        • user_id string Required

          The user id of the user who wrote this Comment

        • message string Required

          The message content of this Comment

      • metadata object Required

        The metadata

        Additional properties are allowed.

        Hide metadata attributes Show metadata attributes object
GET /comments/{resource_type}/{resource_id}
curl \
 --request GET https://{{hostname}}/api/v1/comments/{resource_type}/{resource_id}
Response examples (200)
{
  "values": [
    {
      "comment": {
        "id": "string",
        "user_id": "string",
        "message": "string"
      },
      "metadata": {
        "created_time": "2025-05-04T09:42:00+00:00",
        "modified_time": "2025-05-04T09:42:00+00:00",
        "version": "string"
      }
    }
  ]
}

Create a Comment

POST /comments/{resource_type}/{resource_id}

Creates a comment for the given Resource.

Path parameters

  • resource_type string Required

    The kind of Resource that a Comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server, allocator, constructor, runner, proxy].

  • resource_id string Required

    Id of the Resource that a Comment belongs to.

Body Required

Data for comment creation

  • message string Required

    The message for the Comment.

Responses

  • The Comment that was just created.

    Hide headers attributes Show headers attributes
    Hide response attributes Show response attributes object
    • id string Required

      The id of this Comment

    • user_id string Required

      The user id of the user who wrote this Comment

    • message string Required

      The message content of this Comment

  • Your current session does not have a user id associated with it. (code: comments.no_user_id)

    Hide headers attribute Show headers attribute
    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • No Resource of the given type and id exist. (code: comments.resource_does_not_exist)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is comments.resource_does_not_exist.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • A Comment already exists with the generated id. Please try again. (code: comments.id_already_exists)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is comments.id_already_exists.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /comments/{resource_type}/{resource_id}
curl \
 --request POST https://{{hostname}}/api/v1/comments/{resource_type}/{resource_id} \
 --data '{"message":"string"}'
Request examples
{
  "message": "string"
}
Response examples (201)
# Headers
x-cloud-resource-version: string
x-cloud-resource-created: string
x-cloud-resource-last-modified: string

# Payload
{
  "id": "string",
  "user_id": "string",
  "message": "string"
}
Response examples (401)
# Headers
x-cloud-error-codes: comments.no_user_id

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: comments.resource_does_not_exist

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (409)
# Headers
x-cloud-error-codes: comments.id_already_exists

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Get Comment

GET /comments/{resource_type}/{resource_id}/{comment_id}

Retrieves a Comment.

Path parameters

  • resource_type string Required

    The kind of Resource that a Comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server, allocator, constructor, runner, proxy].

  • resource_id string Required

    Id of the Resource that a Comment belongs to.

  • comment_id string Required

    Id of a Comment

Responses

  • The Comment

    Hide headers attributes Show headers attributes
    Hide response attributes Show response attributes object
    • id string Required

      The id of this Comment

    • user_id string Required

      The user id of the user who wrote this Comment

    • message string Required

      The message content of this Comment

  • The Comment you want does not exist. (code: comments.comment_does_not_exist)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is comments.comment_does_not_exist.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /comments/{resource_type}/{resource_id}/{comment_id}
curl \
 --request GET https://{{hostname}}/api/v1/comments/{resource_type}/{resource_id}/{comment_id}
Response examples (200)
# Headers
x-cloud-resource-version: string
x-cloud-resource-created: string
x-cloud-resource-last-modified: string

# Payload
{
  "id": "string",
  "user_id": "string",
  "message": "string"
}
Response examples (404)
# Headers
x-cloud-error-codes: comments.comment_does_not_exist

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Update Comment

PUT /comments/{resource_type}/{resource_id}/{comment_id}

Updates a Comment.

Path parameters

  • resource_type string Required

    The kind of Resource that a Comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server, allocator, constructor, runner, proxy].

  • resource_id string Required

    Id of the Resource that a Comment belongs to.

  • comment_id string Required

    Id of a Comment

Query parameters

  • version string

    If specified then checks for conflicts against the version stored in the persistent store (returned in 'x-cloud-resource-version' of the GET request)

Body Required

The Comment update data.

  • message string Required

    The message for the Comment.

Responses

  • Comment updated successfully.

    Hide headers attributes Show headers attributes
    Hide response attributes Show response attributes object
    • id string Required

      The id of this Comment

    • user_id string Required

      The user id of the user who wrote this Comment

    • message string Required

      The message content of this Comment

    • The Comment does not belong to you. (code: comments.unauthorised)
    • Your current session does not have a user id associated with it. (code: comments.no_user_id)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are comments.unauthorised or comments.no_user_id.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The Comment you want does not exist. (code: comments.comment_does_not_exist)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is comments.comment_does_not_exist.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The version you sent does not match the persisted version. (code: comments.version_conflict)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is comments.version_conflict.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

PUT /comments/{resource_type}/{resource_id}/{comment_id}
curl \
 --request PUT https://{{hostname}}/api/v1/comments/{resource_type}/{resource_id}/{comment_id} \
 --data '{"message":"string"}'
Request examples
{
  "message": "string"
}
Response examples (200)
# Headers
x-cloud-resource-version: string
x-cloud-resource-created: string
x-cloud-resource-last-modified: string

# Payload
{
  "id": "string",
  "user_id": "string",
  "message": "string"
}
Response examples (401)
# Headers
x-cloud-error-codes: comments.unauthorised

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: comments.comment_does_not_exist

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (409)
# Headers
x-cloud-error-codes: comments.version_conflict

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Delete Comment

DELETE /comments/{resource_type}/{resource_id}/{comment_id}

Deletes a Comment.

Path parameters

  • resource_type string Required

    The kind of Resource that a Comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, integrations_server, allocator, constructor, runner, proxy].

  • resource_id string Required

    Id of the Resource that a Comment belongs to.

  • comment_id string Required

    Id of a Comment

Query parameters

  • version string

    If specified then checks for conflicts against the version stored in the persistent store (returned in 'x-cloud-resource-version' of the GET request)

Responses

  • Comment deleted successfully.

    Hide headers attributes Show headers attributes

    Additional properties are allowed.

    • The Comment does not belong to you. (code: comments.unauthorised)
    • Your current session does not have a user id associated with it. (code: comments.no_user_id)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are comments.unauthorised or comments.no_user_id.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The Comment you want does not exist. (code: comments.comment_does_not_exist)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is comments.comment_does_not_exist.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The version you sent does not match the persisted version. (code: comments.version_conflict)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is comments.version_conflict.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

DELETE /comments/{resource_type}/{resource_id}/{comment_id}
curl \
 --request DELETE https://{{hostname}}/api/v1/comments/{resource_type}/{resource_id}/{comment_id}
Response examples (200)
# Headers
x-cloud-resource-version: string
x-cloud-resource-created: string
x-cloud-resource-last-modified: string

# Payload
{}
Response examples (401)
# Headers
x-cloud-error-codes: comments.unauthorised

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: comments.comment_does_not_exist

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (409)
# Headers
x-cloud-error-codes: comments.version_conflict

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

List Deployments

GET /deployments

List Deployments.

Responses

  • The list of deployments that belong to the authenticated user.

    Hide response attribute Show response attribute object
    • deployments array[object] Required

      The deployments

      Hide deployments attributes Show deployments attributes object
      • id string Required

        The id of this deployment

      • name string Required

        The name of this deployment

      • resources array[object] Required

        List of resources in this deployment

        Hide resources attributes Show resources attributes object
        • ref_id string Required

          A locally-unique friendly alias for this Elasticsearch cluster

        • The Elasticsearch cluster that this resource depends on.

        • id string Required

          A system-unique id for the created resource

        • kind string Required

          The kind of resource

        • region string Required

          Identifier of the region in which this resource runs.

        • cloud_id string

          An encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana

        • Credentials for logging into a created resource. Only provided on initial create and absent otherwise.

          Additional properties are allowed.

          Hide credentials attributes Show credentials attributes object
          • username string Required

            The username of the newly created cluster

          • password string Required

            The password of the newly created cluster

        • Secret token for using a created resource. Only provided on initial create and absent otherwise.

        • warnings array[object]

          List of warnings generated from validating resource updates

          Hide warnings attributes Show warnings attributes object
          • code string Required

            A structured code representing the error type that occurred

          • message string

            A human readable message describing the warning that occurred

  • You are not authorized to perform this action.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /deployments
curl \
 --request GET https://{{hostname}}/api/v1/deployments
Response examples (200)
{
  "deployments": [
    {
      "id": "string",
      "name": "string",
      "resources": [
        {
          "ref_id": "string",
          "elasticsearch_cluster_ref_id": "string",
          "id": "string",
          "kind": "string",
          "region": "string",
          "cloud_id": "string",
          "credentials": {
            "username": "string",
            "password": "string"
          },
          "secret_token": "string",
          "warnings": [
            {
              "code": "string",
              "message": "string"
            }
          ]
        }
      ]
    }
  ]
}
Response examples (401)
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}




























Restores a shutdown Deployment

POST /deployments/{deployment_id}/_restore

Restores all resources in a Deployment.

Path parameters

Query parameters

  • Whether or not to restore a snapshot for those resources that allow it.

    Default value is false.

Responses

  • The request was valid and the resources of the deployment were restored.

    Hide response attribute Show response attribute object
    • id string Required

      The id of the deployment

  • There are Elasticsearch resources in the deployment which are not shut down.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • You are not authorized to perform this action.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The Deployment specified by {deployment_id} cannot be found. (code: deployments.deployment_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /deployments/{deployment_id}/_restore
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/_restore
Response examples (200)
{
  "id": "string"
}
Response examples (400)
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (401)
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Resynchronize Deployment

POST /deployments/{deployment_id}/_resync

Immediately resynchronizes the search index for the selected deployment.

Path parameters

Responses

  • The deployment resync operation executed successfully.

    Hide response attributes Show response attributes object
    • created array[string] Required

      The ids of documents created in the index by index version

    • updated array[string] Required

      The ids of documents updated in the index by index version

    • deleted array[string] Required

      The ids of documents deleted from the index by index version

    • errors array[string] Required

      The regions where document synchronization may have failed

  • The deployment resync operation failed for deployment {deployment_id}. (code: deployments.resync_failed)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.resync_failed.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /deployments/{deployment_id}/_resync
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/_resync
Response examples (200)
{
  "created": [
    "string"
  ],
  "updated": [
    "string"
  ],
  "deleted": [
    "string"
  ],
  "errors": [
    "string"
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: deployments.resync_failed

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}








Reset the secret token for an APM resource.

POST /deployments/{deployment_id}/apm/{ref_id}/_reset-token

Reset the token of an APM resource.

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).

Responses

  • Response containing the new secret token, plan to apply it starts

    Hide response attributes Show response attributes object
    • apm_id string

      For an operation creating or updating an APM server, the Id of that server

    • secret_token string Required

      The secret token for accessing the server

    • If the endpoint is called with URL param 'validate_only=true', then this contains advanced debug info (the internal plan representation)

      Additional properties are allowed.

  • Reset token is not supported when APM is managed by Elastic Agent. (code: clusters.cluster_plan_state_error)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is clusters.cluster_plan_state_error.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

    • 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)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.deployment_not_found or deployments.deployment_resource_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • We have failed you. (code: deployments.deployment_resource_no_longer_exists)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_resource_no_longer_exists.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /deployments/{deployment_id}/apm/{ref_id}/_reset-token
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/apm/{ref_id}/_reset-token
Response examples (202)
{
  "apm_id": "string",
  "secret_token": "string",
  "diagnostics": {}
}
Response examples (400)
# Headers
x-cloud-error-codes: clusters.cluster_plan_state_error

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: deployments.deployment_resource_no_longer_exists

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}




Set AppSearch read-only status

GET /deployments/{deployment_id}/appsearch/{ref_id}/read_only_mode

Enable/Disable read-only mode on the given App Search resource.

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).

Responses

  • Standard response

    Hide response attribute Show response attribute object
    • enabled boolean Required

      Whether read-only mode is enabled or disabled

  • The Resource specified by ref_id cannot be found. (code: deployments.deployment_resource_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_resource_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • We have failed you. (code: deployments.deployment_resource_no_longer_exists)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_resource_no_longer_exists.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /deployments/{deployment_id}/appsearch/{ref_id}/read_only_mode
curl \
 --request GET https://{{hostname}}/api/v1/deployments/{deployment_id}/appsearch/{ref_id}/read_only_mode
Response examples (200)
{
  "enabled": true
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_resource_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: deployments.deployment_resource_no_longer_exists

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Set AppSearch read-only status

PUT /deployments/{deployment_id}/appsearch/{ref_id}/read_only_mode

Enable/Disable read-only mode on the given App Search resource.

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).

Body Required

read-only request body

  • enabled boolean Required

    Enabled or disabled read-only mode

Responses

  • Standard response

    Hide response attribute Show response attribute object
    • enabled boolean Required

      Whether read-only mode is enabled or disabled

  • The Resource specified by ref_id cannot be found. (code: deployments.deployment_resource_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_resource_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • We have failed you. (code: deployments.deployment_resource_no_longer_exists)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_resource_no_longer_exists.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

PUT /deployments/{deployment_id}/appsearch/{ref_id}/read_only_mode
curl \
 --request PUT https://{{hostname}}/api/v1/deployments/{deployment_id}/appsearch/{ref_id}/read_only_mode \
 --data '{"enabled":true}'
Request examples
{
  "enabled": true
}
Response examples (200)
{
  "enabled": true
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_resource_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: deployments.deployment_resource_no_longer_exists

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Get certificate authority

GET /deployments/{deployment_id}/certificate-authority

Returns the certificate authority used to sign the certificates of this deployment.

Path parameters

Responses

  • The certificate authority used to sign the certificates of this deployment

    Hide response attributes Show response attributes object
    • public_certificates array[object] Required

      The certificates used by this certificate authority. The active certificate is the one that has been used to sign the current certificates of the Elasticsearch instances. All others are either certificates used in the past or certificates that will be used in the future when the currently active certificate expires.

      Hide public_certificates attributes Show public_certificates attributes object
      • active boolean Required

        If true, this certificate is the one which has been used to sign the current certificates. Otherwise, it may be the one that will be used when this certificate expires.

      • pem string Required

        The public certificate as string in PEM format.

      • metadata object Required

        Metadata about the certificate, including fingerprint and expiry date. Generated by the Cloud service and ignored on write.

        Additional properties are allowed.

        Hide metadata attributes Show metadata attributes object
        • fingerprint string Required

          The fingerprint of the certificate

        • valid_to string(date-time) Required

          The expiry date of the certificate in UTC

        • valid_from string(date-time) Required

          The valid from date of the certificate in UTC

        • also_trusted_by array[string]

          Other deployments also trusting this certificate

    • The Deployment specified by {deployment_id} cannot be found. (code: deployments.deployment_not_found)
    • The Elasticsearch Resource cannot be found. (code: deployments.deployment_resource_not_found)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.deployment_not_found or deployments.deployment_resource_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /deployments/{deployment_id}/certificate-authority
curl \
 --request GET https://{{hostname}}/api/v1/deployments/{deployment_id}/certificate-authority
Response examples (200)
{
  "recommended_trust_restriction": "string",
  "public_certificates": [
    {
      "active": true,
      "pem": "string",
      "metadata": {
        "fingerprint": "string",
        "valid_to": "2025-05-04T09:42:00+00:00",
        "valid_from": "2025-05-04T09:42:00+00:00",
        "also_trusted_by": [
          "string"
        ]
      }
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Get Deployment Elasticsearch Resource Info

GET /deployments/{deployment_id}/elasticsearch/{ref_id}

Get info about an Elasticsearch Resource belonging to a given Deployment.

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).

Query parameters

  • Whether to include the Elasticsearch 2.x security information in the response - can be large per cluster and also include credentials.

    Default value is false.

  • Whether to include the full cluster metadata in the response - can be large per cluster and also include credentials.

    Default value is false.

  • show_plans boolean

    Whether to include the full current and pending plan information in the response - can be large per cluster.

    Default value is true.

  • Whether to include with the current and pending plan information the attempt log - can be very large per cluster.

    Default value is false.

  • Whether to include with the current and pending plan information the plan history- can be very large per cluster.

    Default value is false.

  • If showing plans, whether to show values that are left at their default value (less readable but more informative).

    Default value is false.

  • If showing plans, whether to leave pre-2.0.0 plans in their legacy format (the default), or whether to update them to 2.0.x+ format (if 'true').

    Default value is false.

  • Number of system alerts (such as forced restarts due to memory limits) to be included in the response - can be large per cluster. Negative numbers or 0 will not return field.

    Default value is 0.

  • Whether to show cluster settings in the response.

    Default value is false.

  • If showing plans, whether to enrich the plan by including the missing elements from the deployment template it is based on.

    Default value is true.

  • If set (defaults to false) then removes the transient section from all child resources, making it safe to reapply via an update

    Default value is false.

Responses

  • Standard response.

    Hide response attributes Show response attributes object
    • ref_id string Required

      The locally-unique user-specified id of a Resource

    • id string Required

      The randomly-generated id of a Resource

    • region string Required

      The region where this resource exists

    • info object Required

      Info for the resource.

      Additional properties are allowed.

      Hide info attributes Show info attributes object
      • cluster_id string Required

        The id of the cluster

      • cluster_name string Required

        The name of the cluster

      • The id of the deployment that this Elasticsearch belongs to.

      • healthy boolean Required

        Whether the cluster is healthy or not (one or more of the info subsections will have healthy: false)

      • status string Required

        Cluster status

        Values are initializing, stopping, stopped, rebooting, restarting, reconfiguring, or started.

      • plan_info object Required

        Information about the current, pending, and past Elasticsearch cluster plans.

        Additional properties are allowed.

        Hide plan_info attributes Show plan_info attributes object
        • healthy boolean Required

          Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)

        • current object

          Information about the Elasticsearch cluster plan.

          Additional properties are allowed.

          Hide current attributes Show current attributes object
          • A UUID for each plan attempt

          • A human readable name for each plan attempt, only populated when retrieving plan histories

          • healthy boolean Required

            Either the plan ended successfully, or is not yet completed (and no errors have occurred)

          • attempt_start_time string(date-time)

            When this plan attempt (ie to apply the plan to the cluster) started (ISO format in UTC)

          • attempt_end_time string(date-time)

            If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

          • plan_end_time string(date-time)

            If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

          • plan object

            The plan for building this Elasticsearch cluster

            Additional properties are allowed.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object] Required
              Hide cluster_topology attributes Show cluster_topology attributes object
              • id string

                Unique identifier of this topology element

              • Controls the combinations of Elasticsearch node types. TIP: By default, the Elasticsearch node is master eligible, can hold data, and run ingest pipelines. WARNING: Do not set for tiebreaker topologies.

                Additional properties are allowed.

                Hide node_type attributes Show node_type attributes object
                • master boolean

                  Defines whether this node can be elected master (default: false)

                • data boolean

                  Defines whether this node can hold data (default: false)

                • ingest boolean

                  Defines whether this node can run an ingest pipeline (default: false)

                • ml boolean

                  Defines whether this node can run ml jobs, valid only for versions 5.4.0 or greater (default: false)

              • node_roles array[string]

                The list of node roles for this topology element (ES version >= 7.10). Allowable values are: master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, transform

                Values are master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, or transform.

              • memory_per_node integer(int32)

                The memory capacity in MB for each node of this type built in each zone.

              • node_count_per_zone integer(int32)

                The number of nodes of this type that are allocated within each zone. (i.e. total capacity per zone = node_count_per_zone * memory_per_node in MB). Cannot be set for tiebreaker topologies. For dedicated master nodes, must be 1 if an entry exists.

              • zone_count integer(int32)

                The default number of zones in which data nodes will be placed

              • The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

                Additional properties are allowed.

                Hide elasticsearch attributes Show elasticsearch attributes object
                • version string

                  The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

                • A docker URI that allows overriding of the default docker image specified for this version

                • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

                  Additional properties are allowed.

                  Hide system_settings attributes Show system_settings attributes object
                  • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                    Additional properties are allowed.

                    Hide scripting attributes Show scripting attributes object
                    • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                    • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                    • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                    • stored object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide stored attributes Show stored attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                    • file object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide file attributes Show file attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                    • inline object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide inline attributes Show inline attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • reindex_whitelist array[string]

                    Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

                  • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

                  • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

                  • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

                  • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

                  • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

                  • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

                  • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

                • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                  Additional properties are allowed.

                • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                  Additional properties are allowed.

                • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

                • user_plugins array[object]

                  A list of admin-uploaded plugin objects that are available for this user.

                  Hide user_plugins attributes Show user_plugins attributes object
                  • name string Required

                    The name of the plugin

                  • url string Required

                    The URL of the plugin (must be accessible from the ECE infrastructure)

                  • elasticsearch_version string Required

                    The supported Elasticsearch version (must match the version in the plan)

                • user_bundles array[object]

                  A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

                  Hide user_bundles attributes Show user_bundles attributes object
                  • name string Required

                    The name of the bundle

                  • url string Required

                    The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

                  • elasticsearch_version string Required

                    The supported Elasticsearch version (must match the version in the plan)

                • curation object

                  Defines the index curation routing for the cluster

                  Additional properties are allowed.

                  Hide curation attributes Show curation attributes object
                • Defines the Elasticsearch node attributes for the instances in the topology

                  Hide node_attributes attribute Show node_attributes attribute object
                  • * string Additional properties
              • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

              • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

              • size object

                Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide size attributes Show size attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide autoscaling_min attributes Show autoscaling_min attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide autoscaling_max attributes Show autoscaling_max attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • An arbitrary JSON object overriding the default autoscaling policy. Don't set unless you really know what you are doing.

                Additional properties are allowed.

              • Controls for the topology element. Only used as part of the deployment template. Ignored if included as part of a deployment.

                Additional properties are allowed.

                Hide topology_element_control attribute Show topology_element_control attribute object
                • min object Required

                  Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                  Additional properties are allowed.

                  Hide min attributes Show min attributes object
                  • value integer(int32) Required

                    Amount of resource

                  • resource string Required

                    Type of resource

                    Values are memory or storage.

              • Set to true to enable autoscaling for this topology element, even if the cluster-level 'autoscaling_enabled' field is false. Note that 'autoscaling_tier_override' cannot be set to false if cluster-level 'autoscaling_enabled' is true. Currently only supported for the 'ml' tier

            • elasticsearch object Required

              The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

              Additional properties are allowed.

              Hide elasticsearch attributes Show elasticsearch attributes object
              • version string

                The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

              • A docker URI that allows overriding of the default docker image specified for this version

              • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                  Additional properties are allowed.

                  Hide scripting attributes Show scripting attributes object
                  • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                  • stored object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide stored attributes Show stored attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • file object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide file attributes Show file attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • inline object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide inline attributes Show inline attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                • reindex_whitelist array[string]

                  Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

                • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

                • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

                • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

                • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

                • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

                • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

                • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

              • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

              • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

              • user_plugins array[object]

                A list of admin-uploaded plugin objects that are available for this user.

                Hide user_plugins attributes Show user_plugins attributes object
                • name string Required

                  The name of the plugin

                • url string Required

                  The URL of the plugin (must be accessible from the ECE infrastructure)

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • user_bundles array[object]

                A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

                Hide user_bundles attributes Show user_bundles attributes object
                • name string Required

                  The name of the bundle

                • url string Required

                  The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • curation object

                Defines the index curation routing for the cluster

                Additional properties are allowed.

                Hide curation attributes Show curation attributes object
              • Defines the Elasticsearch node attributes for the instances in the topology

                Hide node_attributes attribute Show node_attributes attribute object
                • * string Additional properties
            • Documents which deployment template was used in the creation of this plan

              Additional properties are allowed.

              Hide deployment_template attributes Show deployment_template attributes object
              • id string Required

                The unique identifier of the deployment template

              • version string

                A version identifier to disambiguate multiple revisions of the same template

            • Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Elasticsearch settings.

              Additional properties are allowed.

              Hide transient attributes Show transient attributes object
              • strategy object

                The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

                Additional properties are allowed.

                Hide strategy attributes Show strategy attributes object
                • rolling object

                  Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                  Additional properties are allowed.

                  Hide rolling attributes Show rolling attributes object
                  • group_by string

                    Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                  • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                  • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                  • shard_init_wait_time integer(int64)

                    The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

                • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                  Additional properties are allowed.

                • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                  Additional properties are allowed.

                • A strategy that lets constructor choose the most optimal way to execute the plan.

                  Additional properties are allowed.

              • The configuration settings for the timeout and fallback parameters.

                Additional properties are allowed.

                Hide plan_configuration attributes Show plan_configuration attributes object
                • timeout integer(int64)

                  The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB). NOTES: A 3 zone cluster with 2 nodes of 2048 each would have a timeout of 4*2048=8192 seconds. Timeout does not include time required to run rollback actions.

                • calm_wait_time integer(int64)

                  This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

                • move_instances array[object]
                  Hide move_instances attributes Show move_instances attributes object
                  • from string Required

                    The instance id that is going to be moved

                  • to array[string]

                    An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                  • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

                • move_allocators array[object]
                  Hide move_allocators attributes Show move_allocators attributes object
                  • from string Required

                    The allocator id off which all instances in the cluster should be moved

                  • to array[string]

                    An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                  • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

                • move_only boolean

                  If true (default: false) only move_instances and move_allocators instructions will be executed, all other changes will be ignored

                • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

                • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

                • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                  Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                  • * string Additional properties
                • If true (default: false), does not take (or require) a successful snapshot to be taken before performing any potentially destructive changes to this cluster

                • If taking a snapshot (ie unless 'skip_snapshots': true) then will retry on failure at most this number of times (default: 5)

                • max_snapshot_age integer(int64)

                  When you take a snapshot and 'skip_snapshots' is false, specifies the maximum age in seconds of the most recent snapshot before a new snapshot is created. Default is 300

                • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

                • Set to 'forced' to force a reboot as part of the upgrade plan. NOTES: (ie taking an existing plan and leaving it alone except for setting 'transient.plan_configuration.cluster_reboot': 'forced' will reboot the cluster)

                  Value is forced.

                • If false (the default) then the plan will fail out if it believes the requested sequence of operations can result in data loss - this flag will override some of these restraints

                • If true (default: false) then the plan will not wait for data to be migrated from old instances to new instances before continuing the plan (potentially deleting the old instances and losing data)

                • If false, the cluster is checked for issues that should be resolved before migration (eg contains old Lucene segments), if true this is bypassed

                • If false (the default), the cluster will run (currently) 2.x->5.x operations for any plan change ending with a 5.x cluster (eg apply a cluster license, ensure Monitoring is configured)

                • If false (the default), the cluster will perform a snapshot after a major version upgrade takes place

              • Restores a snapshot from a local or remote repository.

                Additional properties are allowed.

                Hide restore_snapshot attributes Show restore_snapshot attributes object
                • If specified, contains the name of the snapshot repository - else will default to the Elastic Cloud system repo ('found-snapshots')

                • snapshot_name string Required

                  The name of the snapshot to restore. Use '__latest_success__' to get the most recent snapshot from the specified repository

                • Raw remote snapshot restore settings. Do not send this if you are sending source_cluster_id

                  Additional properties are allowed.

                  Hide repository_config attribute Show repository_config attribute object
                  • The remote snapshot settings raw JSON - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                    Additional properties are allowed.

                • The configuration for the restore command, such as which indices you want to restore.

                  Additional properties are allowed.

                  Hide restore_payload attributes Show restore_payload attributes object
                  • indices array[string]

                    The list of indices to restore (supports +ve and -ve selection and wildcarding - see the default Elasticsearch index format documentation)

                  • This JSON object (merged with the 'indices' field (if present) is passed untouched into the restore command - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                    Additional properties are allowed.

                • strategy string

                  The restore strategy to use. Defaults to a full restore. Partial restore will attempt to restore unavailable indices only

                  Values are partial, full, or recovery.

                • If specified, contains the name of the source cluster id. Do not send this if you are sending repository_config

              • The list of resources that will be configured as remote clusters

                Additional properties are allowed.

                Hide remote_clusters attribute Show remote_clusters attribute object
                • resources array[object] Required

                  The remote resources

                  Hide resources attributes Show resources attributes object
                  • deployment_id string Required

                    The id of the deployment

                  • elasticsearch_ref_id string Required

                    The locally-unique user-specified id of an Elasticsearch Resource

                  • alias string Required

                    The alias for this remote cluster. Aliases must only contain letters, digits, dashes and underscores

                  • If true, skip this cluster during search if it is disconnected. Default: false

                  • info object

                    Information about a Remote Cluster.

                    Additional properties are allowed.

                    Hide info attributes Show info attributes object
                    • healthy boolean Required

                      Whether or not the remote cluster is healthy

                    • connected boolean Required

                      Whether or not there is at least one connection to the remote cluster.

                    • compatible boolean Required

                      Whether or not the remote cluster version is compatible with this cluster version.

                    • trusted boolean Required

                      Whether or not the remote cluster is trusted by this cluster.

                    • trusted_back boolean Required

                      Whether or not the remote cluster trusts this cluster back.

              • If specified, contains transient settings to be applied to an Elasticsearch cluster during changes,default values shown below applied. These can be overridden by specifying them in the map (or null to unset). Additional settings can also be set. Settings will be cleared after the plan has finished. If not specified, no settings will be applied. NOTE: These settings are only explicitly cleared for 5.x+ clusters, they must be hand-reset to their defaults in 2.x- (or a cluster reboot will clear them).

                • indices.store.throttle.max_bytes_per_sec: 120Mb
                • indices.recovery.max_bytes_per_sec: 120Mb
                • cluster.routing.allocation.cluster_concurrent_rebalance: 5
                • cluster.routing.allocation.node_initial_primaries_recoveries: 5
                • cluster.routing.allocation.node_concurrent_incoming_recoveries: 5 For version 8.1 and later no defaults are provided through this mechanism, but instead hardware dependent settings are provided to each instance.

                Additional properties are allowed.

            • Enable autoscaling for this Elasticsearch cluster.

          • plan_attempt_log array[object] Required
            Hide plan_attempt_log attributes Show plan_attempt_log attributes object
            • step_id string Required

              ID of current step

            • started string(date-time) Required

              When the step started (ISO format in UTC)

            • completed string(date-time)

              When the step completed (ISO format in UTC)

            • duration_in_millis integer(int64)

              The duration of the step in MS

            • status string Required

              The status of the step (success, warning, error - warning means something didn't go as expected but it was not serious enough to abort the plan)

              Values are success, warning, error, or pending.

            • stage string Required

              Current stage that the step is in

              Values are starting, completed, or in_progress.

            • info_log array[object] Required

              Human readable summaries of the step, including messages for each stage of the step

              Hide info_log attributes Show info_log attributes object
              • timestamp string(date-time) Required

                Timestamp marking on info log of step

              • delta_in_millis integer(int64)

                Time in milliseconds since previous log message

              • stage string Required

                Stage that info log message takes place in

                Values are starting, completed, or in_progress.

              • message string Required

                Human readable log message

              • details object Required

                A map with details for the log about what happened during the step execution. Keys and values for are always both strings, representing the name of the detail and its value, respectively.

                Hide details attribute Show details attribute object
                • * string Additional properties
              • A json object with sensitive details for the log, visible only to admins. May contain nested json objects.

                Hide internal_details attribute Show internal_details attribute object
                • * string Additional properties
              • The failure type, in case the step failed

          • source object

            Information describing the source that facilitated the plans current state

            Additional properties are allowed.

            Hide source attributes Show source attributes object
            • facilitator string Required

              The service where the change originated from

            • action string Required

              The type of plan change that was initiated

            • date string(date-time) Required

              The time the change was initiated

            • user_id string

              The user that requested the change

            • admin_id string

              The admin user that requested the change

            • remote_addresses array[string]

              The host addresses of the user that originated the change

          • warnings array[object] Required
            Hide warnings attributes Show warnings attributes object
            • code string Required

              A unique warning code

            • message string Required

              A description of the warning

            • step_id string

              The ID of the step which produced a warning, if any

          • error object

            Information about an error during a plan attempt.

            Additional properties are allowed.

            Hide error attributes Show error attributes object
            • timestamp string(date-time) Required

              Timestamp marking on info log of step

            • message string Required

              Human readable error message

            • details object Required

              A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

              Hide details attribute Show details attribute object
              • * string Additional properties
            • The failure type

        • pending object

          Information about the Elasticsearch cluster plan.

          Additional properties are allowed.

          Hide pending attributes Show pending attributes object
          • A UUID for each plan attempt

          • A human readable name for each plan attempt, only populated when retrieving plan histories

          • healthy boolean Required

            Either the plan ended successfully, or is not yet completed (and no errors have occurred)

          • attempt_start_time string(date-time)

            When this plan attempt (ie to apply the plan to the cluster) started (ISO format in UTC)

          • attempt_end_time string(date-time)

            If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

          • plan_end_time string(date-time)

            If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

          • plan object

            The plan for building this Elasticsearch cluster

            Additional properties are allowed.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object] Required
              Hide cluster_topology attributes Show cluster_topology attributes object
              • id string

                Unique identifier of this topology element

              • Controls the combinations of Elasticsearch node types. TIP: By default, the Elasticsearch node is master eligible, can hold data, and run ingest pipelines. WARNING: Do not set for tiebreaker topologies.

                Additional properties are allowed.

                Hide node_type attributes Show node_type attributes object
                • master boolean

                  Defines whether this node can be elected master (default: false)

                • data boolean

                  Defines whether this node can hold data (default: false)

                • ingest boolean

                  Defines whether this node can run an ingest pipeline (default: false)

                • ml boolean

                  Defines whether this node can run ml jobs, valid only for versions 5.4.0 or greater (default: false)

              • node_roles array[string]

                The list of node roles for this topology element (ES version >= 7.10). Allowable values are: master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, transform

                Values are master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, or transform.

              • memory_per_node integer(int32)

                The memory capacity in MB for each node of this type built in each zone.

              • node_count_per_zone integer(int32)

                The number of nodes of this type that are allocated within each zone. (i.e. total capacity per zone = node_count_per_zone * memory_per_node in MB). Cannot be set for tiebreaker topologies. For dedicated master nodes, must be 1 if an entry exists.

              • zone_count integer(int32)

                The default number of zones in which data nodes will be placed

              • The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

                Additional properties are allowed.

                Hide elasticsearch attributes Show elasticsearch attributes object
                • version string

                  The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

                • A docker URI that allows overriding of the default docker image specified for this version

                • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

                  Additional properties are allowed.

                  Hide system_settings attributes Show system_settings attributes object
                  • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                    Additional properties are allowed.

                    Hide scripting attributes Show scripting attributes object
                    • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                    • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                    • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                    • stored object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide stored attributes Show stored attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                    • file object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide file attributes Show file attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                    • inline object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide inline attributes Show inline attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • reindex_whitelist array[string]

                    Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

                  • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

                  • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

                  • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

                  • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

                  • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

                  • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

                  • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

                • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                  Additional properties are allowed.

                • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                  Additional properties are allowed.

                • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

                • user_plugins array[object]

                  A list of admin-uploaded plugin objects that are available for this user.

                  Hide user_plugins attributes Show user_plugins attributes object
                  • name string Required

                    The name of the plugin

                  • url string Required

                    The URL of the plugin (must be accessible from the ECE infrastructure)

                  • elasticsearch_version string Required

                    The supported Elasticsearch version (must match the version in the plan)

                • user_bundles array[object]

                  A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

                  Hide user_bundles attributes Show user_bundles attributes object
                  • name string Required

                    The name of the bundle

                  • url string Required

                    The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

                  • elasticsearch_version string Required

                    The supported Elasticsearch version (must match the version in the plan)

                • curation object

                  Defines the index curation routing for the cluster

                  Additional properties are allowed.

                  Hide curation attributes Show curation attributes object
                • Defines the Elasticsearch node attributes for the instances in the topology

                  Hide node_attributes attribute Show node_attributes attribute object
                  • * string Additional properties
              • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

              • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

              • size object

                Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide size attributes Show size attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide autoscaling_min attributes Show autoscaling_min attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide autoscaling_max attributes Show autoscaling_max attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • An arbitrary JSON object overriding the default autoscaling policy. Don't set unless you really know what you are doing.

                Additional properties are allowed.

              • Controls for the topology element. Only used as part of the deployment template. Ignored if included as part of a deployment.

                Additional properties are allowed.

                Hide topology_element_control attribute Show topology_element_control attribute object
                • min object Required

                  Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                  Additional properties are allowed.

                  Hide min attributes Show min attributes object
                  • value integer(int32) Required

                    Amount of resource

                  • resource string Required

                    Type of resource

                    Values are memory or storage.

              • Set to true to enable autoscaling for this topology element, even if the cluster-level 'autoscaling_enabled' field is false. Note that 'autoscaling_tier_override' cannot be set to false if cluster-level 'autoscaling_enabled' is true. Currently only supported for the 'ml' tier

            • elasticsearch object Required

              The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

              Additional properties are allowed.

              Hide elasticsearch attributes Show elasticsearch attributes object
              • version string

                The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

              • A docker URI that allows overriding of the default docker image specified for this version

              • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                  Additional properties are allowed.

                  Hide scripting attributes Show scripting attributes object
                  • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                  • stored object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide stored attributes Show stored attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • file object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide file attributes Show file attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • inline object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide inline attributes Show inline attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                • reindex_whitelist array[string]

                  Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

                • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

                • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

                • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

                • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

                • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

                • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

                • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

              • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

              • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

              • user_plugins array[object]

                A list of admin-uploaded plugin objects that are available for this user.

                Hide user_plugins attributes Show user_plugins attributes object
                • name string Required

                  The name of the plugin

                • url string Required

                  The URL of the plugin (must be accessible from the ECE infrastructure)

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • user_bundles array[object]

                A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

                Hide user_bundles attributes Show user_bundles attributes object
                • name string Required

                  The name of the bundle

                • url string Required

                  The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • curation object

                Defines the index curation routing for the cluster

                Additional properties are allowed.

                Hide curation attributes Show curation attributes object
              • Defines the Elasticsearch node attributes for the instances in the topology

                Hide node_attributes attribute Show node_attributes attribute object
                • * string Additional properties
            • Documents which deployment template was used in the creation of this plan

              Additional properties are allowed.

              Hide deployment_template attributes Show deployment_template attributes object
              • id string Required

                The unique identifier of the deployment template

              • version string

                A version identifier to disambiguate multiple revisions of the same template

            • Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Elasticsearch settings.

              Additional properties are allowed.

              Hide transient attributes Show transient attributes object
              • strategy object

                The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

                Additional properties are allowed.

                Hide strategy attributes Show strategy attributes object
                • rolling object

                  Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                  Additional properties are allowed.

                  Hide rolling attributes Show rolling attributes object
                  • group_by string

                    Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                  • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                  • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                  • shard_init_wait_time integer(int64)

                    The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

                • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                  Additional properties are allowed.

                • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                  Additional properties are allowed.

                • A strategy that lets constructor choose the most optimal way to execute the plan.

                  Additional properties are allowed.

              • The configuration settings for the timeout and fallback parameters.

                Additional properties are allowed.

                Hide plan_configuration attributes Show plan_configuration attributes object
                • timeout integer(int64)

                  The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB). NOTES: A 3 zone cluster with 2 nodes of 2048 each would have a timeout of 4*2048=8192 seconds. Timeout does not include time required to run rollback actions.

                • calm_wait_time integer(int64)

                  This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

                • move_instances array[object]
                  Hide move_instances attributes Show move_instances attributes object
                  • from string Required

                    The instance id that is going to be moved

                  • to array[string]

                    An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                  • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

                • move_allocators array[object]
                  Hide move_allocators attributes Show move_allocators attributes object
                  • from string Required

                    The allocator id off which all instances in the cluster should be moved

                  • to array[string]

                    An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                  • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

                • move_only boolean

                  If true (default: false) only move_instances and move_allocators instructions will be executed, all other changes will be ignored

                • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

                • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

                • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                  Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                  • * string Additional properties
                • If true (default: false), does not take (or require) a successful snapshot to be taken before performing any potentially destructive changes to this cluster

                • If taking a snapshot (ie unless 'skip_snapshots': true) then will retry on failure at most this number of times (default: 5)

                • max_snapshot_age integer(int64)

                  When you take a snapshot and 'skip_snapshots' is false, specifies the maximum age in seconds of the most recent snapshot before a new snapshot is created. Default is 300

                • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

                • Set to 'forced' to force a reboot as part of the upgrade plan. NOTES: (ie taking an existing plan and leaving it alone except for setting 'transient.plan_configuration.cluster_reboot': 'forced' will reboot the cluster)

                  Value is forced.

                • If false (the default) then the plan will fail out if it believes the requested sequence of operations can result in data loss - this flag will override some of these restraints

                • If true (default: false) then the plan will not wait for data to be migrated from old instances to new instances before continuing the plan (potentially deleting the old instances and losing data)

                • If false, the cluster is checked for issues that should be resolved before migration (eg contains old Lucene segments), if true this is bypassed

                • If false (the default), the cluster will run (currently) 2.x->5.x operations for any plan change ending with a 5.x cluster (eg apply a cluster license, ensure Monitoring is configured)

                • If false (the default), the cluster will perform a snapshot after a major version upgrade takes place

              • Restores a snapshot from a local or remote repository.

                Additional properties are allowed.

                Hide restore_snapshot attributes Show restore_snapshot attributes object
                • If specified, contains the name of the snapshot repository - else will default to the Elastic Cloud system repo ('found-snapshots')

                • snapshot_name string Required

                  The name of the snapshot to restore. Use '__latest_success__' to get the most recent snapshot from the specified repository

                • Raw remote snapshot restore settings. Do not send this if you are sending source_cluster_id

                  Additional properties are allowed.

                  Hide repository_config attribute Show repository_config attribute object
                  • The remote snapshot settings raw JSON - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                    Additional properties are allowed.

                • The configuration for the restore command, such as which indices you want to restore.

                  Additional properties are allowed.

                  Hide restore_payload attributes Show restore_payload attributes object
                  • indices array[string]

                    The list of indices to restore (supports +ve and -ve selection and wildcarding - see the default Elasticsearch index format documentation)

                  • This JSON object (merged with the 'indices' field (if present) is passed untouched into the restore command - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                    Additional properties are allowed.

                • strategy string

                  The restore strategy to use. Defaults to a full restore. Partial restore will attempt to restore unavailable indices only

                  Values are partial, full, or recovery.

                • If specified, contains the name of the source cluster id. Do not send this if you are sending repository_config

              • The list of resources that will be configured as remote clusters

                Additional properties are allowed.

                Hide remote_clusters attribute Show remote_clusters attribute object
                • resources array[object] Required

                  The remote resources

                  Hide resources attributes Show resources attributes object
                  • deployment_id string Required

                    The id of the deployment

                  • elasticsearch_ref_id string Required

                    The locally-unique user-specified id of an Elasticsearch Resource

                  • alias string Required

                    The alias for this remote cluster. Aliases must only contain letters, digits, dashes and underscores

                  • If true, skip this cluster during search if it is disconnected. Default: false

                  • info object

                    Information about a Remote Cluster.

                    Additional properties are allowed.

                    Hide info attributes Show info attributes object
                    • healthy boolean Required

                      Whether or not the remote cluster is healthy

                    • connected boolean Required

                      Whether or not there is at least one connection to the remote cluster.

                    • compatible boolean Required

                      Whether or not the remote cluster version is compatible with this cluster version.

                    • trusted boolean Required

                      Whether or not the remote cluster is trusted by this cluster.

                    • trusted_back boolean Required

                      Whether or not the remote cluster trusts this cluster back.

              • If specified, contains transient settings to be applied to an Elasticsearch cluster during changes,default values shown below applied. These can be overridden by specifying them in the map (or null to unset). Additional settings can also be set. Settings will be cleared after the plan has finished. If not specified, no settings will be applied. NOTE: These settings are only explicitly cleared for 5.x+ clusters, they must be hand-reset to their defaults in 2.x- (or a cluster reboot will clear them).

                • indices.store.throttle.max_bytes_per_sec: 120Mb
                • indices.recovery.max_bytes_per_sec: 120Mb
                • cluster.routing.allocation.cluster_concurrent_rebalance: 5
                • cluster.routing.allocation.node_initial_primaries_recoveries: 5
                • cluster.routing.allocation.node_concurrent_incoming_recoveries: 5 For version 8.1 and later no defaults are provided through this mechanism, but instead hardware dependent settings are provided to each instance.

                Additional properties are allowed.

            • Enable autoscaling for this Elasticsearch cluster.

          • plan_attempt_log array[object] Required
            Hide plan_attempt_log attributes Show plan_attempt_log attributes object
            • step_id string Required

              ID of current step

            • started string(date-time) Required

              When the step started (ISO format in UTC)

            • completed string(date-time)

              When the step completed (ISO format in UTC)

            • duration_in_millis integer(int64)

              The duration of the step in MS

            • status string Required

              The status of the step (success, warning, error - warning means something didn't go as expected but it was not serious enough to abort the plan)

              Values are success, warning, error, or pending.

            • stage string Required

              Current stage that the step is in

              Values are starting, completed, or in_progress.

            • info_log array[object] Required

              Human readable summaries of the step, including messages for each stage of the step

              Hide info_log attributes Show info_log attributes object
              • timestamp string(date-time) Required

                Timestamp marking on info log of step

              • delta_in_millis integer(int64)

                Time in milliseconds since previous log message

              • stage string Required

                Stage that info log message takes place in

                Values are starting, completed, or in_progress.

              • message string Required

                Human readable log message

              • details object Required

                A map with details for the log about what happened during the step execution. Keys and values for are always both strings, representing the name of the detail and its value, respectively.

                Hide details attribute Show details attribute object
                • * string Additional properties
              • A json object with sensitive details for the log, visible only to admins. May contain nested json objects.

                Hide internal_details attribute Show internal_details attribute object
                • * string Additional properties
              • The failure type, in case the step failed

          • source object

            Information describing the source that facilitated the plans current state

            Additional properties are allowed.

            Hide source attributes Show source attributes object
            • facilitator string Required

              The service where the change originated from

            • action string Required

              The type of plan change that was initiated

            • date string(date-time) Required

              The time the change was initiated

            • user_id string

              The user that requested the change

            • admin_id string

              The admin user that requested the change

            • remote_addresses array[string]

              The host addresses of the user that originated the change

          • warnings array[object] Required
            Hide warnings attributes Show warnings attributes object
            • code string Required

              A unique warning code

            • message string Required

              A description of the warning

            • step_id string

              The ID of the step which produced a warning, if any

          • error object

            Information about an error during a plan attempt.

            Additional properties are allowed.

            Hide error attributes Show error attributes object
            • timestamp string(date-time) Required

              Timestamp marking on info log of step

            • message string Required

              Human readable error message

            • details object Required

              A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

              Hide details attribute Show details attribute object
              • * string Additional properties
            • The failure type

        • history array[object] Required
          Hide history attributes Show history attributes object
          • A UUID for each plan attempt

          • A human readable name for each plan attempt, only populated when retrieving plan histories

          • healthy boolean Required

            Either the plan ended successfully, or is not yet completed (and no errors have occurred)

          • attempt_start_time string(date-time)

            When this plan attempt (ie to apply the plan to the cluster) started (ISO format in UTC)

          • attempt_end_time string(date-time)

            If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

          • plan_end_time string(date-time)

            If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

          • plan object

            The plan for building this Elasticsearch cluster

            Additional properties are allowed.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object] Required
              Hide cluster_topology attributes Show cluster_topology attributes object
              • id string

                Unique identifier of this topology element

              • Controls the combinations of Elasticsearch node types. TIP: By default, the Elasticsearch node is master eligible, can hold data, and run ingest pipelines. WARNING: Do not set for tiebreaker topologies.

                Additional properties are allowed.

                Hide node_type attributes Show node_type attributes object
                • master boolean

                  Defines whether this node can be elected master (default: false)

                • data boolean

                  Defines whether this node can hold data (default: false)

                • ingest boolean

                  Defines whether this node can run an ingest pipeline (default: false)

                • ml boolean

                  Defines whether this node can run ml jobs, valid only for versions 5.4.0 or greater (default: false)

              • node_roles array[string]

                The list of node roles for this topology element (ES version >= 7.10). Allowable values are: master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, transform

                Values are master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, or transform.

              • memory_per_node integer(int32)

                The memory capacity in MB for each node of this type built in each zone.

              • node_count_per_zone integer(int32)

                The number of nodes of this type that are allocated within each zone. (i.e. total capacity per zone = node_count_per_zone * memory_per_node in MB). Cannot be set for tiebreaker topologies. For dedicated master nodes, must be 1 if an entry exists.

              • zone_count integer(int32)

                The default number of zones in which data nodes will be placed

              • The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

                Additional properties are allowed.

                Hide elasticsearch attributes Show elasticsearch attributes object
                • version string

                  The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

                • A docker URI that allows overriding of the default docker image specified for this version

                • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

                  Additional properties are allowed.

                  Hide system_settings attributes Show system_settings attributes object
                  • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                    Additional properties are allowed.

                    Hide scripting attributes Show scripting attributes object
                    • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                    • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                    • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                    • stored object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide stored attributes Show stored attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                    • file object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide file attributes Show file attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                    • inline object

                      Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                      Additional properties are allowed.

                      Hide inline attributes Show inline attributes object
                      • enabled boolean

                        If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                      • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • reindex_whitelist array[string]

                    Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

                  • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

                  • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

                  • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

                  • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

                  • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

                  • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

                  • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

                • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                  Additional properties are allowed.

                • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                  Additional properties are allowed.

                • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

                • user_plugins array[object]

                  A list of admin-uploaded plugin objects that are available for this user.

                  Hide user_plugins attributes Show user_plugins attributes object
                  • name string Required

                    The name of the plugin

                  • url string Required

                    The URL of the plugin (must be accessible from the ECE infrastructure)

                  • elasticsearch_version string Required

                    The supported Elasticsearch version (must match the version in the plan)

                • user_bundles array[object]

                  A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

                  Hide user_bundles attributes Show user_bundles attributes object
                  • name string Required

                    The name of the bundle

                  • url string Required

                    The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

                  • elasticsearch_version string Required

                    The supported Elasticsearch version (must match the version in the plan)

                • curation object

                  Defines the index curation routing for the cluster

                  Additional properties are allowed.

                  Hide curation attributes Show curation attributes object
                • Defines the Elasticsearch node attributes for the instances in the topology

                  Hide node_attributes attribute Show node_attributes attribute object
                  • * string Additional properties
              • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

              • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

              • size object

                Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide size attributes Show size attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide autoscaling_min attributes Show autoscaling_min attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide autoscaling_max attributes Show autoscaling_max attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

              • An arbitrary JSON object overriding the default autoscaling policy. Don't set unless you really know what you are doing.

                Additional properties are allowed.

              • Controls for the topology element. Only used as part of the deployment template. Ignored if included as part of a deployment.

                Additional properties are allowed.

                Hide topology_element_control attribute Show topology_element_control attribute object
                • min object Required

                  Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                  Additional properties are allowed.

                  Hide min attributes Show min attributes object
                  • value integer(int32) Required

                    Amount of resource

                  • resource string Required

                    Type of resource

                    Values are memory or storage.

              • Set to true to enable autoscaling for this topology element, even if the cluster-level 'autoscaling_enabled' field is false. Note that 'autoscaling_tier_override' cannot be set to false if cluster-level 'autoscaling_enabled' is true. Currently only supported for the 'ml' tier

            • elasticsearch object Required

              The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

              Additional properties are allowed.

              Hide elasticsearch attributes Show elasticsearch attributes object
              • version string

                The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

              • A docker URI that allows overriding of the default docker image specified for this version

              • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                  Additional properties are allowed.

                  Hide scripting attributes Show scripting attributes object
                  • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                  • stored object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide stored attributes Show stored attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • file object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide file attributes Show file attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • inline object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide inline attributes Show inline attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                • reindex_whitelist array[string]

                  Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

                • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

                • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

                • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

                • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

                • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

                • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

                • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

              • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

              • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

              • user_plugins array[object]

                A list of admin-uploaded plugin objects that are available for this user.

                Hide user_plugins attributes Show user_plugins attributes object
                • name string Required

                  The name of the plugin

                • url string Required

                  The URL of the plugin (must be accessible from the ECE infrastructure)

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • user_bundles array[object]

                A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

                Hide user_bundles attributes Show user_bundles attributes object
                • name string Required

                  The name of the bundle

                • url string Required

                  The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • curation object

                Defines the index curation routing for the cluster

                Additional properties are allowed.

                Hide curation attributes Show curation attributes object
              • Defines the Elasticsearch node attributes for the instances in the topology

                Hide node_attributes attribute Show node_attributes attribute object
                • * string Additional properties
            • Documents which deployment template was used in the creation of this plan

              Additional properties are allowed.

              Hide deployment_template attributes Show deployment_template attributes object
              • id string Required

                The unique identifier of the deployment template

              • version string

                A version identifier to disambiguate multiple revisions of the same template

            • Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Elasticsearch settings.

              Additional properties are allowed.

              Hide transient attributes Show transient attributes object
              • strategy object

                The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

                Additional properties are allowed.

                Hide strategy attributes Show strategy attributes object
                • rolling object

                  Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                  Additional properties are allowed.

                  Hide rolling attributes Show rolling attributes object
                  • group_by string

                    Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                  • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                  • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                  • shard_init_wait_time integer(int64)

                    The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

                • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                  Additional properties are allowed.

                • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                  Additional properties are allowed.

                • A strategy that lets constructor choose the most optimal way to execute the plan.

                  Additional properties are allowed.

              • The configuration settings for the timeout and fallback parameters.

                Additional properties are allowed.

                Hide plan_configuration attributes Show plan_configuration attributes object
                • timeout integer(int64)

                  The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB). NOTES: A 3 zone cluster with 2 nodes of 2048 each would have a timeout of 4*2048=8192 seconds. Timeout does not include time required to run rollback actions.

                • calm_wait_time integer(int64)

                  This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

                • move_instances array[object]
                  Hide move_instances attributes Show move_instances attributes object
                  • from string Required

                    The instance id that is going to be moved

                  • to array[string]

                    An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                  • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

                • move_allocators array[object]
                  Hide move_allocators attributes Show move_allocators attributes object
                  • from string Required

                    The allocator id off which all instances in the cluster should be moved

                  • to array[string]

                    An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                  • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

                • move_only boolean

                  If true (default: false) only move_instances and move_allocators instructions will be executed, all other changes will be ignored

                • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

                • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

                • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                  Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                  • * string Additional properties
                • If true (default: false), does not take (or require) a successful snapshot to be taken before performing any potentially destructive changes to this cluster

                • If taking a snapshot (ie unless 'skip_snapshots': true) then will retry on failure at most this number of times (default: 5)

                • max_snapshot_age integer(int64)

                  When you take a snapshot and 'skip_snapshots' is false, specifies the maximum age in seconds of the most recent snapshot before a new snapshot is created. Default is 300

                • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

                • Set to 'forced' to force a reboot as part of the upgrade plan. NOTES: (ie taking an existing plan and leaving it alone except for setting 'transient.plan_configuration.cluster_reboot': 'forced' will reboot the cluster)

                  Value is forced.

                • If false (the default) then the plan will fail out if it believes the requested sequence of operations can result in data loss - this flag will override some of these restraints

                • If true (default: false) then the plan will not wait for data to be migrated from old instances to new instances before continuing the plan (potentially deleting the old instances and losing data)

                • If false, the cluster is checked for issues that should be resolved before migration (eg contains old Lucene segments), if true this is bypassed

                • If false (the default), the cluster will run (currently) 2.x->5.x operations for any plan change ending with a 5.x cluster (eg apply a cluster license, ensure Monitoring is configured)

                • If false (the default), the cluster will perform a snapshot after a major version upgrade takes place

              • Restores a snapshot from a local or remote repository.

                Additional properties are allowed.

                Hide restore_snapshot attributes Show restore_snapshot attributes object
                • If specified, contains the name of the snapshot repository - else will default to the Elastic Cloud system repo ('found-snapshots')

                • snapshot_name string Required

                  The name of the snapshot to restore. Use '__latest_success__' to get the most recent snapshot from the specified repository

                • Raw remote snapshot restore settings. Do not send this if you are sending source_cluster_id

                  Additional properties are allowed.

                  Hide repository_config attribute Show repository_config attribute object
                  • The remote snapshot settings raw JSON - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                    Additional properties are allowed.

                • The configuration for the restore command, such as which indices you want to restore.

                  Additional properties are allowed.

                  Hide restore_payload attributes Show restore_payload attributes object
                  • indices array[string]

                    The list of indices to restore (supports +ve and -ve selection and wildcarding - see the default Elasticsearch index format documentation)

                  • This JSON object (merged with the 'indices' field (if present) is passed untouched into the restore command - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                    Additional properties are allowed.

                • strategy string

                  The restore strategy to use. Defaults to a full restore. Partial restore will attempt to restore unavailable indices only

                  Values are partial, full, or recovery.

                • If specified, contains the name of the source cluster id. Do not send this if you are sending repository_config

              • The list of resources that will be configured as remote clusters

                Additional properties are allowed.

                Hide remote_clusters attribute Show remote_clusters attribute object
                • resources array[object] Required

                  The remote resources

                  Hide resources attributes Show resources attributes object
                  • deployment_id string Required

                    The id of the deployment

                  • elasticsearch_ref_id string Required

                    The locally-unique user-specified id of an Elasticsearch Resource

                  • alias string Required

                    The alias for this remote cluster. Aliases must only contain letters, digits, dashes and underscores

                  • If true, skip this cluster during search if it is disconnected. Default: false

                  • info object

                    Information about a Remote Cluster.

                    Additional properties are allowed.

                    Hide info attributes Show info attributes object
                    • healthy boolean Required

                      Whether or not the remote cluster is healthy

                    • connected boolean Required

                      Whether or not there is at least one connection to the remote cluster.

                    • compatible boolean Required

                      Whether or not the remote cluster version is compatible with this cluster version.

                    • trusted boolean Required

                      Whether or not the remote cluster is trusted by this cluster.

                    • trusted_back boolean Required

                      Whether or not the remote cluster trusts this cluster back.

              • If specified, contains transient settings to be applied to an Elasticsearch cluster during changes,default values shown below applied. These can be overridden by specifying them in the map (or null to unset). Additional settings can also be set. Settings will be cleared after the plan has finished. If not specified, no settings will be applied. NOTE: These settings are only explicitly cleared for 5.x+ clusters, they must be hand-reset to their defaults in 2.x- (or a cluster reboot will clear them).

                • indices.store.throttle.max_bytes_per_sec: 120Mb
                • indices.recovery.max_bytes_per_sec: 120Mb
                • cluster.routing.allocation.cluster_concurrent_rebalance: 5
                • cluster.routing.allocation.node_initial_primaries_recoveries: 5
                • cluster.routing.allocation.node_concurrent_incoming_recoveries: 5 For version 8.1 and later no defaults are provided through this mechanism, but instead hardware dependent settings are provided to each instance.

                Additional properties are allowed.

            • Enable autoscaling for this Elasticsearch cluster.

          • plan_attempt_log array[object] Required
            Hide plan_attempt_log attributes Show plan_attempt_log attributes object
            • step_id string Required

              ID of current step

            • started string(date-time) Required

              When the step started (ISO format in UTC)

            • completed string(date-time)

              When the step completed (ISO format in UTC)

            • duration_in_millis integer(int64)

              The duration of the step in MS

            • status string Required

              The status of the step (success, warning, error - warning means something didn't go as expected but it was not serious enough to abort the plan)

              Values are success, warning, error, or pending.

            • stage string Required

              Current stage that the step is in

              Values are starting, completed, or in_progress.

            • info_log array[object] Required

              Human readable summaries of the step, including messages for each stage of the step

              Hide info_log attributes Show info_log attributes object
              • timestamp string(date-time) Required

                Timestamp marking on info log of step

              • delta_in_millis integer(int64)

                Time in milliseconds since previous log message

              • stage string Required

                Stage that info log message takes place in

                Values are starting, completed, or in_progress.

              • message string Required

                Human readable log message

              • details object Required

                A map with details for the log about what happened during the step execution. Keys and values for are always both strings, representing the name of the detail and its value, respectively.

                Hide details attribute Show details attribute object
                • * string Additional properties
              • A json object with sensitive details for the log, visible only to admins. May contain nested json objects.

                Hide internal_details attribute Show internal_details attribute object
                • * string Additional properties
              • The failure type, in case the step failed

          • source object

            Information describing the source that facilitated the plans current state

            Additional properties are allowed.

            Hide source attributes Show source attributes object
            • facilitator string Required

              The service where the change originated from

            • action string Required

              The type of plan change that was initiated

            • date string(date-time) Required

              The time the change was initiated

            • user_id string

              The user that requested the change

            • admin_id string

              The admin user that requested the change

            • remote_addresses array[string]

              The host addresses of the user that originated the change

          • warnings array[object] Required
            Hide warnings attributes Show warnings attributes object
            • code string Required

              A unique warning code

            • message string Required

              A description of the warning

            • step_id string

              The ID of the step which produced a warning, if any

          • error object

            Information about an error during a plan attempt.

            Additional properties are allowed.

            Hide error attributes Show error attributes object
            • timestamp string(date-time) Required

              Timestamp marking on info log of step

            • message string Required

              Human readable error message

            • details object Required

              A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

              Hide details attribute Show details attribute object
              • * string Additional properties
            • The failure type

      • elasticsearch object Required

        Information about the Elasticsearch cluster.

        Additional properties are allowed.

        Hide elasticsearch attributes Show elasticsearch attributes object
        • healthy boolean Required

          Whether the Elasticsearch cluster is healthy (check the sub-objects for more details if not)

        • shard_info object Required

          WARNING This endpoint is deprecated and scheduled to be removed in the next major version. Use shards_status instead.

          Elasticsearch shard info

          Additional properties are allowed.

          Hide shard_info attributes Show shard_info attributes object
          • healthy boolean Required

            Whether the shard situation is healthy (any unavailable shards is unhealthy)

          • available_shards array[object] Required
            Hide available_shards attributes Show available_shards attributes object
            • instance_name string Required

              The Elastic Cloud name/id of the instance (container)

            • shard_count integer(int32) Required

              The number of shards of the given type (available/unavailable) on this instance

          • unavailable_shards array[object] Required
            Hide unavailable_shards attributes Show unavailable_shards attributes object
            • instance_name string Required

              The Elastic Cloud name/id of the instance (container)

            • shard_count integer(int32) Required

              The number of shards of the given type (available/unavailable) on this instance

          • unavailable_replicas array[object] Required
            Hide unavailable_replicas attributes Show unavailable_replicas attributes object
            • instance_name string Required

              The Elastic Cloud name/id of the instance (container)

            • replica_count integer(int32) Required

              The number of unavailable replicas on this instance

        • Shards status represented as green, yellow, or red, as returned by the Elasticsearch cluster health API

          Additional properties are allowed.

          Hide shards_status attribute Show shards_status attribute object
          • status string Required

            Indicates the elasticsearch cluster health status as a color

            Values are green, red, or yellow.

        • master_info object Required

          Information about the master nodes in the Elasticsearch cluster.

          Additional properties are allowed.

          Hide master_info attributes Show master_info attributes object
          • healthy boolean Required

            Whether the master situation in the cluster is healthy (ie is the number of masters != 1), or do any instances have no master

          • masters array[object] Required
            Hide masters attributes Show masters attributes object
            • master_node_id string Required

              The Elasticsearch node id of a master node

            • The corresponding instance name of the container hosting the Elasticsearch master node, if available

            • instances array[string] Required

              The names of the instance/container hosting the node belong to the cluster with the given master

          • instances_with_no_master array[string] Required

            A list of any instances with no master

        • blocking_issues object Required

          WARNING This endpoint is deprecated and scheduled to be removed in the next major version. Use cluster_blocking_issues instead.

          cluster-wide and/or index blocks

          Additional properties are allowed.

          Hide blocking_issues attributes Show blocking_issues attributes object
          • healthy boolean Required

            Whether the cluster has issues (false) or not (true)

          • cluster_level array[object] Required

            A list of issues that affect availability of entire cluster

            Hide cluster_level attributes Show cluster_level attributes object
            • description string Required

              Description of the issue

            • instances array[string] Required

              A list of instances that are affected by the issue

          • index_level array[object] Required

            A list of issues that affect availability of the cluster's indices

            Hide index_level attributes Show index_level attributes object
            • description string Required

              Description of the issue

            • instances array[string] Required

              A list of instances that are affected by the issue

        • Issues that prevent the Elasticsearch cluster or index from correctly operating.

          Additional properties are allowed.

          Hide cluster_blocking_issues attributes Show cluster_blocking_issues attributes object
          • healthy boolean Required

            Whether the cluster has issues (false) or not (true)

          • blocks array[object] Required

            A list of blocks that affect the availability of the cluster

            Hide blocks attributes Show blocks attributes object
            • description string Required

              Description of the block

            • level string Required

              Applicable level for the block. Either global ie. cluster-wide or index level

              Values are index or global.

      • metadata object Required

        Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

        Additional properties are allowed.

        Hide metadata attributes Show metadata attributes object
        • version integer(int32) Required

          The resource version number of the cluster metadata

        • last_modified string(date-time) Required

          The most recent time the cluster metadata was changed (ISO format in UTC)

        • endpoint string

          The DNS name of the cluster endpoint, if available

        • The full URL to access this deployment resource

        • The DNS name of the cluster endpoint derived from the deployment alias, if available

        • The full aliased URL to access this deployment resource

        • cloud_id string

          The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana (only present if both exist)

        • raw object

          An unstructured JSON representation of the public and internal state (can be filtered out via URL parameter). The contents and structure of the raw field can change at any time.

          Additional properties are allowed.

        • ports object

          The ports that allow communication with the cluster using various protocols.

          Additional properties are allowed.

          Hide ports attributes Show ports attributes object
          • http integer(int32) Required

            Port where the cluster listens for HTTP traffic

          • https integer(int32) Required

            Port where the cluster listens for HTTPS traffic

          • transport_passthrough integer(int32) Required

            Port where the cluster listens for transport traffic using TLS

        • services_urls array[object]

          A list of the URLs to access services that the resource provides at this time. Note that if the service is not running or has not started yet, the URL to access it won't be available

          Hide services_urls attributes Show services_urls attributes object
          • service string Required

            Name of the service

          • url string Required

            The full URL to access the service

      • topology object Required

        The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The ClusterTopologyInfo also includes the instances and containers, and where they are located.

        Additional properties are allowed.

        Hide topology attributes Show topology attributes object
        • healthy boolean Required

          Whether the cluster topology is healthy (ie all instances are started and the services they run - ie elasticsearch - are available

        • instances array[object] Required
          Hide instances attributes Show instances attributes object
          • instance_name string Required

            The name of the instance in Elastic Cloud

          • Information about a configuration that creates a Kibana instance or APM Server.

            Additional properties are allowed.

            Hide instance_configuration attributes Show instance_configuration attributes object
            • id string Required

              The id of the configuration used to create the instance

            • name string Required

              The name of the configuration used to create the instance

            • config_version integer(int32)

              If the IC is configuration controlled, this field is the version either being read back (reads return the latest IC unless specified by the 'config_version' URL param), or the version to update. Cannot be used in creates. For unversioned IC reads it is left empty.

            • resource string Required

              The resource type of the instance configuration

              Values are memory or storage.

          • The version of the service that the instance is running (eg Elasticsearch or Kibana), if available

          • healthy boolean Required

            Whether the instance is healthy (ie started and running)

          • container_started boolean Required

            Whether the container has started (does not tell you anything about the service -ie Elasticsearch- running inside the container)

          • service_running boolean Required

            Whether the service launched inside the container -ie Elasticsearch- is actually running

          • maintenance_mode boolean Required

            Whether the service is is maintenance mode (meaning that the proxy is not routing external traffic to it)

          • zone string

            The zone in which this instance is being allocated

          • The id of the allocator on which this instance is running (if the container is started or starting)

          • memory object

            Information about the specific instances memory capacity and its usage

            Additional properties are allowed.

            Hide memory attributes Show memory attributes object
            • instance_capacity integer(int32) Required

              The memory capacity in MB of the instance

            • The planned memory capacity in MB of the instance (only shown when an override is present)

            • memory_pressure integer(int32)

              The % memory pressure of Elasticsearch JVM heap space if available (60-75% consider increasing capacity, >75% can incur significant performance and stability issues)

            • The % memory pressure of the instance Docker container (if available)

          • disk object

            Information about the use and storage capacity of a Kibana instance or APM Server.

            Additional properties are allowed.

            Hide disk attributes Show disk attributes object
            • disk_space_available integer(int64)

              If known, the amount of total disk space available to the container in MB

            • disk_space_used integer(int64) Required

              The amount of disk space being used by the service in MB

            • storage_multiplier number(double) Required

              The storage multiplier originally defined to calculate disk space.

          • service_roles array[string]

            List of roles assigned to the service running in the instance. Currently only populated for Elasticsearch, with possible values: master,data,ingest,ml

          • node_roles array[string]

            A list of the node roles assigned to the service running in the instance. Currently populated only for Elasticsearch.

            Values are master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, transform, or voting_only.

          • Instance overrides

            Additional properties are allowed.

            Hide instance_overrides attributes Show instance_overrides attributes object
            • capacity integer(int32)

              Sets the memory capacity for the instances container. Requires a restart to take effect.

            • storage_multiplier number(double)

              Overrides the disk quota multiplier for the instance

      • system_alerts array[object]

        List of cluster system alerts

        Hide system_alerts attributes Show system_alerts attributes object
        • timestamp string(date-time) Required

          Timestamp marking the system alert

        • instance_name string Required

          Instance that caused the system alert

        • alert_type string Required

          Type of system alert

          Values are automatic_restart, heap_dump, or unknown_event.

        • url string

          The URL related to the event. Only applicable for alert_type: heap_dump

        • exit_code integer(int32)

          The exit_code related to the event. Only applicable for alert_type: slain

      • associated_kibana_clusters array[object] Required
        Hide associated_kibana_clusters attributes Show associated_kibana_clusters attributes object
        • kibana_id string Required

          The Kibana cluster Id

        • enabled boolean Required

          Whether the associated Kibana cluster is currently available

      • associated_apm_clusters array[object] Required
        Hide associated_apm_clusters attributes Show associated_apm_clusters attributes object
        • apm_id string Required

          The APM cluster Id

        • enabled boolean Required

          Whether the associated APM cluster is currently available

      • associated_appsearch_clusters array[object] Required
        Hide associated_appsearch_clusters attributes Show associated_appsearch_clusters attributes object
        • app_search_id string Required

          The App Search Id

        • enabled boolean Required

          Whether the associated App Search is currently available

      • Hide associated_enterprise_search_clusters attributes Show associated_enterprise_search_clusters attributes object
        • enterprise_search_id string Required

          The Enterprise Search Id

        • enabled boolean Required

          Whether the associated Enterprise Search is currently available

      • security object

        For 2.x Elasticsearch clusters, specifies the information about the users and roles. For 5.x Elasticsearch clusters, use the Kibana management UI.

        Additional properties are allowed.

        Hide security attributes Show security attributes object
        • version integer(int32) Required

          The resource version number of the security settings

        • last_modified string(date-time) Required

          The most recent time the security settings were changed (ISO format in UTC)

        • users array[object] Required
          Hide users attributes Show users attributes object
        • roles object Required

          An arbitrarily nested JSON object mapping roles to sets of resources and permissions - see the Elasticsearch security documentation for more details on roles

          Additional properties are allowed.

        • users_roles array[object] Required
          Hide users_roles attributes Show users_roles attributes object
          • username string Required

            The username

          • roles array[string] Required

            The list of roles for this user

      • Information about the monitoring status for the Elasticsearch cluster.

        Additional properties are allowed.

        Hide elasticsearch_monitoring_info attributes Show elasticsearch_monitoring_info attributes object
        • healthy boolean Required

          Whether the Monitoring configuration has been successfully applied

        • last_modified string(date-time) Required

          The time the monitoring configuration was last changed

        • last_update_status string Required

          The status message from the last update (successful or not)

        • source_cluster_ids array[string] Required

          The list of clusters Ids from which this cluster is currently receiving monitoring data

        • destination_cluster_ids array[string] Required

          The list of clusters Ids to which this cluster is currently sending monitoring data

      • snapshots object Required

        Information about the snapshot status for the Elasticsearch cluster. For example, the health status.

        Additional properties are allowed.

        Hide snapshots attributes Show snapshots attributes object
      • settings object

        The settings for building this Elasticsearch cluster

        Additional properties are allowed.

        Hide settings attributes Show settings attributes object
        • snapshot object

          The snapshot settings for this deployment. When provided, snapshot settings are changed as specified. A null value reverts the field to the default value. Otherwise, all snapshot settings remain as they were set previously.

          Additional properties are allowed.

          Hide snapshot attributes Show snapshot attributes object
          • Snapshot repository configuration

            Additional properties are allowed.

            Hide repository attributes Show repository attributes object
            • static object

              Cluster snapshot static repository settings, containing repository type and settings

              Additional properties are allowed.

              Hide static attributes Show static attributes object
              • Type of snapshot repository, ie: S3

              • settings object

                Settings associated with snapshot repository

                Additional properties are allowed.

            • Cluster snapshot reference repository settings, containing the repository name in ECE fashion

              Additional properties are allowed.

              Hide reference attribute Show reference attribute object
              • ECE snapshot repository name, from the '/platform/configuration/snapshots/repositories' endpoint

            • default object

              Cluster snapshot default repository settings

              Additional properties are allowed.

          • interval string

            Interval between snapshots, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute). Default is 30 minutes

          • Interval between snapshot progress checks, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute). Default is 1 minute

          • The time to wait between snapshot phases (snapshot, purge), with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute). Default is 10 minutes

          • enabled boolean

            Indicates if Snapshotting is enabled

          • suspended array[string]

            List of temporary snapshot suspensions

          • Cluster snapshot retention information

            Additional properties are allowed.

            Hide retention attributes Show retention attributes object
            • snapshots integer(int32)

              Number of snapshots to retain

            • max_age string

              Total retention period for all snapshots, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute)

          • slm boolean

            When set to true, the deployment will have SLM enabled. Default value is true.

          • Cron expression indicating when should snapshots be taken. This can be enabled only if SLM is enabled for the deployment and 'interval' is not present

        • The monitoring settings for this deployment. When provided, monitoring settings are changed as specified. A null value reverts the field to the default value. Otherwise, all monitoring settings remain as they were set previously.

          Additional properties are allowed.

          Hide monitoring attribute Show monitoring attribute object
          • target_cluster_id string Required

            The Id of the target cluster to which to send monitoring information

        • metadata object

          The top-level configuration settings for the Elasticsearch cluster.

          Additional properties are allowed.

          Hide metadata attributes Show metadata attributes object
          • name string

            The display name of the cluster

          • owner_id string

            The user id (referencing whatever user database is in use) of the cluster owner

          • The organization that owns the deployment

          • Subscription level of the cluster

          • Indicates if a cluster is system owned (restricts the set of operations that can be performed on it)

          • Contact email for the cluster

          • hidden boolean

            Whether or not this cluster is hidden from the normal clusters list

          • The top-level configuration settings for the Elasticsearch cluster resources.

            Additional properties are allowed.

            Hide resources attribute Show resources attribute object
            • cpu object

              Specifies the CPU resource settings for the Elasticsearch cluster.

              Additional properties are allowed.

              Hide cpu attributes Show cpu attributes object
              • boost boolean

                Indicates if the CPU boost flag is enabled or not.

              • hard_limit boolean

                Indicates if the CPU hard limit flag is enabled or not. When set to true (default), allocates CPU timeshare based on the total CPU time multiplied by the relative RAM capacity of the instance on a given host. When set to false, delegates CPU allocation to the operating system to schedule CPU timeshares.

        • curation object

          The curation settings for this deployment. When provided, curation settings are changed as specified. A null value reverts the field to the default value. Otherwise, all curation settings remain as they were set previously.

          Additional properties are allowed.

          Hide curation attribute Show curation attribute object
          • specs array[object] Required

            Specifications for curation

            Hide specs attributes Show specs attributes object
        • Threshold starting from which the number of instances in the cluster results in the introduction of dedicated masters. If the cluster is downscaled to a number of nodes below this one, dedicated masters will be removed. Limit is inclusive. When provided the threshold setting is updated. A null value removes the field. Otherwise, the setting remains as it was set previously.

        • The rulesets to apply to all resources in this cluster. When specified, the set of rulesets is updated and the same rulesets will be applied to Kibana and APM clusters as well. If not specified, the rulesets remain as they were set previously.

          Additional properties are allowed.

          Hide traffic_filter attribute Show traffic_filter attribute object
          • rulesets array[string] Required

            IDs of the traffic filter rulesets

        • trust object

          Configuration of trust with other clusters. When provided, trust settings are changed as specified. A null value reverts the field to the default value. Otherwise, all trust settings remain as they were set previously.

          Additional properties are allowed.

          Hide trust attributes Show trust attributes object
          • accounts array[object]

            The list of trust relationships with different accounts

            Hide accounts attributes Show accounts attributes object
            • account_id string Required

              the ID of the Account

            • name string

              A human readable name of the trust relationship

            • trust_all boolean Required

              If true, all clusters in this account will by default be trusted and the trust_allowlist is ignored.

            • trust_allowlist array[string]

              The list of clusters to trust. Only used when trust_all is false.

          • external array[object]

            The list of trust relationships with external entities

            Hide external attributes Show external attributes object
            • trust_relationship_id string Required

              The ID of the external trust relationship

            • name string

              The name of the external trust relationship. Retrieved from the TrustRelationship and ignored on write.

            • trust_all boolean Required

              If true, all clusters in this external entity will be trusted and the trust_allowlist is ignored.

            • trust_allowlist array[string]

              The list of clusters to trust. Only used when trust_all is false.

          • direct array[object]

            The list of trust relationships where the certificate is bundled with the trust setting. Allows configuring trust for clusters running outside of an Elastic Cloud managed environment or in an Elastic Cloud environment without an environment level trust established.

            Hide direct attributes Show direct attributes object
            • uid string

              Auto generated identifier for this trust, allows distinguishing between update vs remove and add.

            • name string Required

              a human readable name of the trust relationship

            • type string

              The type can either be ESS, ECE, generic or proxy. If none is specified, then generic is assumed. If proxy is specified, trust_all should be false and trust_allowlist, scope_id and additional_node_names should be omitted.

              Values are ECE, ESS, generic, or proxy.

            • trust_all boolean Required

              If true, scope_id is required and the trust_allowlist is ignored and all clusters matching the scope id will be trusted.

            • trust_allowlist array[string]

              The list of clusters with matching scope to trust. Only used when trust_all is false. Providing one or more clusters makes scope_id mandatory.

            • scope_id string

              A lowercase alphanumerical string of max 32 characters. Usually an organization id or an environment id, but could really be any suitable suffix for clusters using the CA certificate of this trust. Required unless trust_all is false and trust_allowlist is empty.

            • A list of node names trusted in addition to those deducible from trust_allowlist and scope id. Allows trusting nodes that don't have a scoped name at the cost of maintaining the list. Mandatory if scope id is not defined. Wildcards are not allowed.

            • certificates array[object] Required

              The public ca certificate(s) to trust. Only one is required, but it is possible to specify multiple certificates in order to facilitate key rotation.

              Hide certificates attributes Show certificates attributes object
              • pem string Required

                The public ca certificate as string in PEM format.

              • metadata object

                Metadata about the certificate, including fingerprint and expiry date. Generated by the Cloud service and ignored on write.

                Additional properties are allowed.

                Hide metadata attributes Show metadata attributes object
                • fingerprint string Required

                  The fingerprint of the certificate

                • valid_to string(date-time) Required

                  The expiry date of the certificate in UTC

                • valid_from string(date-time) Required

                  The valid from date of the certificate in UTC

                • also_trusted_by array[string]

                  Other deployments also trusting this certificate

        • The contents of the Elasticsearch keystore. It's a write only field.

          Additional properties are allowed.

          Hide keystore_contents attribute Show keystore_contents attribute object
          • secrets object Required

            List of secrets

            Hide secrets attribute Show secrets attribute object
            • * object Additional properties

              The value that you configure for the Elasticsearch keystore secret.

              Additional properties are allowed.

              Hide * attributes Show * attributes 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.

                Additional properties are allowed.

              • 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.

      • region string

        The region that this cluster belongs to. Only populated in SaaS or federated ECE.

      • locked boolean

        Whether or not this cluster is locked. Only populated in SaaS.

  • The Deployment specified by {deployment_id} cannot be found. (code: deployments.deployment_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • We have failed you. (code: deployments.deployment_resource_no_longer_exists)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_resource_no_longer_exists.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /deployments/{deployment_id}/elasticsearch/{ref_id}
curl \
 --request GET https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}
Response examples (200)
{
  "ref_id": "string",
  "id": "string",
  "region": "string",
  "info": {
    "cluster_id": "string",
    "cluster_name": "string",
    "deployment_id": "string",
    "healthy": true,
    "status": "initializing",
    "plan_info": {
      "healthy": true,
      "current": {
        "plan_attempt_id": "string",
        "plan_attempt_name": "string",
        "healthy": true,
        "attempt_start_time": "2025-05-04T09:42:00+00:00",
        "attempt_end_time": "2025-05-04T09:42:00+00:00",
        "plan_end_time": "2025-05-04T09:42:00+00:00",
        "plan": {
          "cluster_topology": [
            {
              "id": "string",
              "node_type": {
                "master": true,
                "data": true,
                "ingest": true,
                "ml": true
              },
              "node_roles": [
                "master"
              ],
              "memory_per_node": 42,
              "node_count_per_zone": 42,
              "zone_count": 42,
              "elasticsearch": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "scripting": {
                    "painless_enabled": true,
                    "mustache_enabled": true,
                    "expressions_enabled": true,
                    "stored": {
                      "enabled": true,
                      "sandbox_mode": true
                    },
                    "file": {
                      "enabled": true,
                      "sandbox_mode": true
                    },
                    "inline": {
                      "enabled": true,
                      "sandbox_mode": true
                    }
                  },
                  "reindex_whitelist": [
                    "string"
                  ],
                  "auto_create_index": true,
                  "enable_close_index": true,
                  "destructive_requires_name": true,
                  "watcher_trigger_engine": "string",
                  "default_shards_per_index": 42,
                  "monitoring_collection_interval": 42,
                  "monitoring_history_duration": "string"
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string",
                "enabled_built_in_plugins": [
                  "string"
                ],
                "user_plugins": [
                  {
                    "name": "string",
                    "url": "string",
                    "elasticsearch_version": "string"
                  }
                ],
                "user_bundles": [
                  {
                    "name": "string",
                    "url": "string",
                    "elasticsearch_version": "string"
                  }
                ],
                "curation": {
                  "from_instance_configuration_id": "string",
                  "to_instance_configuration_id": "string"
                },
                "node_attributes": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                }
              },
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "autoscaling_min": {
                "value": 42,
                "resource": "memory"
              },
              "autoscaling_max": {
                "value": 42,
                "resource": "memory"
              },
              "autoscaling_policy_override_json": {},
              "topology_element_control": {
                "min": {
                  "value": 42,
                  "resource": "memory"
                }
              },
              "autoscaling_tier_override": true
            }
          ],
          "elasticsearch": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "scripting": {
                "painless_enabled": true,
                "mustache_enabled": true,
                "expressions_enabled": true,
                "stored": {
                  "enabled": true,
                  "sandbox_mode": true
                },
                "file": {
                  "enabled": true,
                  "sandbox_mode": true
                },
                "inline": {
                  "enabled": true,
                  "sandbox_mode": true
                }
              },
              "reindex_whitelist": [
                "string"
              ],
              "auto_create_index": true,
              "enable_close_index": true,
              "destructive_requires_name": true,
              "watcher_trigger_engine": "string",
              "default_shards_per_index": 42,
              "monitoring_collection_interval": 42,
              "monitoring_history_duration": "string"
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "string",
            "enabled_built_in_plugins": [
              "string"
            ],
            "user_plugins": [
              {
                "name": "string",
                "url": "string",
                "elasticsearch_version": "string"
              }
            ],
            "user_bundles": [
              {
                "name": "string",
                "url": "string",
                "elasticsearch_version": "string"
              }
            ],
            "curation": {
              "from_instance_configuration_id": "string",
              "to_instance_configuration_id": "string"
            },
            "node_attributes": {
              "additionalProperty1": "string",
              "additionalProperty2": "string"
            }
          },
          "deployment_template": {
            "id": "string",
            "version": "string"
          },
          "transient": {
            "strategy": {
              "rolling": {
                "group_by": "string",
                "allow_inline_resize": true,
                "skip_synced_flush": true,
                "shard_init_wait_time": 42
              },
              "grow_and_shrink": {},
              "rolling_grow_and_shrink": {},
              "autodetect": {}
            },
            "plan_configuration": {
              "timeout": 42,
              "calm_wait_time": 42,
              "move_instances": [
                {
                  "from": "string",
                  "to": [
                    "string"
                  ],
                  "instance_down": true
                }
              ],
              "move_allocators": [
                {
                  "from": "string",
                  "to": [
                    "string"
                  ],
                  "allocator_down": true
                }
              ],
              "move_only": true,
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "skip_snapshot": true,
              "max_snapshot_attempts": 42,
              "max_snapshot_age": 42,
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true,
              "skip_data_migration": true,
              "skip_upgrade_checker": true,
              "skip_post_upgrade_steps": true,
              "skip_snapshot_post_major_upgrade": true
            },
            "restore_snapshot": {
              "repository_name": "string",
              "snapshot_name": "string",
              "repository_config": {
                "raw_settings": {}
              },
              "restore_payload": {
                "indices": [
                  "string"
                ],
                "raw_settings": {}
              },
              "strategy": "partial",
              "source_cluster_id": "string"
            },
            "remote_clusters": {
              "resources": [
                {
                  "deployment_id": "string",
                  "elasticsearch_ref_id": "string",
                  "alias": "string",
                  "skip_unavailable": true,
                  "info": {
                    "healthy": true,
                    "connected": true,
                    "compatible": true,
                    "trusted": true,
                    "trusted_back": true
                  }
                }
              ]
            },
            "cluster_settings_json": {}
          },
          "autoscaling_enabled": true
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00+00:00",
            "completed": "2025-05-04T09:42:00+00:00",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00+00:00",
                "delta_in_millis": 42,
                "stage": "starting",
                "message": "string",
                "details": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "internal_details": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "failure_type": "string"
              }
            ]
          }
        ],
        "source": {
          "facilitator": "string",
          "action": "string",
          "date": "2025-05-04T09:42:00+00:00",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00+00:00",
          "message": "string",
          "details": {
            "additionalProperty1": "string",
            "additionalProperty2": "string"
          },
          "failure_type": "string"
        }
      },
      "pending": {
        "plan_attempt_id": "string",
        "plan_attempt_name": "string",
        "healthy": true,
        "attempt_start_time": "2025-05-04T09:42:00+00:00",
        "attempt_end_time": "2025-05-04T09:42:00+00:00",
        "plan_end_time": "2025-05-04T09:42:00+00:00",
        "plan": {
          "cluster_topology": [
            {
              "id": "string",
              "node_type": {
                "master": true,
                "data": true,
                "ingest": true,
                "ml": true
              },
              "node_roles": [
                "master"
              ],
              "memory_per_node": 42,
              "node_count_per_zone": 42,
              "zone_count": 42,
              "elasticsearch": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "scripting": {
                    "painless_enabled": true,
                    "mustache_enabled": true,
                    "expressions_enabled": true,
                    "stored": {
                      "enabled": true,
                      "sandbox_mode": true
                    },
                    "file": {
                      "enabled": true,
                      "sandbox_mode": true
                    },
                    "inline": {
                      "enabled": true,
                      "sandbox_mode": true
                    }
                  },
                  "reindex_whitelist": [
                    "string"
                  ],
                  "auto_create_index": true,
                  "enable_close_index": true,
                  "destructive_requires_name": true,
                  "watcher_trigger_engine": "string",
                  "default_shards_per_index": 42,
                  "monitoring_collection_interval": 42,
                  "monitoring_history_duration": "string"
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string",
                "enabled_built_in_plugins": [
                  "string"
                ],
                "user_plugins": [
                  {
                    "name": "string",
                    "url": "string",
                    "elasticsearch_version": "string"
                  }
                ],
                "user_bundles": [
                  {
                    "name": "string",
                    "url": "string",
                    "elasticsearch_version": "string"
                  }
                ],
                "curation": {
                  "from_instance_configuration_id": "string",
                  "to_instance_configuration_id": "string"
                },
                "node_attributes": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                }
              },
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "autoscaling_min": {
                "value": 42,
                "resource": "memory"
              },
              "autoscaling_max": {
                "value": 42,
                "resource": "memory"
              },
              "autoscaling_policy_override_json": {},
              "topology_element_control": {
                "min": {
                  "value": 42,
                  "resource": "memory"
                }
              },
              "autoscaling_tier_override": true
            }
          ],
          "elasticsearch": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "scripting": {
                "painless_enabled": true,
                "mustache_enabled": true,
                "expressions_enabled": true,
                "stored": {
                  "enabled": true,
                  "sandbox_mode": true
                },
                "file": {
                  "enabled": true,
                  "sandbox_mode": true
                },
                "inline": {
                  "enabled": true,
                  "sandbox_mode": true
                }
              },
              "reindex_whitelist": [
                "string"
              ],
              "auto_create_index": true,
              "enable_close_index": true,
              "destructive_requires_name": true,
              "watcher_trigger_engine": "string",
              "default_shards_per_index": 42,
              "monitoring_collection_interval": 42,
              "monitoring_history_duration": "string"
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "string",
            "enabled_built_in_plugins": [
              "string"
            ],
            "user_plugins": [
              {
                "name": "string",
                "url": "string",
                "elasticsearch_version": "string"
              }
            ],
            "user_bundles": [
              {
                "name": "string",
                "url": "string",
                "elasticsearch_version": "string"
              }
            ],
            "curation": {
              "from_instance_configuration_id": "string",
              "to_instance_configuration_id": "string"
            },
            "node_attributes": {
              "additionalProperty1": "string",
              "additionalProperty2": "string"
            }
          },
          "deployment_template": {
            "id": "string",
            "version": "string"
          },
          "transient": {
            "strategy": {
              "rolling": {
                "group_by": "string",
                "allow_inline_resize": true,
                "skip_synced_flush": true,
                "shard_init_wait_time": 42
              },
              "grow_and_shrink": {},
              "rolling_grow_and_shrink": {},
              "autodetect": {}
            },
            "plan_configuration": {
              "timeout": 42,
              "calm_wait_time": 42,
              "move_instances": [
                {
                  "from": "string",
                  "to": [
                    "string"
                  ],
                  "instance_down": true
                }
              ],
              "move_allocators": [
                {
                  "from": "string",
                  "to": [
                    "string"
                  ],
                  "allocator_down": true
                }
              ],
              "move_only": true,
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "skip_snapshot": true,
              "max_snapshot_attempts": 42,
              "max_snapshot_age": 42,
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true,
              "skip_data_migration": true,
              "skip_upgrade_checker": true,
              "skip_post_upgrade_steps": true,
              "skip_snapshot_post_major_upgrade": true
            },
            "restore_snapshot": {
              "repository_name": "string",
              "snapshot_name": "string",
              "repository_config": {
                "raw_settings": {}
              },
              "restore_payload": {
                "indices": [
                  "string"
                ],
                "raw_settings": {}
              },
              "strategy": "partial",
              "source_cluster_id": "string"
            },
            "remote_clusters": {
              "resources": [
                {
                  "deployment_id": "string",
                  "elasticsearch_ref_id": "string",
                  "alias": "string",
                  "skip_unavailable": true,
                  "info": {
                    "healthy": true,
                    "connected": true,
                    "compatible": true,
                    "trusted": true,
                    "trusted_back": true
                  }
                }
              ]
            },
            "cluster_settings_json": {}
          },
          "autoscaling_enabled": true
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00+00:00",
            "completed": "2025-05-04T09:42:00+00:00",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00+00:00",
                "delta_in_millis": 42,
                "stage": "starting",
                "message": "string",
                "details": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "internal_details": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "failure_type": "string"
              }
            ]
          }
        ],
        "source": {
          "facilitator": "string",
          "action": "string",
          "date": "2025-05-04T09:42:00+00:00",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00+00:00",
          "message": "string",
          "details": {
            "additionalProperty1": "string",
            "additionalProperty2": "string"
          },
          "failure_type": "string"
        }
      },
      "history": [
        {
          "plan_attempt_id": "string",
          "plan_attempt_name": "string",
          "healthy": true,
          "attempt_start_time": "2025-05-04T09:42:00+00:00",
          "attempt_end_time": "2025-05-04T09:42:00+00:00",
          "plan_end_time": "2025-05-04T09:42:00+00:00",
          "plan": {
            "cluster_topology": [
              {
                "id": "string",
                "node_type": {
                  "master": true,
                  "data": true,
                  "ingest": true,
                  "ml": true
                },
                "node_roles": [
                  "master"
                ],
                "memory_per_node": 42,
                "node_count_per_zone": 42,
                "zone_count": 42,
                "elasticsearch": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "scripting": {
                      "painless_enabled": true,
                      "mustache_enabled": true,
                      "expressions_enabled": true,
                      "stored": {
                        "enabled": true,
                        "sandbox_mode": true
                      },
                      "file": {
                        "enabled": true,
                        "sandbox_mode": true
                      },
                      "inline": {
                        "enabled": true,
                        "sandbox_mode": true
                      }
                    },
                    "reindex_whitelist": [
                      "string"
                    ],
                    "auto_create_index": true,
                    "enable_close_index": true,
                    "destructive_requires_name": true,
                    "watcher_trigger_engine": "string",
                    "default_shards_per_index": 42,
                    "monitoring_collection_interval": 42,
                    "monitoring_history_duration": "string"
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string",
                  "enabled_built_in_plugins": [
                    "string"
                  ],
                  "user_plugins": [
                    {
                      "name": "string",
                      "url": "string",
                      "elasticsearch_version": "string"
                    }
                  ],
                  "user_bundles": [
                    {
                      "name": "string",
                      "url": "string",
                      "elasticsearch_version": "string"
                    }
                  ],
                  "curation": {
                    "from_instance_configuration_id": "string",
                    "to_instance_configuration_id": "string"
                  },
                  "node_attributes": {
                    "additionalProperty1": "string",
                    "additionalProperty2": "string"
                  }
                },
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "autoscaling_min": {
                  "value": 42,
                  "resource": "memory"
                },
                "autoscaling_max": {
                  "value": 42,
                  "resource": "memory"
                },
                "autoscaling_policy_override_json": {},
                "topology_element_control": {
                  "min": {
                    "value": 42,
                    "resource": "memory"
                  }
                },
                "autoscaling_tier_override": true
              }
            ],
            "elasticsearch": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "scripting": {
                  "painless_enabled": true,
                  "mustache_enabled": true,
                  "expressions_enabled": true,
                  "stored": {
                    "enabled": true,
                    "sandbox_mode": true
                  },
                  "file": {
                    "enabled": true,
                    "sandbox_mode": true
                  },
                  "inline": {
                    "enabled": true,
                    "sandbox_mode": true
                  }
                },
                "reindex_whitelist": [
                  "string"
                ],
                "auto_create_index": true,
                "enable_close_index": true,
                "destructive_requires_name": true,
                "watcher_trigger_engine": "string",
                "default_shards_per_index": 42,
                "monitoring_collection_interval": 42,
                "monitoring_history_duration": "string"
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string",
              "enabled_built_in_plugins": [
                "string"
              ],
              "user_plugins": [
                {
                  "name": "string",
                  "url": "string",
                  "elasticsearch_version": "string"
                }
              ],
              "user_bundles": [
                {
                  "name": "string",
                  "url": "string",
                  "elasticsearch_version": "string"
                }
              ],
              "curation": {
                "from_instance_configuration_id": "string",
                "to_instance_configuration_id": "string"
              },
              "node_attributes": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              }
            },
            "deployment_template": {
              "id": "string",
              "version": "string"
            },
            "transient": {
              "strategy": {
                "rolling": {
                  "group_by": "string",
                  "allow_inline_resize": true,
                  "skip_synced_flush": true,
                  "shard_init_wait_time": 42
                },
                "grow_and_shrink": {},
                "rolling_grow_and_shrink": {},
                "autodetect": {}
              },
              "plan_configuration": {
                "timeout": 42,
                "calm_wait_time": 42,
                "move_instances": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "instance_down": true
                  }
                ],
                "move_allocators": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "allocator_down": true
                  }
                ],
                "move_only": true,
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "skip_snapshot": true,
                "max_snapshot_attempts": 42,
                "max_snapshot_age": 42,
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true,
                "skip_data_migration": true,
                "skip_upgrade_checker": true,
                "skip_post_upgrade_steps": true,
                "skip_snapshot_post_major_upgrade": true
              },
              "restore_snapshot": {
                "repository_name": "string",
                "snapshot_name": "string",
                "repository_config": {
                  "raw_settings": {}
                },
                "restore_payload": {
                  "indices": [
                    "string"
                  ],
                  "raw_settings": {}
                },
                "strategy": "partial",
                "source_cluster_id": "string"
              },
              "remote_clusters": {
                "resources": [
                  {
                    "deployment_id": "string",
                    "elasticsearch_ref_id": "string",
                    "alias": "string",
                    "skip_unavailable": true,
                    "info": {
                      "healthy": true,
                      "connected": true,
                      "compatible": true,
                      "trusted": true,
                      "trusted_back": true
                    }
                  }
                ]
              },
              "cluster_settings_json": {}
            },
            "autoscaling_enabled": true
          },
          "plan_attempt_log": [
            {
              "step_id": "string",
              "started": "2025-05-04T09:42:00+00:00",
              "completed": "2025-05-04T09:42:00+00:00",
              "duration_in_millis": 42,
              "status": "success",
              "stage": "starting",
              "info_log": [
                {
                  "timestamp": "2025-05-04T09:42:00+00:00",
                  "delta_in_millis": 42,
                  "stage": "starting",
                  "message": "string",
                  "details": {
                    "additionalProperty1": "string",
                    "additionalProperty2": "string"
                  },
                  "internal_details": {
                    "additionalProperty1": "string",
                    "additionalProperty2": "string"
                  },
                  "failure_type": "string"
                }
              ]
            }
          ],
          "source": {
            "facilitator": "string",
            "action": "string",
            "date": "2025-05-04T09:42:00+00:00",
            "user_id": "string",
            "admin_id": "string",
            "remote_addresses": [
              "string"
            ]
          },
          "warnings": [
            {
              "code": "string",
              "message": "string",
              "step_id": "string"
            }
          ],
          "error": {
            "timestamp": "2025-05-04T09:42:00+00:00",
            "message": "string",
            "details": {
              "additionalProperty1": "string",
              "additionalProperty2": "string"
            },
            "failure_type": "string"
          }
        }
      ]
    },
    "elasticsearch": {
      "healthy": true,
      "shard_info": {
        "healthy": true,
        "available_shards": [
          {
            "instance_name": "string",
            "shard_count": 42
          }
        ],
        "unavailable_shards": [
          {
            "instance_name": "string",
            "shard_count": 42
          }
        ],
        "unavailable_replicas": [
          {
            "instance_name": "string",
            "replica_count": 42
          }
        ]
      },
      "shards_status": {
        "status": "green"
      },
      "master_info": {
        "healthy": true,
        "masters": [
          {
            "master_node_id": "string",
            "master_instance_name": "string",
            "instances": [
              "string"
            ]
          }
        ],
        "instances_with_no_master": [
          "string"
        ]
      },
      "blocking_issues": {
        "healthy": true,
        "cluster_level": [
          {
            "description": "string",
            "instances": [
              "string"
            ]
          }
        ],
        "index_level": [
          {
            "description": "string",
            "instances": [
              "string"
            ]
          }
        ]
      },
      "cluster_blocking_issues": {
        "healthy": true,
        "blocks": [
          {
            "description": "string",
            "level": "index"
          }
        ]
      }
    },
    "metadata": {
      "version": 42,
      "last_modified": "2025-05-04T09:42:00+00:00",
      "endpoint": "string",
      "service_url": "string",
      "aliased_endpoint": "string",
      "aliased_url": "string",
      "cloud_id": "string",
      "raw": {},
      "ports": {
        "http": 42,
        "https": 42,
        "transport_passthrough": 42
      },
      "services_urls": [
        {
          "service": "string",
          "url": "string"
        }
      ]
    },
    "topology": {
      "healthy": true,
      "instances": [
        {
          "instance_name": "string",
          "instance_configuration": {
            "id": "string",
            "name": "string",
            "config_version": 42,
            "resource": "memory"
          },
          "service_version": "string",
          "healthy": true,
          "container_started": true,
          "service_running": true,
          "maintenance_mode": true,
          "zone": "string",
          "allocator_id": "string",
          "memory": {
            "instance_capacity": 42,
            "instance_capacity_planned": 42,
            "memory_pressure": 42,
            "native_memory_pressure": 42
          },
          "disk": {
            "disk_space_available": 42,
            "disk_space_used": 42,
            "storage_multiplier": 42.0
          },
          "service_roles": [
            "string"
          ],
          "node_roles": [
            "master"
          ],
          "instance_overrides": {
            "capacity": 42,
            "storage_multiplier": 42.0
          }
        }
      ]
    },
    "system_alerts": [
      {
        "timestamp": "2025-05-04T09:42:00+00:00",
        "instance_name": "string",
        "alert_type": "automatic_restart",
        "url": "string",
        "exit_code": 42
      }
    ],
    "associated_kibana_clusters": [
      {
        "kibana_id": "string",
        "enabled": true,
        "links": {
          "additionalProperty1": {
            "need_elevated_permissions": true
          },
          "additionalProperty2": {
            "need_elevated_permissions": true
          }
        }
      }
    ],
    "associated_apm_clusters": [
      {
        "apm_id": "string",
        "enabled": true,
        "links": {
          "additionalProperty1": {
            "need_elevated_permissions": true
          },
          "additionalProperty2": {
            "need_elevated_permissions": true
          }
        }
      }
    ],
    "associated_appsearch_clusters": [
      {
        "app_search_id": "string",
        "enabled": true,
        "links": {
          "additionalProperty1": {
            "need_elevated_permissions": true
          },
          "additionalProperty2": {
            "need_elevated_permissions": true
          }
        }
      }
    ],
    "associated_enterprise_search_clusters": [
      {
        "enterprise_search_id": "string",
        "enabled": true,
        "links": {
          "additionalProperty1": {
            "need_elevated_permissions": true
          },
          "additionalProperty2": {
            "need_elevated_permissions": true
          }
        }
      }
    ],
    "security": {
      "version": 42,
      "last_modified": "2025-05-04T09:42:00+00:00",
      "users": [
        {
          "username": "string",
          "password_hash": "string"
        }
      ],
      "roles": {},
      "users_roles": [
        {
          "username": "string",
          "roles": [
            "string"
          ]
        }
      ]
    },
    "elasticsearch_monitoring_info": {
      "healthy": true,
      "last_modified": "2025-05-04T09:42:00+00:00",
      "last_update_status": "string",
      "source_cluster_ids": [
        "string"
      ],
      "destination_cluster_ids": [
        "string"
      ]
    },
    "snapshots": {
      "healthy": true,
      "count": 42,
      "latest_successful": true,
      "latest_status": "string",
      "scheduled_time": "2025-05-04T09:42:00+00:00",
      "latest_end_time": "2025-05-04T09:42:00+00:00",
      "latest_successful_end_time": "2025-05-04T09:42:00+00:00",
      "recent_success": true
    },
    "external_links": [
      {
        "id": "string",
        "label": "string",
        "uri": "string"
      }
    ],
    "links": {
      "additionalProperty1": {
        "need_elevated_permissions": true
      },
      "additionalProperty2": {
        "need_elevated_permissions": true
      }
    },
    "settings": {
      "snapshot": {
        "repository": {
          "static": {
            "repository_type": "string",
            "settings": {}
          },
          "reference": {
            "repository_name": "string"
          },
          "default": {}
        },
        "interval": "string",
        "pending_interval": "string",
        "wait_time_after_snapshotting": "string",
        "enabled": true,
        "suspended": [
          "string"
        ],
        "retention": {
          "snapshots": 42,
          "max_age": "string"
        },
        "slm": true,
        "cron_expression": "string"
      },
      "monitoring": {
        "target_cluster_id": "string"
      },
      "metadata": {
        "name": "string",
        "owner_id": "string",
        "organization_id": "string",
        "subscription_level": "string",
        "system_owned": true,
        "contact_email": "string",
        "hidden": true,
        "resources": {
          "cpu": {
            "boost": true,
            "hard_limit": true
          }
        }
      },
      "curation": {
        "specs": [
          {
            "index_pattern": "string",
            "trigger_interval_seconds": 42
          }
        ]
      },
      "dedicated_masters_threshold": 42,
      "traffic_filter": {
        "rulesets": [
          "string"
        ]
      },
      "trust": {
        "accounts": [
          {
            "account_id": "string",
            "name": "string",
            "trust_all": true,
            "trust_allowlist": [
              "string"
            ]
          }
        ],
        "external": [
          {
            "trust_relationship_id": "string",
            "name": "string",
            "trust_all": true,
            "trust_allowlist": [
              "string"
            ]
          }
        ],
        "direct": [
          {
            "uid": "string",
            "name": "string",
            "type": "ECE",
            "trust_all": true,
            "trust_allowlist": [
              "string"
            ],
            "scope_id": "abc123",
            "additional_node_names": [
              "string"
            ],
            "certificates": [
              {
                "pem": "string",
                "metadata": {
                  "fingerprint": "string",
                  "valid_to": "2025-05-04T09:42:00+00:00",
                  "valid_from": "2025-05-04T09:42:00+00:00",
                  "also_trusted_by": [
                    "string"
                  ]
                }
              }
            ]
          }
        ]
      },
      "keystore_contents": {
        "secrets": {
          "additionalProperty1": {
            "value": {},
            "as_file": true
          },
          "additionalProperty2": {
            "value": {},
            "as_file": true
          }
        }
      }
    },
    "region": "string",
    "locked": true
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: deployments.deployment_resource_no_longer_exists

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}

Migrate Elasticsearch and associated Kibana resources to enable CCR

POST /deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-ccr

Migrates the specified Elasticsearch resource and its associated Kibana to enable CCR (if supported).

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).

Query parameters

  • When true, will not enable CCR but returns warnings if any elements may lose availability during CCR enablement

    Default value is false.

Responses

  • Standard response

    Hide response attribute Show response attribute object
    • warnings array[object]

      List of warnings generated from validating command

      Hide warnings attributes Show warnings attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string

        A human readable message describing the warning that occurred

    • 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)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.deployment_not_found or deployments.deployment_resource_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-ccr
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-ccr
Response examples (200)
{
  "warnings": [
    {
      "code": "string",
      "message": "string"
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}




Migrate Elasticsearch resource to use SLM

POST /deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-slm

Migrates the specified Elasticsearch resource to use SLM.

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).

Query parameters

  • When true, does not enable SLM but returns warnings if any applications may lose availability during SLM migration.

    Default value is false.

Responses

  • Standard response

    Hide response attribute Show response attribute object
    • warnings array[object]

      List of warnings generated from validating command

      Hide warnings attributes Show warnings attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string

        A human readable message describing the warning that occurred

    • 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)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.deployment_not_found or deployments.deployment_resource_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • We have failed you. (code: deployments.deployment_resource_no_longer_exists)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.deployment_resource_no_longer_exists.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

POST /deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-slm
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/_enable-slm
Response examples (200)
{
  "warnings": [
    {
      "code": "string",
      "message": "string"
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: deployments.deployment_resource_no_longer_exists

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}




















Get the items in the Elasticsearch resource keystore

GET /deployments/{deployment_id}/elasticsearch/{ref_id}/keystore

Fetches the current fields and metadata (but not the values) of the keystore for the Elasticsearch resource.

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)

Responses

  • The contents of the Elasticsearch keystore, with values redacted

    Hide response attribute Show response attribute object
    • secrets object Required

      List of secrets

      Hide secrets attribute Show secrets attribute object
      • * object Additional properties

        The value that you configure for the Elasticsearch keystore secret.

        Additional properties are allowed.

        Hide * attributes Show * attributes 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.

          Additional properties are allowed.

        • 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.

    • 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)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.deployment_not_found or deployments.deployment_resource_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

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

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is deployments.metadata_internal_error.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

GET /deployments/{deployment_id}/elasticsearch/{ref_id}/keystore
curl \
 --request GET https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/keystore
Response examples (200)
{
  "secrets": {
    "additionalProperty1": {
      "value": {},
      "as_file": true
    },
    "additionalProperty2": {
      "value": {},
      "as_file": true
    }
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (500)
# Headers
x-cloud-error-codes: deployments.metadata_internal_error

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}