Accounts

Retrieve and update the current Elasticsearch Service account.

Fetch current account information

GET /account

Fetch current account information.

Responses

  • 200 application/json

    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

      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

  • 404 application/json

    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' \
 --user "username:password"
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.

application/json

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

  • 200 application/json

    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

      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

  • 404 application/json

    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' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --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"
      ]
    }
  ]
}













Refresh authentication token

POST /users/auth/_refresh

Issues a new authentication token.

Responses

  • 200 application/json

    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

  • 401 application/json

    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

  • 501 application/json

    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

  • 502 application/json

    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' \
 --user "username:password"
Response examples (200)
{
  "token": "string",
  "session_expiration_time": "2025-05-04T09:42:00Z"
}
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"
      ]
    }
  ]
}








Delete API keys

DELETE /users/auth/keys

Delete or invalidate API keys.

application/json

Body Required

The request to delete API keys

  • keys array[string] Required

    The list of API key IDs.

Responses

  • 200 application/json

    The API keys are deleted.

DELETE /users/auth/keys
curl \
 --request DELETE 'https://{{hostname}}/api/v1/users/auth/keys' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --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

  • 200 application/json

    The metadata for the API keys is retrieved.

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

      The list of API keys.

      The response model for an API key.

      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 roles that will be assigned to users once they accept the invitation. Currently unavailable in self-hosted ECE.

        Hide role_assignments attributes Show role_assignments attributes object
        • platform array[object]

          Assignments for roles with platform scope.

          Assignment for a role with platform scope.

          Hide platform attribute Show platform attribute object
          • role_id string Required

            The ID of the role that is assigned.

        • organization array[object]

          Assignments for roles with organization scope.

          Assignment for a role with organization scope.

          Hide organization attributes Show organization attributes object
          • role_id string Required

            The ID of the role that is assigned.

          • organization_id string Required

            The ID of the organization the role is scoped to.

        • deployment array[object]

          Assignments for roles with deployment scope.

          Assignment for a role with deployment scope.

          Hide deployment attributes Show deployment attributes object
          • role_id string Required

            The ID of the role that is assigned.

          • organization_id string Required

            The ID of the organization the role is scoped to.

          • all boolean

            When true, the role applies to all deployments in the organization, otherwise the role is scoped to the deployments specified in deployment_ids.

          • deployment_ids array[string]

            The IDs of the deployments the role is scoped to. Must be absent if all is true, and present if all is false.

          • application_roles array[string]

            If provided, the user assigned this role assignment will be granted this application role when signing in to the deployment(s) specified in the role assignment.

        • project object

          Assignments for roles with project scope.

          Hide project attributes Show project attributes object
          • elasticsearch array[object]

            The Elasticsearch project-scoped role assignments to set

            Assignment for a role with project scope.

            Hide elasticsearch attributes Show elasticsearch attributes object
            • role_id string Required

              The ID of the role that is assigned.

            • organization_id string Required

              The ID of the organization the role is scoped to.

            • all boolean

              When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in project_ids.

            • project_ids array[string]

              The IDs of the projects the role is scoped to. Must be absent if all is true, and present if all is false.

            • application_roles array[string]

              If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.

          • observability array[object]

            The Observability project-scoped role assignments to set

            Assignment for a role with project scope.

            Hide observability attributes Show observability attributes object
            • role_id string Required

              The ID of the role that is assigned.

            • organization_id string Required

              The ID of the organization the role is scoped to.

            • all boolean

              When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in project_ids.

            • project_ids array[string]

              The IDs of the projects the role is scoped to. Must be absent if all is true, and present if all is false.

            • application_roles array[string]

              If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.

          • security array[object]

            The Security project-scoped role assignments to set

            Assignment for a role with project scope.

            Hide security attributes Show security attributes object
            • role_id string Required

              The ID of the role that is assigned.

            • organization_id string Required

              The ID of the organization the role is scoped to.

            • all boolean

              When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in project_ids.

            • project_ids array[string]

              The IDs of the projects the role is scoped to. Must be absent if all is true, and present if all is false.

            • application_roles array[string]

              If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.

GET /users/auth/keys/_all
curl \
 --request GET 'https://{{hostname}}/api/v1/users/auth/keys/_all' \
 --user "username:password"
Response examples (200)
{
  "keys": [
    {
      "id": "string",
      "user_id": "string",
      "organization_id": "string",
      "description": "string",
      "key": "string",
      "creation_date": "2025-05-04T09:42:00Z",
      "expiration_date": "2025-05-04T09:42:00Z",
      "role_assignments": {
        "platform": [
          {
            "role_id": "string"
          }
        ],
        "organization": [
          {
            "role_id": "string",
            "organization_id": "string"
          }
        ],
        "deployment": [
          {
            "role_id": "string",
            "organization_id": "string",
            "all": true,
            "deployment_ids": [
              "string"
            ],
            "application_roles": [
              "string"
            ]
          }
        ],
        "project": {
          "elasticsearch": [
            {
              "role_id": "string",
              "organization_id": "string",
              "all": true,
              "project_ids": [
                "string"
              ],
              "application_roles": [
                "string"
              ]
            }
          ],
          "observability": [
            {
              "role_id": "string",
              "organization_id": "string",
              "all": true,
              "project_ids": [
                "string"
              ],
              "application_roles": [
                "string"
              ]
            }
          ],
          "security": [
            {
              "role_id": "string",
              "organization_id": "string",
              "all": true,
              "project_ids": [
                "string"
              ],
              "application_roles": [
                "string"
              ]
            }
          ]
        }
      }
    }
  ]
}

Delete API keys of multiple users

DELETE /users/auth/keys/_all

Delete or invalidate the API keys for multiple users.

application/json

Body Required

The request to delete API keys.

  • user_api_keys array[object] Required

    The list of API key IDs.

    The model to specify a user and their API key in a delete request.

    Hide user_api_keys attributes Show user_api_keys attributes object

Responses

  • 200 application/json

    The API keys are deleted.

DELETE /users/auth/keys/_all
curl \
 --request DELETE 'https://{{hostname}}/api/v1/users/auth/keys/_all' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --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)
{}




Delete API key

DELETE /users/auth/keys/{api_key_id}

Delete or invalidate the API key.

Path parameters

Responses

  • 200 application/json

    The API key is deleted.

  • 404 application/json

    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

DELETE /users/auth/keys/{api_key_id}
curl \
 --request DELETE 'https://{{hostname}}/api/v1/users/auth/keys/{api_key_id}' \
 --user "username:password"
Response examples (200)
{}
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

  • 200 application/json

    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.

      Specifies the authentication methods that are enabled on the Elasticsearch cluster. NOTE: When all fields are false, only the Platform admin and Platform viewer are available.

      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' \
 --user "username:password"
Response examples (200)
{
  "password": true,
  "saml": true,
  "openid": true,
  "sso_methods": [
    {
      "sso_type": "saml",
      "name": "string",
      "url": "string"
    }
  ]
}

SAML callback

POST /users/auth/saml/_callback

Accepts a callback request from an identity provider and authenticates the user.

Responses

  • 302 application/json

    Redirects to the UI endpoint with an authorization token in the fragment and the relay state, if it was specified during the initialization.

  • 401 application/json

    The supplied SAML response 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

  • 501 application/json

    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

  • 502 application/json

    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/saml/_callback
curl \
 --request POST 'https://{{hostname}}/api/v1/users/auth/saml/_callback' \
 --user "username:password"
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"
      ]
    }
  ]
}

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

  • realm string

    An optional SAML realm to use for authentication

Responses

  • 302 application/json

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

  • 501 application/json

    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

  • 502 application/json

    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' \
 --user "username:password"
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

  • 200 application/json

    The API key metadata is retrieved.

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

      The list of API keys.

      The response model for an API key.

      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 roles that will be assigned to users once they accept the invitation. Currently unavailable in self-hosted ECE.

        Hide role_assignments attributes Show role_assignments attributes object
        • platform array[object]

          Assignments for roles with platform scope.

          Assignment for a role with platform scope.

          Hide platform attribute Show platform attribute object
          • role_id string Required

            The ID of the role that is assigned.

        • organization array[object]

          Assignments for roles with organization scope.

          Assignment for a role with organization scope.

          Hide organization attributes Show organization attributes object
          • role_id string Required

            The ID of the role that is assigned.

          • organization_id string Required

            The ID of the organization the role is scoped to.

        • deployment array[object]

          Assignments for roles with deployment scope.

          Assignment for a role with deployment scope.

          Hide deployment attributes Show deployment attributes object
          • role_id string Required

            The ID of the role that is assigned.

          • organization_id string Required

            The ID of the organization the role is scoped to.

          • all boolean

            When true, the role applies to all deployments in the organization, otherwise the role is scoped to the deployments specified in deployment_ids.

          • deployment_ids array[string]

            The IDs of the deployments the role is scoped to. Must be absent if all is true, and present if all is false.

          • application_roles array[string]

            If provided, the user assigned this role assignment will be granted this application role when signing in to the deployment(s) specified in the role assignment.

        • project object

          Assignments for roles with project scope.

          Hide project attributes Show project attributes object
          • elasticsearch array[object]

            The Elasticsearch project-scoped role assignments to set

            Assignment for a role with project scope.

            Hide elasticsearch attributes Show elasticsearch attributes object
            • role_id string Required

              The ID of the role that is assigned.

            • organization_id string Required

              The ID of the organization the role is scoped to.

            • all boolean

              When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in project_ids.

            • project_ids array[string]

              The IDs of the projects the role is scoped to. Must be absent if all is true, and present if all is false.

            • application_roles array[string]

              If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.

          • observability array[object]

            The Observability project-scoped role assignments to set

            Assignment for a role with project scope.

            Hide observability attributes Show observability attributes object
            • role_id string Required

              The ID of the role that is assigned.

            • organization_id string Required

              The ID of the organization the role is scoped to.

            • all boolean

              When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in project_ids.

            • project_ids array[string]

              The IDs of the projects the role is scoped to. Must be absent if all is true, and present if all is false.

            • application_roles array[string]

              If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.

          • security array[object]

            The Security project-scoped role assignments to set

            Assignment for a role with project scope.

            Hide security attributes Show security attributes object
            • role_id string Required

              The ID of the role that is assigned.

            • organization_id string Required

              The ID of the organization the role is scoped to.

            • all boolean

              When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in project_ids.

            • project_ids array[string]

              The IDs of the projects the role is scoped to. Must be absent if all is true, and present if all is false.

            • application_roles array[string]

              If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.

  • 404 application/json

    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' \
 --user "username:password"
Response examples (200)
{
  "keys": [
    {
      "id": "string",
      "user_id": "string",
      "organization_id": "string",
      "description": "string",
      "key": "string",
      "creation_date": "2025-05-04T09:42:00Z",
      "expiration_date": "2025-05-04T09:42:00Z",
      "role_assignments": {
        "platform": [
          {
            "role_id": "string"
          }
        ],
        "organization": [
          {
            "role_id": "string",
            "organization_id": "string"
          }
        ],
        "deployment": [
          {
            "role_id": "string",
            "organization_id": "string",
            "all": true,
            "deployment_ids": [
              "string"
            ],
            "application_roles": [
              "string"
            ]
          }
        ],
        "project": {
          "elasticsearch": [
            {
              "role_id": "string",
              "organization_id": "string",
              "all": true,
              "project_ids": [
                "string"
              ],
              "application_roles": [
                "string"
              ]
            }
          ],
          "observability": [
            {
              "role_id": "string",
              "organization_id": "string",
              "all": true,
              "project_ids": [
                "string"
              ],
              "application_roles": [
                "string"
              ]
            }
          ],
          "security": [
            {
              "role_id": "string",
              "organization_id": "string",
              "all": true,
              "project_ids": [
                "string"
              ],
              "application_roles": [
                "string"
              ]
            }
          ]
        }
      }
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: api_keys.user_not_found

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

Delete API keys for a user

DELETE /users/{user_id}/auth/keys

Delete or invalidate all of the API keys for a user.

Path parameters

Responses

  • 200 application/json

    The API key is deleted.

  • 404 application/json

    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

DELETE /users/{user_id}/auth/keys
curl \
 --request DELETE 'https://{{hostname}}/api/v1/users/{user_id}/auth/keys' \
 --user "username:password"
Response examples (200)
{}
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. Deprecated

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

  • 200 application/json

    The usage charts of an organization.

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

      The list of chart item

      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

        A ChartItem value

        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

  • 400 application/json

    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

  • 403 application/json

    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

  • 404 application/json

    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

  • 429 application/json

    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

  • 500 application/json

    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' \
 --user "username:password"
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 deployments costs for the organization. Currently unavailable in self-hosted ECE. Deprecated

GET /billing/costs/{organization_id}/deployments

EXPERIMENTAL (it may change in future versions): Retrieves the costs associated with all deployments for the organization.

Headers

  • Accept string

    Accept header containing the content preference.

Path parameters

Query parameters

  • from string

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

  • to string

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

Responses

  • 200 application/json

    The costs associated to a set of products

    Hide response attributes Show response attributes object
    • total_cost number(double) Required

      Total cost for all deployments

    • deployments array[object] Required

      Costs of the list of deployments

      Detailed costs for a deployment for an organization. All of the costs are expressed in Elastic Consumption Unit (ECU).

      Hide deployments attributes Show deployments attributes object
      • deployment_id string Required

        Elasticsearch deployment id

      • deployment_name string Required

        Elasticsearch deployment name

      • costs object Required

        Costs for the organization

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

          Total costs

        • dimensions array[object] Required

          A collection of billing details by dimension.

          Billing 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

      • hourly_rate number(double) Required

        Price per hour

      • period object

        Period

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

          Start

        • end string(date-time) Required

          End

  • 400 application/json

    Invalid date range specified. (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

  • 403 application/json

    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

  • 404 application/json

    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

  • 500 application/json

    An error occurred when fetching the costs associated with all deployments 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
curl \
 --request GET 'https://{{hostname}}/api/v1/billing/costs/{organization_id}/deployments' \
 --user "username:password" \
 --header "Accept: string"
Response examples (200)
{
  "total_cost": 42.0,
  "deployments": [
    {
      "deployment_id": "string",
      "deployment_name": "string",
      "costs": {
        "total": 42.0,
        "dimensions": [
          {
            "type": "capacity",
            "cost": 42.0
          }
        ]
      },
      "hourly_rate": 42.0,
      "period": {
        "start": "2025-05-04T09:42:00Z",
        "end": "2025-05-04T09:42:00Z"
      }
    }
  ]
}
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 charts by deployment. Currently unavailable in self-hosted ECE. Deprecated

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

  • 200 application/json

    The usage charts of a deployment.

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

      The list of chart item

      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

        A ChartItem value

        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

  • 400 application/json

    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

  • 403 application/json

    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

  • 404 application/json

    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

  • 429 application/json

    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

  • 500 application/json

    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' \
 --user "username:password"
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. Deprecated

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

  • 200 application/json

    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

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

        Total costs

      • dimensions array[object] Required

        A collection of billing details by dimension.

        Billing 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

      The costs associated to a Data Transfer and Storage (DTS) dimension for an organization. All of the costs, credits, and trials are expressed in Elastic Consumption Units (ECU).

      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

        Hide quantity attributes Show quantity attributes object
      • rate object Required

        Cost per unit

        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

      Detailed costs associated to an Elastic Cloud Resource for an organization. All of the costs are expressed in Elastic Consumption Unit (ECU).

      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

        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)

  • 400 application/json

    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

  • 403 application/json

    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

  • 404 application/json
    • 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

  • 500 application/json

    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' \
 --user "username:password" \
 --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:00Z",
        "end": "2025-05-04T09:42:00Z"
      },
      "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. Deprecated

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

  • 200 application/json

    The costs associated to a set of items

    Hide response attributes Show response attributes object
    • costs object Required

      Costs for the organization

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

        Total costs

      • dimensions array[object] Required

        A collection of billing details by dimension.

        Billing 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

      The costs associated to a Data Transfer and Storage (DTS) dimension for an organization. All of the costs, credits, and trials are expressed in Elastic Consumption Units (ECU).

      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

        Hide quantity attributes Show quantity attributes object
      • rate object Required

        Cost per unit

        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

      Detailed costs associated to an Elastic Cloud Resource for an organization. All of the costs are expressed in Elastic Consumption Unit (ECU).

      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

        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)

  • 400 application/json

    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

  • 403 application/json

    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

  • 404 application/json

    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

  • 500 application/json

    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' \
 --user "username:password"
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:00Z",
        "end": "2025-05-04T09:42:00Z"
      },
      "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"
      ]
    }
  ]
}

Comments

Manage resource comments.

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

  • 200 application/json

    The Comments

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

      The list of comments

      A persisted Comment along with its metadata

      Hide values attributes Show values attributes object
      • comment object Required

        The comment

        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

        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}' \
 --user "username:password"
Response examples (200)
{
  "values": [
    {
      "comment": {
        "id": "string",
        "user_id": "string",
        "message": "string"
      },
      "metadata": {
        "created_time": "2025-05-04T09:42:00Z",
        "modified_time": "2025-05-04T09:42:00Z",
        "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.

application/json

Body Required

Data for comment creation

  • message string Required

    The message for the Comment.

Responses

  • 201 application/json

    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

  • 401 application/json

    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

  • 404 application/json

    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

  • 409 application/json

    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}' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --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"
      ]
    }
  ]
}








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

  • 200 application/json

    Comment deleted successfully.

    Hide headers attributes Show headers attributes
  • 401 application/json
    • 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

  • 404 application/json

    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

  • 409 application/json

    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}' \
 --user "username:password"
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"
      ]
    }
  ]
}





























Delete Deployment

DELETE /deployments/{deployment_id}

Deletes a Deployment and all its resources.

Path parameters

Responses

  • 200 application/json

    The request was valid and the deployment was deleted.

    Hide response attributes Show response attributes object
    • id string Required

      The id of the deployment

    • name string Required

      The name of the deployment

    • orphaned object

      List of resources that have been shut down

      Hide orphaned attributes Show orphaned attributes object
      • elasticsearch array[object] Required

        List of orphaned Elasticsearch resources

        Details about an orphaned Elasticsearch resources.

        Hide elasticsearch attributes Show elasticsearch attributes object
        • id string Required

          The id of the orphaned resource

        • dependents array[object] Required

          List of orphaned dependent resources

          Details about an orphaned Elasticsearch-dependent resources.

          Hide dependents attributes Show dependents attributes object
          • id string Required

            The id of the orphaned resource

          • kind string Required

            The kind of resource

      • kibana array[string] Required

        List of orphaned Kibana resource ids

      • apm array[string] Required

        List of orphaned APM resource ids

      • appsearch array[string] Required

        List of orphaned AppSearch resource ids

      • integrations_server array[string] Required

        List of orphaned Integrations Server resource ids

  • 400 application/json

    The Deployment resources have not been shutdown yet.

    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

  • 401 application/json

    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

  • 404 application/json

    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

DELETE /deployments/{deployment_id}
curl \
 --request DELETE 'https://{{hostname}}/api/v1/deployments/{deployment_id}' \
 --user "username:password"
Response examples (200)
{
  "id": "string",
  "name": "string",
  "orphaned": {
    "elasticsearch": [
      {
        "id": "string",
        "dependents": [
          {
            "id": "string",
            "kind": "string"
          }
        ]
      }
    ],
    "kibana": [
      "string"
    ],
    "apm": [
      "string"
    ],
    "appsearch": [
      "string"
    ],
    "enterprise_search": [
      "string"
    ],
    "integrations_server": [
      "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"
      ]
    }
  ]
}

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

  • 200 application/json

    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

  • 400 application/json

    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

  • 401 application/json

    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

  • 404 application/json

    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' \
 --user "username:password"
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"
      ]
    }
  ]
}








Get Deployment APM Resource Info

GET /deployments/{deployment_id}/apm/{ref_id}

Get info about an APM 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 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.

  • Whether to show cluster settings in the response.

    Default value is false.

  • 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

  • 200 application/json

    Standard response.

    Hide response attributes Show response attributes object
    • ref_id string Required

      The locally-unique user-specified id of a Resource

    • The Elasticsearch cluster that this resource depends on.

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

      Hide info attributes Show info attributes object
      • id string Required

        The id of the APM

      • name string Required

        The name of the APM

      • elasticsearch_cluster object Required

        Information about the specified Elasticsearch cluster.

        Hide elasticsearch_cluster attributes Show elasticsearch_cluster attributes object
        • elasticsearch_id string Required

          The Elasticsearch cluster Id

      • The id of the deployment that this APM Server belongs to.

      • healthy boolean Required

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

      • status string Required

        APM status

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

      • plan_info object Required

        Information about current, pending, and past APM Server plans.

        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 APM Server plan.

          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 APM) 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 the APM Server.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the APM Server nodes. For example, the number or capacity of the nodes, and where you can allocate the nodes.

              Hide cluster_topology attributes Show cluster_topology attributes object
              • 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.

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • apm object

                The configuration options for the APM Server.

                Hide apm attributes Show apm attributes object
                • version string

                  The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

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

                • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret token within APM - defaults to the previously existing secretToken

                  • Optionally enable debug mode for APM servers - defaults false

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

            • apm object Required

              The configuration options for the APM Server.

              Hide apm attributes Show apm attributes object
              • version string

                The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

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

              • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within APM - defaults to the previously existing secretToken

                • Optionally enable debug mode for APM servers - defaults false

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

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

              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.

                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.

                  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.

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

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

              • The plan control configuration options for the APM Server.

                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)

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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 APM Server plan.

          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 APM) 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 the APM Server.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the APM Server nodes. For example, the number or capacity of the nodes, and where you can allocate the nodes.

              Hide cluster_topology attributes Show cluster_topology attributes object
              • 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.

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • apm object

                The configuration options for the APM Server.

                Hide apm attributes Show apm attributes object
                • version string

                  The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

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

                • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret token within APM - defaults to the previously existing secretToken

                  • Optionally enable debug mode for APM servers - defaults false

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

            • apm object Required

              The configuration options for the APM Server.

              Hide apm attributes Show apm attributes object
              • version string

                The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

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

              • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within APM - defaults to the previously existing secretToken

                • Optionally enable debug mode for APM servers - defaults false

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

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

              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.

                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.

                  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.

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

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

              • The plan control configuration options for the APM Server.

                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)

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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

          Information about the APM Server plan.

          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 APM) 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 the APM Server.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the APM Server nodes. For example, the number or capacity of the nodes, and where you can allocate the nodes.

              Hide cluster_topology attributes Show cluster_topology attributes object
              • 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.

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • apm object

                The configuration options for the APM Server.

                Hide apm attributes Show apm attributes object
                • version string

                  The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

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

                • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret token within APM - defaults to the previously existing secretToken

                  • Optionally enable debug mode for APM servers - defaults false

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

            • apm object Required

              The configuration options for the APM Server.

              Hide apm attributes Show apm attributes object
              • version string

                The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

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

              • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within APM - defaults to the previously existing secretToken

                • Optionally enable debug mode for APM servers - defaults false

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

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

              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.

                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.

                  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.

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

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

              • The plan control configuration options for the APM Server.

                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)

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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

      • metadata object

        Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

        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.

        • ports object

          The ports that allow communication with the cluster using various protocols.

          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

          A URL to access the service of a resource

          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.

        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

          Information about each Kibana instance and APM Server in the Elasticsearch cluster.

          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.

            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

            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.

            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

            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

      • settings object

        The settings for building this APM cluster

        Hide settings attribute Show settings attribute object
        • metadata object

          The top-level configuration settings for the Elasticsearch cluster.

          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.

            Hide resources attribute Show resources attribute object
            • cpu object

              Specifies the CPU resource settings for the Elasticsearch cluster.

              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.

      • region string

        The region that this APM belongs to. Only populated in SaaS or federated ECE.

      • The mode APM is operating in.

        Values are standalone or managed.

  • 404 application/json

    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

  • 500 application/json

    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}/apm/{ref_id}
curl \
 --request GET 'https://{{hostname}}/api/v1/deployments/{deployment_id}/apm/{ref_id}' \
 --user "username:password"
Response examples (200)
{
  "ref_id": "string",
  "elasticsearch_cluster_ref_id": "string",
  "id": "string",
  "region": "string",
  "info": {
    "id": "string",
    "name": "string",
    "elasticsearch_cluster": {
      "elasticsearch_id": "string",
      "links": {
        "additionalProperty1": {
          "need_elevated_permissions": true
        },
        "additionalProperty2": {
          "need_elevated_permissions": true
        }
      }
    },
    "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:00Z",
        "attempt_end_time": "2025-05-04T09:42:00Z",
        "plan_end_time": "2025-05-04T09:42:00Z",
        "plan": {
          "cluster_topology": [
            {
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "zone_count": 42,
              "apm": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "elasticsearch_username": "string",
                  "elasticsearch_password": "string",
                  "secret_token": "string",
                  "debug_enabled": true
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string"
              }
            }
          ],
          "apm": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "elasticsearch_username": "string",
              "elasticsearch_password": "string",
              "secret_token": "string",
              "debug_enabled": true
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "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
                }
              ],
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true
            }
          }
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00Z",
            "completed": "2025-05-04T09:42:00Z",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00Z",
                "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:00Z",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00Z",
          "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:00Z",
        "attempt_end_time": "2025-05-04T09:42:00Z",
        "plan_end_time": "2025-05-04T09:42:00Z",
        "plan": {
          "cluster_topology": [
            {
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "zone_count": 42,
              "apm": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "elasticsearch_username": "string",
                  "elasticsearch_password": "string",
                  "secret_token": "string",
                  "debug_enabled": true
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string"
              }
            }
          ],
          "apm": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "elasticsearch_username": "string",
              "elasticsearch_password": "string",
              "secret_token": "string",
              "debug_enabled": true
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "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
                }
              ],
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true
            }
          }
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00Z",
            "completed": "2025-05-04T09:42:00Z",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00Z",
                "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:00Z",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00Z",
          "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:00Z",
          "attempt_end_time": "2025-05-04T09:42:00Z",
          "plan_end_time": "2025-05-04T09:42:00Z",
          "plan": {
            "cluster_topology": [
              {
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "apm": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string",
                    "secret_token": "string",
                    "debug_enabled": true
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string"
                }
              }
            ],
            "apm": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_username": "string",
                "elasticsearch_password": "string",
                "secret_token": "string",
                "debug_enabled": true
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "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
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "plan_attempt_log": [
            {
              "step_id": "string",
              "started": "2025-05-04T09:42:00Z",
              "completed": "2025-05-04T09:42:00Z",
              "duration_in_millis": 42,
              "status": "success",
              "stage": "starting",
              "info_log": [
                {
                  "timestamp": "2025-05-04T09:42:00Z",
                  "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:00Z",
            "user_id": "string",
            "admin_id": "string",
            "remote_addresses": [
              "string"
            ]
          },
          "warnings": [
            {
              "code": "string",
              "message": "string",
              "step_id": "string"
            }
          ],
          "error": {
            "timestamp": "2025-05-04T09:42:00Z",
            "message": "string",
            "details": {
              "additionalProperty1": "string",
              "additionalProperty2": "string"
            },
            "failure_type": "string"
          }
        }
      ]
    },
    "metadata": {
      "version": 42,
      "last_modified": "2025-05-04T09:42:00Z",
      "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
          }
        }
      ]
    },
    "external_links": [
      {
        "id": "string",
        "label": "string",
        "uri": "string"
      }
    ],
    "links": {
      "additionalProperty1": {
        "need_elevated_permissions": true
      },
      "additionalProperty2": {
        "need_elevated_permissions": true
      }
    },
    "settings": {
      "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
          }
        }
      }
    },
    "region": "string",
    "apm_server_mode": "standalone"
  }
}
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"
      ]
    }
  ]
}

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

  • 202 application/json

    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)

  • 400 application/json

    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

  • 404 application/json
    • 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

  • 500 application/json

    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' \
 --user "username:password"
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"
      ]
    }
  ]
}

Get Deployment App Search Resource Info

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

Get info about an App Search 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 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.

  • Whether to show cluster settings in the response.

    Default value is false.

  • 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

  • 200 application/json

    Standard response.

    Hide response attributes Show response attributes object
    • ref_id string Required

      The locally-unique user-specified id of a Resource

    • The Elasticsearch cluster that this resource depends on.

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

      Hide info attributes Show info attributes object
      • id string Required

        The id of the App Search

      • name string Required

        The name of the App Search

      • elasticsearch_cluster object Required

        Information about the specified Elasticsearch cluster.

        Hide elasticsearch_cluster attributes Show elasticsearch_cluster attributes object
        • elasticsearch_id string Required

          The Elasticsearch cluster Id

      • The id of the deployment that this App Search belongs to.

      • healthy boolean Required

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

      • status string Required

        App Search status

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

      • plan_info object Required

        Information about current, pending, and past App Search Server plans.

        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 App Search Server plan.

          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 App Search) 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 the App Search cluster.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the AppSearch nodes (eg number/capacity of nodes, and where they can be allocated)

              Hide cluster_topology attributes Show cluster_topology attributes object
              • Defines the AppSearch node type

                Hide node_type attributes Show node_type attributes object
                • appserver boolean Required

                  Defines whether this instance should run as Application/API server

                • worker boolean Required

                  Defines whether this instance should run as background worker

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

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • Hide appsearch attributes Show appsearch attributes object
                • version string

                  The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

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

                • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                  • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

            • appsearch object Required
              Hide appsearch attributes Show appsearch attributes object
              • version string

                The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

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

              • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

            • Defines configuration parameters that control how the plan (ie consisting of the cluster topology and AppSearch settings) is applied

              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.

                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.

                  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.

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

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

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

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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 App Search Server plan.

          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 App Search) 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 the App Search cluster.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the AppSearch nodes (eg number/capacity of nodes, and where they can be allocated)

              Hide cluster_topology attributes Show cluster_topology attributes object
              • Defines the AppSearch node type

                Hide node_type attributes Show node_type attributes object
                • appserver boolean Required

                  Defines whether this instance should run as Application/API server

                • worker boolean Required

                  Defines whether this instance should run as background worker

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

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • Hide appsearch attributes Show appsearch attributes object
                • version string

                  The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

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

                • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                  • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

            • appsearch object Required
              Hide appsearch attributes Show appsearch attributes object
              • version string

                The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

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

              • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

            • Defines configuration parameters that control how the plan (ie consisting of the cluster topology and AppSearch settings) is applied

              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.

                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.

                  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.

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

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

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

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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

          Information about the App Search Server plan.

          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 App Search) 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 the App Search cluster.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the AppSearch nodes (eg number/capacity of nodes, and where they can be allocated)

              Hide cluster_topology attributes Show cluster_topology attributes object
              • Defines the AppSearch node type

                Hide node_type attributes Show node_type attributes object
                • appserver boolean Required

                  Defines whether this instance should run as Application/API server

                • worker boolean Required

                  Defines whether this instance should run as background worker

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

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • Hide appsearch attributes Show appsearch attributes object
                • version string

                  The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

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

                • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                  • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

            • appsearch object Required
              Hide appsearch attributes Show appsearch attributes object
              • version string

                The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

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

              • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

            • Defines configuration parameters that control how the plan (ie consisting of the cluster topology and AppSearch settings) is applied

              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.

                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.

                  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.

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

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

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

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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

      • metadata object

        Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

        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.

        • ports object

          The ports that allow communication with the cluster using various protocols.

          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

          A URL to access the service of a resource

          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.

        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

          Information about each Kibana instance and APM Server in the Elasticsearch cluster.

          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.

            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

            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.

            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

            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

      • settings object

        The settings for building this AppSearch cluster

        Hide settings attribute Show settings attribute object
        • metadata object

          The top-level configuration settings for the Elasticsearch cluster.

          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.

            Hide resources attribute Show resources attribute object
            • cpu object

              Specifies the CPU resource settings for the Elasticsearch cluster.

              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.

      • region string

        The region that this App Search belongs to. Only populated in SaaS or federated ECE.

  • 404 application/json

    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

  • 500 application/json

    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}
curl \
 --request GET 'https://{{hostname}}/api/v1/deployments/{deployment_id}/appsearch/{ref_id}' \
 --user "username:password"
Response examples (200)
{
  "ref_id": "string",
  "elasticsearch_cluster_ref_id": "string",
  "id": "string",
  "region": "string",
  "info": {
    "id": "string",
    "name": "string",
    "elasticsearch_cluster": {
      "elasticsearch_id": "string",
      "links": {
        "additionalProperty1": {
          "need_elevated_permissions": true
        },
        "additionalProperty2": {
          "need_elevated_permissions": true
        }
      }
    },
    "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:00Z",
        "attempt_end_time": "2025-05-04T09:42:00Z",
        "plan_end_time": "2025-05-04T09:42:00Z",
        "plan": {
          "cluster_topology": [
            {
              "node_type": {
                "appserver": true,
                "worker": true
              },
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "zone_count": 42,
              "appsearch": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "elasticsearch_url": "string",
                  "elasticsearch_username": "string",
                  "elasticsearch_password": "string",
                  "secret_session_key": "string"
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string"
              }
            }
          ],
          "appsearch": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "elasticsearch_url": "string",
              "elasticsearch_username": "string",
              "elasticsearch_password": "string",
              "secret_session_key": "string"
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "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
                }
              ],
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true
            }
          }
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00Z",
            "completed": "2025-05-04T09:42:00Z",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00Z",
                "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:00Z",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00Z",
          "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:00Z",
        "attempt_end_time": "2025-05-04T09:42:00Z",
        "plan_end_time": "2025-05-04T09:42:00Z",
        "plan": {
          "cluster_topology": [
            {
              "node_type": {
                "appserver": true,
                "worker": true
              },
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "zone_count": 42,
              "appsearch": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "elasticsearch_url": "string",
                  "elasticsearch_username": "string",
                  "elasticsearch_password": "string",
                  "secret_session_key": "string"
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string"
              }
            }
          ],
          "appsearch": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "elasticsearch_url": "string",
              "elasticsearch_username": "string",
              "elasticsearch_password": "string",
              "secret_session_key": "string"
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "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
                }
              ],
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true
            }
          }
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00Z",
            "completed": "2025-05-04T09:42:00Z",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00Z",
                "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:00Z",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00Z",
          "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:00Z",
          "attempt_end_time": "2025-05-04T09:42:00Z",
          "plan_end_time": "2025-05-04T09:42:00Z",
          "plan": {
            "cluster_topology": [
              {
                "node_type": {
                  "appserver": true,
                  "worker": true
                },
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "appsearch": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_url": "string",
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string",
                    "secret_session_key": "string"
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string"
                }
              }
            ],
            "appsearch": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_url": "string",
                "elasticsearch_username": "string",
                "elasticsearch_password": "string",
                "secret_session_key": "string"
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "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
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "plan_attempt_log": [
            {
              "step_id": "string",
              "started": "2025-05-04T09:42:00Z",
              "completed": "2025-05-04T09:42:00Z",
              "duration_in_millis": 42,
              "status": "success",
              "stage": "starting",
              "info_log": [
                {
                  "timestamp": "2025-05-04T09:42:00Z",
                  "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:00Z",
            "user_id": "string",
            "admin_id": "string",
            "remote_addresses": [
              "string"
            ]
          },
          "warnings": [
            {
              "code": "string",
              "message": "string",
              "step_id": "string"
            }
          ],
          "error": {
            "timestamp": "2025-05-04T09:42:00Z",
            "message": "string",
            "details": {
              "additionalProperty1": "string",
              "additionalProperty2": "string"
            },
            "failure_type": "string"
          }
        }
      ]
    },
    "metadata": {
      "version": 42,
      "last_modified": "2025-05-04T09:42:00Z",
      "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
          }
        }
      ]
    },
    "external_links": [
      {
        "id": "string",
        "label": "string",
        "uri": "string"
      }
    ],
    "links": {
      "additionalProperty1": {
        "need_elevated_permissions": true
      },
      "additionalProperty2": {
        "need_elevated_permissions": true
      }
    },
    "settings": {
      "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
          }
        }
      }
    },
    "region": "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

  • 200 application/json

    Standard response

    Hide response attribute Show response attribute object
    • enabled boolean Required

      Whether read-only mode is enabled or disabled

  • 404 application/json

    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

  • 500 application/json

    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' \
 --user "username:password"
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).

application/json

Body Required

read-only request body

  • enabled boolean Required

    Enabled or disabled read-only mode

Responses

  • 200 application/json

    Standard response

    Hide response attribute Show response attribute object
    • enabled boolean Required

      Whether read-only mode is enabled or disabled

  • 404 application/json

    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

  • 500 application/json

    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' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --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"
      ]
    }
  ]
}
















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

  • 200 application/json

    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

  • 404 application/json
    • 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

  • 500 application/json

    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' \
 --user "username:password"
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"
      ]
    }
  ]
}




Restart Deployment Elasticsearch Resource

POST /deployments/{deployment_id}/elasticsearch/{ref_id}/_restart

Restarts an Elasticsearch Resource. If a Resource is active: this command re-applies the existing plan but applies a "cluster_reboot", which issues a restart command and waits for it to complete. If a Resource is inactive: this command starts it up with the most recent successful plan.

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 set to true and restoring from shutdown, then will restore the cluster from the last snapshot (if available).

    Default value is true.

  • If true, will not take a snapshot of the cluster before restarting.

    Default value is true.

  • If true, cancels any pending plans before restarting. If false and there are pending plans, returns an error.

    Default value is false.

  • Indicates the property or properties used to divide the list of instances to restart in groups. Valid options are: '__all__' (restart all at once), '__zone__' by logical zone, '__name__' one instance at a time, or a comma-separated list of attributes of the instances

    Default value is __zone__.

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

    Default value is 600.

Responses

  • 202 application/json

    The restart command was issued successfully.

    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

  • 404 application/json
    • 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

  • 422 application/json

    The command sent to a Resource found the Resource in an illegal state, the error message gives more details. (code: deployments.deployment_resource_plan_change_error)

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

      Value is deployments.deployment_resource_plan_change_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

  • 500 application/json

    A Resource that was previously stored no longer exists. (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}/_restart
curl \
 --request POST 'https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/_restart' \
 --user "username:password"
Response examples (202)
{
  "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 (422)
# Headers
x-cloud-error-codes: deployments.deployment_resource_plan_change_error

# 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"
      ]
    }
  ]
}
















Add or remove items from the Elasticsearch resource keystore

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

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

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)

application/json

Body Required

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

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

      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.

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

Responses

  • 200 application/json

    The new contents of the Elasticsearch keystore

    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.

        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.

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

  • 404 application/json
    • 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

  • 500 application/json

    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

PATCH /deployments/{deployment_id}/elasticsearch/{ref_id}/keystore
curl \
 --request PATCH 'https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/keystore' \
 --user "username:password" \
 --header "Content-Type: application/json" \
 --data '{"secrets":{"additionalProperty1":{"value":{},"as_file":true},"additionalProperty2":{"value":{},"as_file":true}}}'
Request examples
{
  "secrets": {
    "additionalProperty1": {
      "value": {},
      "as_file": true
    },
    "additionalProperty2": {
      "value": {},
      "as_file": true
    }
  }
}
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"
      ]
    }
  ]
}

Get certificate based remote clusters

GET /deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters

Returns the list of certificate based remote clusters 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

  • 200 application/json

    List of certificate based remote clusters for the resource

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

      The remote resources

      The Elasticsearch resource used as a Remote Cluster.

      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.

        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.

  • 404 application/json
    • 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

GET /deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters
curl \
 --request GET 'https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters' \
 --user "username:password"
Response examples (200)
{
  "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
      }
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

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












Get Deployment Integrations Server Resource Info

GET /deployments/{deployment_id}/integrations_server/{ref_id}

Get info about an Integrations Server 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 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.

  • Whether to show cluster settings in the response.

    Default value is false.

  • 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

  • 200 application/json

    Standard response.

    Hide response attributes Show response attributes object
    • ref_id string Required

      The locally-unique user-specified id of a Resource

    • The Elasticsearch cluster that this resource depends on.

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

      Hide info attributes Show info attributes object
      • id string Required

        The id of the Integrations Server

      • name string Required

        The name of the Integrations Server

      • elasticsearch_cluster object Required

        Information about the specified Elasticsearch cluster.

        Hide elasticsearch_cluster attributes Show elasticsearch_cluster attributes object
        • elasticsearch_id string Required

          The Elasticsearch cluster Id

      • The id of the deployment that this Integrations Server belongs to.

      • healthy boolean Required

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

      • status string Required

        Integrations Server status

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

      • plan_info object Required

        Information about current, pending, and past Integrations Server plans.

        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 Integrations Server plan.

          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 Integrations Server) 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 the Integrations Server.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the Integrations Server nodes. For example, the number or capacity of the nodes, and where you can allocate the nodes.

              Hide cluster_topology attributes Show cluster_topology attributes object
              • 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.

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • The configuration options for the Integrations Server.

                Hide integrations_server attributes Show integrations_server attributes object
                • version string

                  The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

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

                • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

                  • Optionally enable debug mode for Integrations Server - defaults false

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

                • mode string

                  The mode the Integrations Server is operating in.

                  Values are standalone or managed.

            • integrations_server object Required

              The configuration options for the Integrations Server.

              Hide integrations_server attributes Show integrations_server attributes object
              • version string

                The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

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

              • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

                • Optionally enable debug mode for Integrations Server - defaults false

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              • mode string

                The mode the Integrations Server is operating in.

                Values are standalone or managed.

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

              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.

                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.

                  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.

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

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

              • The plan control configuration options for the Integrations Server.

                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)

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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 Integrations Server plan.

          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 Integrations Server) 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 the Integrations Server.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the Integrations Server nodes. For example, the number or capacity of the nodes, and where you can allocate the nodes.

              Hide cluster_topology attributes Show cluster_topology attributes object
              • 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.

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • The configuration options for the Integrations Server.

                Hide integrations_server attributes Show integrations_server attributes object
                • version string

                  The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

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

                • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

                  • Optionally enable debug mode for Integrations Server - defaults false

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

                • mode string

                  The mode the Integrations Server is operating in.

                  Values are standalone or managed.

            • integrations_server object Required

              The configuration options for the Integrations Server.

              Hide integrations_server attributes Show integrations_server attributes object
              • version string

                The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

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

              • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

                • Optionally enable debug mode for Integrations Server - defaults false

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              • mode string

                The mode the Integrations Server is operating in.

                Values are standalone or managed.

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

              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.

                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.

                  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.

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

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

              • The plan control configuration options for the Integrations Server.

                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)

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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

          Information about the Integrations Server plan.

          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 Integrations Server) 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 the Integrations Server.

            Hide plan attributes Show plan attributes object
            • cluster_topology array[object]

              Defines the topology of the Integrations Server nodes. For example, the number or capacity of the nodes, and where you can allocate the nodes.

              Hide cluster_topology attributes Show cluster_topology attributes object
              • 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.

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

                  Amount of resource

                • resource string Required

                  Type of resource. In ESS the resource used should always be memory.

                  Values are memory or storage.

              • zone_count integer(int32)

                number of zones in which nodes will be placed

              • The configuration options for the Integrations Server.

                Hide integrations_server attributes Show integrations_server attributes object
                • version string

                  The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

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

                • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

                  Hide system_settings attributes Show system_settings attributes object
                  • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                  • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

                  • Optionally enable debug mode for Integrations Server - defaults false

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

                • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

                • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

                • mode string

                  The mode the Integrations Server is operating in.

                  Values are standalone or managed.

            • integrations_server object Required

              The configuration options for the Integrations Server.

              Hide integrations_server attributes Show integrations_server attributes object
              • version string

                The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

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

              • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

                • Optionally enable debug mode for Integrations Server - defaults false

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

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              • 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'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              • mode string

                The mode the Integrations Server is operating in.

                Values are standalone or managed.

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

              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.

                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.

                  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.

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

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

              • The plan control configuration options for the Integrations Server.

                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)

                • 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]

                  The request that specifies the Elasticsearch or stateless (eg Kibana) instances to move to allocators as part of the upgrade plan. When used in conjunction with '__all__' (roll all instances as a single unit) strategy, these instances are not restarted, which can sometimes enable recovery plans when these instances are boot-looping.

                  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]

                  As part of the upgrade plan, identifies the move requests for the Kibana instances or APM Servers on the allocators.

                  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)

                • 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 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

                  Value is forced.

                • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

          • plan_attempt_log array[object] Required

            Information about a step in a plan.

            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

              The log message from a specified stage of an executed step in a plan.

              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

            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

            Information about a warning from a plan.

            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.

            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

      • metadata object

        Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

        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.

        • ports object

          The ports that allow communication with the cluster using various protocols.

          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

          A URL to access the service of a resource

          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.

        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

          Information about each Kibana instance and APM Server in the Elasticsearch cluster.

          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.

            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

            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.

            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

            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

      • settings object

        The settings for building this Integrations Server cluster

        Hide settings attribute Show settings attribute object
        • metadata object

          The top-level configuration settings for the Elasticsearch cluster.

          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.

            Hide resources attribute Show resources attribute object
            • cpu object

              Specifies the CPU resource settings for the Elasticsearch cluster.

              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.

      • region string

        The region that this Integrations Server belongs to. Only populated in SaaS or federated ECE.

      • The mode APM is operating in.

        Values are standalone or managed.

  • 404 application/json

    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

  • 500 application/json

    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}/integrations_server/{ref_id}
curl \
 --request GET 'https://{{hostname}}/api/v1/deployments/{deployment_id}/integrations_server/{ref_id}' \
 --user "username:password"
Response examples (200)
{
  "ref_id": "string",
  "elasticsearch_cluster_ref_id": "string",
  "id": "string",
  "region": "string",
  "info": {
    "id": "string",
    "name": "string",
    "elasticsearch_cluster": {
      "elasticsearch_id": "string",
      "links": {
        "additionalProperty1": {
          "need_elevated_permissions": true
        },
        "additionalProperty2": {
          "need_elevated_permissions": true
        }
      }
    },
    "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:00Z",
        "attempt_end_time": "2025-05-04T09:42:00Z",
        "plan_end_time": "2025-05-04T09:42:00Z",
        "plan": {
          "cluster_topology": [
            {
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "zone_count": 42,
              "integrations_server": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "elasticsearch_username": "string",
                  "elasticsearch_password": "string",
                  "secret_token": "string",
                  "debug_enabled": true
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string",
                "mode": "standalone"
              }
            }
          ],
          "integrations_server": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "elasticsearch_username": "string",
              "elasticsearch_password": "string",
              "secret_token": "string",
              "debug_enabled": true
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "string",
            "mode": "standalone"
          },
          "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
                }
              ],
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true
            }
          }
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00Z",
            "completed": "2025-05-04T09:42:00Z",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00Z",
                "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:00Z",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00Z",
          "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:00Z",
        "attempt_end_time": "2025-05-04T09:42:00Z",
        "plan_end_time": "2025-05-04T09:42:00Z",
        "plan": {
          "cluster_topology": [
            {
              "instance_configuration_id": "string",
              "instance_configuration_version": 42,
              "size": {
                "value": 42,
                "resource": "memory"
              },
              "zone_count": 42,
              "integrations_server": {
                "version": "string",
                "docker_image": "string",
                "system_settings": {
                  "elasticsearch_username": "string",
                  "elasticsearch_password": "string",
                  "secret_token": "string",
                  "debug_enabled": true
                },
                "user_settings_json": {},
                "user_settings_yaml": "string",
                "user_settings_override_json": {},
                "user_settings_override_yaml": "string",
                "mode": "standalone"
              }
            }
          ],
          "integrations_server": {
            "version": "string",
            "docker_image": "string",
            "system_settings": {
              "elasticsearch_username": "string",
              "elasticsearch_password": "string",
              "secret_token": "string",
              "debug_enabled": true
            },
            "user_settings_json": {},
            "user_settings_yaml": "string",
            "user_settings_override_json": {},
            "user_settings_override_yaml": "string",
            "mode": "standalone"
          },
          "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
                }
              ],
              "reallocate_instances": true,
              "preferred_allocators": [
                "string"
              ],
              "preferred_allocator_tags": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              },
              "extended_maintenance": true,
              "cluster_reboot": "forced",
              "override_failsafe": true
            }
          }
        },
        "plan_attempt_log": [
          {
            "step_id": "string",
            "started": "2025-05-04T09:42:00Z",
            "completed": "2025-05-04T09:42:00Z",
            "duration_in_millis": 42,
            "status": "success",
            "stage": "starting",
            "info_log": [
              {
                "timestamp": "2025-05-04T09:42:00Z",
                "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:00Z",
          "user_id": "string",
          "admin_id": "string",
          "remote_addresses": [
            "string"
          ]
        },
        "warnings": [
          {
            "code": "string",
            "message": "string",
            "step_id": "string"
          }
        ],
        "error": {
          "timestamp": "2025-05-04T09:42:00Z",
          "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:00Z",
          "attempt_end_time": "2025-05-04T09:42:00Z",
          "plan_end_time": "2025-05-04T09:42:00Z",
          "plan": {
            "cluster_topology": [
              {
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "integrations_server": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string",
                    "secret_token": "string",
                    "debug_enabled": true
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string",
                  "mode": "standalone"
                }
              }
            ],
            "integrations_server": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_username": "string",
                "elasticsearch_password": "string",
                "secret_token": "string",
                "debug_enabled": true
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string",
              "mode": "standalone"
            },
            "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
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "plan_attempt_log": [
            {
              "step_id": "string",
              "started": "2025-05-04T09:42:00Z",
              "completed": "2025-05-04T09:42:00Z",
              "duration_in_millis": 42,
              "status": "success",
              "stage": "starting",
              "info_log": [
                {
                  "timestamp": "2025-05-04T09:42:00Z",
                  "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:00Z",
            "user_id": "string",
            "admin_id": "string",
            "remote_addresses": [
              "string"
            ]
          },
          "warnings": [
            {
              "code": "string",
              "message": "string",
              "step_id": "string"
            }
          ],
          "error": {
            "timestamp": "2025-05-04T09:42:00Z",
            "message": "string",
            "details": {
              "additionalProperty1": "string",
              "additionalProperty2": "string"
            },
            "failure_type": "string"
          }
        }
      ]
    },
    "metadata": {
      "version": 42,
      "last_modified": "2025-05-04T09:42:00Z",
      "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
          }
        }
      ]
    },
    "external_links": [
      {
        "id": "string",
        "label": "string",
        "uri": "string"
      }
    ],
    "links": {
      "additionalProperty1": {
        "need_elevated_permissions": true
      },
      "additionalProperty2": {
        "need_elevated_permissions": true
      }
    },
    "settings": {
      "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
          }
        }
      }
    },
    "region": "string",
    "apm_server_mode": "standalone"
  }
}
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 Deployment upgrade assistant status

GET /deployments/{deployment_id}/upgrade_assistant/status

Get details about an Elasticsearch resource belonging to a given deployment.

Path parameters

Query parameters

  • If present, value is included in resource request to provide additional context (only supported for Kibana)

Responses

  • 200 application/json

    The Upgrade Assistant returned the status successfully

    Hide response attributes Show response attributes object
    • ready_for_upgrade boolean Required

      A boolean indicating whether or not the cluster is ready to be upgraded

    • details string Required

      Message with information about the number of Elasticsearch and Kibana deprecations

  • 404 application/json

    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

GET /deployments/{deployment_id}/upgrade_assistant/status
curl \
 --request GET 'https://{{hostname}}/api/v1/deployments/{deployment_id}/upgrade_assistant/status' \
 --user "username:password"
Response examples (200)
{
  "ready_for_upgrade": true,
  "details": "string"
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

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

Restores a shutdown resource

POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/_restore

Restores a shutdown resource belonging to a given Deployment.

Path parameters

  • deployment_id string Required

    Identifier for the Deployment

  • resource_kind string Required

    The kind of resource

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

  • ref_id string Required

    User-specified RefId for the Resource (or '_main' if there is only one)

Query parameters

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

    Default value is false.

Responses

  • 200 application/json

    Standard Deployment Resource Crud Response

    Hide response attributes Show response attributes object
    • id string Required

      The id of the deployment

    • kind string Required

      The kind of the stateless resource

    • ref_id string Required

      The reference id of the resource

  • 400 application/json
    • The Resource does not have a pending plan. (code: deployments.resource_does_not_have_a_pending_plan)
    • The resource is not shut down. (code: deployments.resource_not_shutdown)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.resource_does_not_have_a_pending_plan or deployments.resource_not_shutdown.

    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

  • 404 application/json

    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}/{resource_kind}/{ref_id}/_restore
curl \
 --request POST 'https://{{hostname}}/api/v1/deployments/{deployment_id}/{resource_kind}/{ref_id}/_restore' \
 --user "username:password"
Response examples (200)
{
  "id": "string",
  "kind": "string",
  "ref_id": "string"
}
Response examples (400)
# Headers
x-cloud-error-codes: deployments.resource_does_not_have_a_pending_plan

# 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"
      ]
    }
  ]
}