Authentication

The API accepts 2 different authentication methods:

Basic auth (http)

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

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

Api key (http_api_key)

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

Accounts

Retrieve and update the current Elasticsearch Service account.









Updates the current account

PATCH /account

Updates the current account.

Body Required

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

string string

Responses

  • Account updated successfully

    Hide response attributes Show response attributes object
    • id string Required

      The account's identifier

    • trust object

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

      Additional properties are allowed.

      Hide trust attribute Show trust attribute object
      • trust_all boolean Required

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

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

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

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

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













































Available authentication methods

GET /users/auth/methods

Provides information about available authentication methods.

Responses

  • Available authentication methods response

    Hide response attributes Show response attributes object
    • password boolean Required

      Indicates that username and password authentication is available.

    • saml boolean Required

      Indicates that SAML single sign-on authentication is available.

    • openid boolean Required

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

    • sso_methods array[object] Required

      Lists details for the available single sign-on methods.

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








Get API key metadata for all keys created by the user

GET /users/{user_id}/auth/keys

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

Path parameters

Responses

  • The API key metadata is retrieved.

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

      The list of API keys.

      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 {user_id} can't be found. (code: api_keys.user_not_found)

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

      Value is api_keys.user_not_found.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

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

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






































List Comments

GET /comments/{resource_type}/{resource_id}

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

Path parameters

  • resource_type string Required

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

  • resource_id string Required

    Id of the Resource that a Comment belongs to.

Responses

  • The Comments

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

      The list of comments

      A persisted Comment along with its metadata

      Hide values attributes Show values attributes object
      • comment object Required

        The comment

        Additional properties are allowed.

        Hide comment attributes Show comment attributes object
        • id string Required

          The id of this Comment

        • user_id string Required

          The user id of the user who wrote this Comment

        • message string Required

          The message content of this Comment

      • metadata object Required

        The metadata

        Additional properties are allowed.

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





















































































































Move Elasticsearch resource instances

POST /deployments/{deployment_id}/elasticsearch/{ref_id}/instances/{instance_ids}/_move

Moves one or more instances belonging to the given Elasticsearch resource to a different allocator.

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

  • instance_ids array[string] Required

    A comma-separated list of instance identifiers.

Query parameters

  • When true and the instance does not exist, proceeds to the next instance, or treats the instance as an error.

    Default value is false.

  • When true, cancels and overwrites the pending plans, or treats the instance as an error.

    Default value is false.

  • When true, the instances specified by instance_ids are considered permanently shut down for data migration logic.

    Default value is false.

  • move_only boolean

    When true, moves the specified instances and ignores the changes for the cluster state.

    Default value is true.

  • force_move boolean

    When true, moves instance data at file-system level (not via Elasticsearch), and re-creates instances on target allocator(s).

    Default value is false.

  • When true, validates the move request, then returns the calculated plan without applying the plan.

    Default value is false.

Body

Overrides the default move configuration

  • strategy object

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

    Additional properties are allowed.

    Hide strategy attributes Show strategy attributes object
    • rolling object

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

      Additional properties are allowed.

      Hide rolling attributes Show rolling attributes object
      • group_by string

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

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

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

      • shard_init_wait_time integer(int64)

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

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

      Additional properties are allowed.

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

      Additional properties are allowed.

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

      Additional properties are allowed.

  • The configuration settings for the timeout and fallback parameters.

    Additional properties are allowed.

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

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

    • calm_wait_time integer(int64)

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

    • move_instances array[object]

      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)

    • move_only boolean

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

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

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

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

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

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

    • max_snapshot_age integer(int64)

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

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

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

      Value is forced.

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

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

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

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

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

  • Restores a snapshot from a local or remote repository.

    Additional properties are allowed.

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

    • snapshot_name string Required

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

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

      Additional properties are allowed.

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

        Additional properties are allowed.

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

      Additional properties are allowed.

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

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

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

        Additional properties are allowed.

    • strategy string

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

      Values are partial, full, or recovery.

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

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

    Additional properties are allowed.

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

      The remote resources

      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

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

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

    Additional properties are allowed.

Responses

  • If validate_only is true, the calculated plan is returned

    Hide response attributes Show response attributes object
    • strategy object

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

      Additional properties are allowed.

      Hide strategy attributes Show strategy attributes object
      • rolling object

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

        Additional properties are allowed.

        Hide rolling attributes Show rolling attributes object
        • group_by string

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

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

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

        • shard_init_wait_time integer(int64)

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

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

        Additional properties are allowed.

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

        Additional properties are allowed.

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

        Additional properties are allowed.

    • The configuration settings for the timeout and fallback parameters.

      Additional properties are allowed.

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

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

      • calm_wait_time integer(int64)

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

      • move_instances array[object]

        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)

      • move_only boolean

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

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

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

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

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

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

      • max_snapshot_age integer(int64)

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

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

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

        Value is forced.

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

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

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

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

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

    • Restores a snapshot from a local or remote repository.

      Additional properties are allowed.

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

      • snapshot_name string Required

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

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

        Additional properties are allowed.

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

          Additional properties are allowed.

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

        Additional properties are allowed.

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

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

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

          Additional properties are allowed.

      • strategy string

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

        Values are partial, full, or recovery.

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

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

      Additional properties are allowed.

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

        The remote resources

        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.

          Additional properties are allowed.

          Hide info attributes Show info attributes object
          • healthy boolean Required

            Whether or not the remote cluster is healthy

          • connected boolean Required

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

          • compatible boolean Required

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

          • trusted boolean Required

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

          • trusted_back boolean Required

            Whether or not the remote cluster trusts this cluster back.

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

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

      Additional properties are allowed.

  • The move command was issued successfully. Use the "GET" command on the /{deployment_id} resource to monitor progress

    Additional properties are allowed.

    • The Deployment specified by {deployment_id} cannot be found. (code: deployments.deployment_not_found)
    • The Elasticsearch Resource specified by {ref_id} cannot be found. (code: deployments.deployment_resource_not_found)
    • One or more instances of the given resource type are missing. (code: deployments.instances_missing_on_update_error)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.deployment_not_found, deployments.deployment_resource_not_found, or deployments.instances_missing_on_update_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 /deployments/{deployment_id}/elasticsearch/{ref_id}/instances/{instance_ids}/_move
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/instances/{instance_ids}/_move \
 --data '{"strategy":{"rolling":{"group_by":"string","allow_inline_resize":true,"skip_synced_flush":true,"shard_init_wait_time":42},"grow_and_shrink":{},"rolling_grow_and_shrink":{},"autodetect":{}},"plan_configuration":{"timeout":42,"calm_wait_time":42,"move_instances":[{"from":"string","to":["string"],"instance_down":true}],"move_allocators":[{"from":"string","to":["string"],"allocator_down":true}],"move_only":true,"reallocate_instances":true,"preferred_allocators":["string"],"preferred_allocator_tags":{"additionalProperty1":"string","additionalProperty2":"string"},"skip_snapshot":true,"max_snapshot_attempts":42,"max_snapshot_age":42,"extended_maintenance":true,"cluster_reboot":"forced","override_failsafe":true,"skip_data_migration":true,"skip_upgrade_checker":true,"skip_post_upgrade_steps":true,"skip_snapshot_post_major_upgrade":true},"restore_snapshot":{"repository_name":"string","snapshot_name":"string","repository_config":{"raw_settings":{}},"restore_payload":{"indices":["string"],"raw_settings":{}},"strategy":"partial","source_cluster_id":"string"},"remote_clusters":{"resources":[{"deployment_id":"string","elasticsearch_ref_id":"string","alias":"string","skip_unavailable":true}]},"cluster_settings_json":{}}'
Request examples
{
  "strategy": {
    "rolling": {
      "group_by": "string",
      "allow_inline_resize": true,
      "skip_synced_flush": true,
      "shard_init_wait_time": 42
    },
    "grow_and_shrink": {},
    "rolling_grow_and_shrink": {},
    "autodetect": {}
  },
  "plan_configuration": {
    "timeout": 42,
    "calm_wait_time": 42,
    "move_instances": [
      {
        "from": "string",
        "to": [
          "string"
        ],
        "instance_down": true
      }
    ],
    "move_allocators": [
      {
        "from": "string",
        "to": [
          "string"
        ],
        "allocator_down": true
      }
    ],
    "move_only": true,
    "reallocate_instances": true,
    "preferred_allocators": [
      "string"
    ],
    "preferred_allocator_tags": {
      "additionalProperty1": "string",
      "additionalProperty2": "string"
    },
    "skip_snapshot": true,
    "max_snapshot_attempts": 42,
    "max_snapshot_age": 42,
    "extended_maintenance": true,
    "cluster_reboot": "forced",
    "override_failsafe": true,
    "skip_data_migration": true,
    "skip_upgrade_checker": true,
    "skip_post_upgrade_steps": true,
    "skip_snapshot_post_major_upgrade": true
  },
  "restore_snapshot": {
    "repository_name": "string",
    "snapshot_name": "string",
    "repository_config": {
      "raw_settings": {}
    },
    "restore_payload": {
      "indices": [
        "string"
      ],
      "raw_settings": {}
    },
    "strategy": "partial",
    "source_cluster_id": "string"
  },
  "remote_clusters": {
    "resources": [
      {
        "deployment_id": "string",
        "elasticsearch_ref_id": "string",
        "alias": "string",
        "skip_unavailable": true
      }
    ]
  },
  "cluster_settings_json": {}
}
Response examples (200)
{
  "strategy": {
    "rolling": {
      "group_by": "string",
      "allow_inline_resize": true,
      "skip_synced_flush": true,
      "shard_init_wait_time": 42
    },
    "grow_and_shrink": {},
    "rolling_grow_and_shrink": {},
    "autodetect": {}
  },
  "plan_configuration": {
    "timeout": 42,
    "calm_wait_time": 42,
    "move_instances": [
      {
        "from": "string",
        "to": [
          "string"
        ],
        "instance_down": true
      }
    ],
    "move_allocators": [
      {
        "from": "string",
        "to": [
          "string"
        ],
        "allocator_down": true
      }
    ],
    "move_only": true,
    "reallocate_instances": true,
    "preferred_allocators": [
      "string"
    ],
    "preferred_allocator_tags": {
      "additionalProperty1": "string",
      "additionalProperty2": "string"
    },
    "skip_snapshot": true,
    "max_snapshot_attempts": 42,
    "max_snapshot_age": 42,
    "extended_maintenance": true,
    "cluster_reboot": "forced",
    "override_failsafe": true,
    "skip_data_migration": true,
    "skip_upgrade_checker": true,
    "skip_post_upgrade_steps": true,
    "skip_snapshot_post_major_upgrade": true
  },
  "restore_snapshot": {
    "repository_name": "string",
    "snapshot_name": "string",
    "repository_config": {
      "raw_settings": {}
    },
    "restore_payload": {
      "indices": [
        "string"
      ],
      "raw_settings": {}
    },
    "strategy": "partial",
    "source_cluster_id": "string"
  },
  "remote_clusters": {
    "resources": [
      {
        "deployment_id": "string",
        "elasticsearch_ref_id": "string",
        "alias": "string",
        "skip_unavailable": true,
        "info": {
          "healthy": true,
          "connected": true,
          "compatible": true,
          "trusted": true,
          "trusted_back": true
        }
      }
    ]
  },
  "cluster_settings_json": {}
}
Response examples (202)
{}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

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
































































Stop all instances

POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_stop

Stops all instances belonging to a Deployment Resource.

Path parameters

  • deployment_id string Required

    Identifier for the Deployment.

  • resource_kind string Required

    The kind of resource (one of elasticsearch, kibana, apm, or integrations_server).

  • ref_id string Required

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

Responses

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

  • The stop maintenance mode command was prohibited for the given Resource. (code: deployments.instance_update_prohibited_error)

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

      Value is deployments.instance_update_prohibited_error.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

    • The Deployment specified by {deployment_id} cannot be found. (code: deployments.deployment_not_found)
    • The Resource specified by {ref_id} cannot be found. (code: deployments.deployment_resource_not_found)
    • One or more instances of the given resource type are missing. (code: deployments.instances_missing_on_update_error)
    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Values are deployments.deployment_not_found, deployments.deployment_resource_not_found, or deployments.instances_missing_on_update_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

  • 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}/{resource_kind}/{ref_id}/instances/_stop
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_stop
Response examples (202)
{
  "warnings": [
    {
      "code": "string",
      "message": "string"
    }
  ]
}
Response examples (403)
# Headers
x-cloud-error-codes: deployments.instance_update_prohibited_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"
      ]
    }
  ]
}
















































































Upgrade Kibana, APM, Integrations Server, AppSearch, Enterprise Search inside Deployment

POST /deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_upgrade

Upgrades a running cluster.

Path parameters

  • deployment_id string Required

    Identifier for the Deployment.

  • The kind of stateless resource

    Values are 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

  • When true, returns the update version without performing the upgrade

    Default value is false.

Responses

  • The upgrade command was issued successfully. Use the "GET" command on the /{deployment_id} resource to monitor progress

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

      Values are deployments.deployment_not_found or deployments.deployment_resource_not_found.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

POST /deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_upgrade
curl \
 --request POST https://{{hostname}}/api/v1/deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_upgrade
Response examples (202)
{
  "resource_id": "string",
  "stack_version": "string"
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

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























































Claim a link id

POST /deployments/traffic-filter/link-ids/_claim

Claim the ownership of a link id.

POST /deployments/traffic-filter/link-ids/_claim
curl \
 --request POST https://{{hostname}}/api/v1/deployments/traffic-filter/link-ids/_claim \
 --data '{"link_id":"string","azure_endpoint_name":"string","azure_endpoint_guid":"string","region":"string"}'
Request examples
{
  "link_id": "string",
  "azure_endpoint_name": "string",
  "azure_endpoint_guid": "string",
  "region": "string"
}
Response examples (201)
{
  "link_id": "string",
  "azure_endpoint_name": "string",
  "azure_endpoint_guid": "string",
  "region": "string"
}
Response examples (500)
# Headers
x-cloud-error-codes: traffic_filter_claimed_link_id.request_execution_failed

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






















































































































































































































































Platform - Infrastructure

Manage the admin console, allocators, constructors, coordinators, licenses, proxies, roles, and runners.





















































Get allocators

GET /platform/infrastructure/allocators

Retrieves the information for all of the allocators in the platform.

Query parameters

  • q string

    (Optional) The query that filters the allocators. Maps to an Elasticsearch query_string query.

  • size integer

    (Optional) The maximum number of search results to return. Defaults to 100.

    Default value is 100.

  • from integer

    (Optional) The offset from the first result you want to fetch. Defaults to 0.

    Default value is 0.

  • sort string

    (Optional) A comma-separated array of fields to sort the search results by. Defaults to allocator_id.

Responses

  • An overview of all allocators

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

      The allocators for the specified zone.

      Hide zones attributes Show zones attributes object
      • zone_id string Required

        Identifier of the zone

      • allocators array[object] Required

        The overview information for the allocator.

        Hide allocators attributes Show allocators attributes object
        • status object Required

          The health status of the allocator.

          Additional properties are allowed.

          Hide status attributes Show status attributes object
          • connected boolean Required

            Whether the allocator is connected

          • healthy boolean Required

            Whether the allocator is healthy, meaning it is either connected or has no instances

          • Checks used to determine if an allocator is healthy or not

            Additional properties are allowed.

            Hide health_checks attributes Show health_checks attributes object
          • maintenance_mode boolean Required

            Whether the allocator is in maintenance mode (meaning that new workload won't be assigned to it)

          • Timestamp when allocator last entered or exited maintenance mode

        • allocator_id string Required

          Identifier for this allocator

        • zone_id string Required

          Identifier of the zone

        • host_ip string Required

          Host IP of this allocator

        • public_hostname string Required

          Public hostname of this allocator

        • capacity object Required

          The total and used capacity of the allocator.

          Additional properties are allowed.

          Hide capacity attributes Show capacity attributes object
          • memory object Required

            The available and used memory of the allocator.

            Additional properties are allowed.

            Hide memory attributes Show memory attributes object
            • total integer(int32) Required

              Total memory in MB capacity installed on this allocator

            • used integer(int32) Required

              Used memory in MB used by instances assigned to this allocator

          • storage object Required

            The storage capacity of the allocator.

            Additional properties are allowed.

            Hide storage attribute Show storage attribute object
            • total integer(int64) Required

              Total storage in MiB capacity installed on this allocator

          • available_cpus integer(int32)

            Total number of CPUs available on this allocator

          • Additional bonus CPU shares available to Elasticsearch master instances

        • settings object Required

          The settings for the allocator.

          Additional properties are allowed.

          Hide settings attribute Show settings attribute object
          • capacity integer(int32)

            A memory capacity (in MB) that overrides the capacity defined during installation - requires separate restart of Allocator services on each host to take full effect.

        • instances array[object] Required

          The status of the allocated Kibana instance or APM Server.

          Hide instances attributes Show instances attributes object
          • cluster_type string Required

            Type of instance that is running

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

          • cluster_id string Required

            Identifier for the cluster this instance belongs

          • Name of cluster this instance belongs, if available

          • instance_name string Required

            Instance ID of the instance

          • node_memory integer(int32) Required

            Memory assigned to this instance

          • healthy boolean

            Indicates whether the instance is healthy

          • Indicates whether the cluster the instance belongs to is healthy

          • The instance configuration id of this instance

          • moving boolean

            Indicates whether the instance is vacating away from this allocator. Note that this is currently not populated when returned from the search endpoint.

          • The plans associated with the current instance. Note that this is currently not populated when returned from the search endpoint.

            Additional properties are allowed.

            Hide plans_info attributes Show plans_info attributes object
            • pending boolean Required

              Whether or not there is a pending plan.

            • version string

              The version of the current plan, falling back to that of the pending plan if it exists.

            • zone_count integer(int32)

              The number of zones in the current plan, falling back to that of the pending plan if it exists.

          • The id of the deployment this cluster belongs to.

        • metadata array[object] Required

          Arbitrary metadata associated with this allocator

          The key-value pair.

          Hide metadata attributes Show metadata attributes object
          • key string Required

            The metadata field name

          • value string Required

            The metadata value

        • Build Info of the artifact

          Additional properties are allowed.

          Hide build_info attributes Show build_info attributes object
        • features array[string] Required

          List of features associated with this allocator. Note this is only present for backwards compatibility purposes and is scheduled for removal in the next major version release.

        • region string

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

GET /platform/infrastructure/allocators
curl \
 --request GET https://{{hostname}}/api/v1/platform/infrastructure/allocators
Response examples (200)
{
  "zones": [
    {
      "zone_id": "string",
      "allocators": [
        {
          "status": {
            "connected": true,
            "healthy": true,
            "health_checks": {
              "is_docker_healthy": true,
              "is_connected_to_zk": true,
              "has_instances": true
            },
            "maintenance_mode": true,
            "maintenance_mode_timestamp": "2025-05-04T09:42:00Z"
          },
          "allocator_id": "string",
          "zone_id": "string",
          "host_ip": "string",
          "public_hostname": "string",
          "capacity": {
            "memory": {
              "total": 42,
              "used": 42
            },
            "storage": {
              "total": 42
            },
            "available_cpus": 42,
            "additional_master_bonus": 42.0
          },
          "settings": {
            "capacity": 42
          },
          "instances": [
            {
              "cluster_type": "elasticsearch",
              "cluster_id": "string",
              "cluster_name": "string",
              "instance_name": "string",
              "node_memory": 42,
              "healthy": true,
              "cluster_healthy": true,
              "instance_configuration_id": "string",
              "moving": true,
              "plans_info": {
                "pending": true,
                "version": "string",
                "zone_count": 42
              },
              "deployment_id": "string"
            }
          ],
          "metadata": [
            {
              "key": "string",
              "value": "string"
            }
          ],
          "build_info": {
            "commit_hash": "string",
            "version": "string"
          },
          "features": [
            "string"
          ],
          "external_links": [
            {
              "id": "string",
              "label": "string",
              "uri": "string"
            }
          ],
          "region": "string"
        }
      ]
    }
  ]
}




































































































Set blessings

PUT /platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings

Set blessings for a role.

Path parameters

Query parameters

  • version integer

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

Body Required

The blessings to set.

  • runner_ids_to_blessing object Required

    A mapping of Runner Ids to whether or not they are blessed to run the associated role

    Hide runner_ids_to_blessing attribute Show runner_ids_to_blessing attribute object
    • * object Additional properties

      Whether something is blessed or not

      Additional properties are allowed.

      Hide * attribute Show * attribute object
      • value boolean Required

        Whether something is blessed or not

Responses

  • The blessings were successfully set.

    Hide response attributes Show response attributes object
    • id string Required

      The unique id of this role

    • role object Required

      The role data with metadata

      Additional properties are allowed.

      Hide role attributes Show role attributes object
      • value object Required

        The pending stages

        Additional properties are allowed.

        Hide value attributes Show value attributes object
        • id string Required

          The unique id of this role

        • auto_blessed boolean Required

          Whether runners are automatically allowed to be assigned the containers of this role.

        • containers array[object] Required

          The containers that are part of this role

          Represents the association between a Role and a Container Set

          Hide containers attributes Show containers attributes object
          • name string Required

            Name of the association

          • container_set_name string Required

            The container set name (id)

          • kind string Required

            The kind of container set, should be one of 'docker', 'elasticsearch', 'kibana', or 'apm'

          • options object Required

            The container options

            Additional properties are allowed.

            Hide options attributes Show options attributes object
            • enabled boolean Required

              Whether this allocation is active and should be created.

            • auths array[object] Required

              ZooKeeper Auths associated with this allocation

              ZooKeeper Authentication information.

              Hide auths attributes Show auths attributes object
              • scheme string Required

                Scheme identifier, usually "digest"

              • auth string Required

                Plain-text auth. For the "digest" scheme

            • acls array[object] Required

              ZooKeeper ACLs associated with this allocation

              ZooKeeper ACL information.

              Hide acls attributes Show acls attributes object
              • id string Required

                Identity within the provided scheme.

              • perms integer(int32) Required

                Permissions

              • scheme string Required

                Auth scheme, in Elastic Cloud this is usually "digest"

            • Secret shared between the runners that have containers in this container set allocated.

            • Secret shared between the containers that are part of this container set.

            • A named feature flag to check whether this container is enabled or not

            • Allocation-specific overrides for the allocated containers

              Additional properties are allowed.

              Hide overrides attribute Show overrides attribute object
              • Overrides for the container allocation.

                Additional properties are allowed.

                Hide container_config attributes Show container_config attributes object
                • env array[string] Required

                  List of environment variables on the form KEY=value

                • Docker host config

                  Additional properties are allowed.

                  Hide host_config attributes Show host_config attributes object
                  • extra_hosts array[string] Required

                    Ports that are exposed by the container.

                  • Sets the networking mode for the container.

                  • cpu_period integer(int32)

                    The length of a CPU period in microsecond

                  • Docker behavior to apply when a container exits

                    Additional properties are allowed.

                    Hide restart_policy attributes Show restart_policy attributes object
                    • name string Required

                      Identifier for the policy.

                    • maximum_retry_count integer(int32)

                      Maximum number of times to re-try before giving up

                  • port_bindings object Required

                    Map of ports that should be exposed on the host.

                    Hide port_bindings attribute Show port_bindings attribute object
                    • * array[object] Additional properties

                      Value used to bind to a port on the host.

                      Hide * attributes Show * attributes object
                      • host_port string Required

                        Port as observed by the host.

                      • host_ip string

                        IP to bind to on the host. I.e {@code 0.0.0.0}

                  • binds array[string] Required

                    Volume bindings for the container.

                  • privileged boolean Required

                    List of environment variables on the form KEY=value

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
    • The blessings data associated with the role

      Additional properties are allowed.

      Hide blessings attributes Show blessings attributes object
      • value object Required

        The blessings

        Additional properties are allowed.

        Hide value attribute Show value attribute object
        • runner_ids_to_blessing object Required

          A mapping of Runner Ids to whether or not they are blessed to run the associated role

          Hide runner_ids_to_blessing attribute Show runner_ids_to_blessing attribute object
          • * object Additional properties

            Whether something is blessed or not

            Additional properties are allowed.

            Hide * attribute Show * attribute object
            • value boolean Required

              Whether something is blessed or not

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
    • pending object

      The pending states data associated with the role

      Additional properties are allowed.

      Hide pending attributes Show pending attributes object
      • value object Required

        The pending stages

        Additional properties are allowed.

        Hide value attribute Show value attribute object
        • A mapping of Runner Ids to whether or not they are waiting to be blessed to run the associated role

          Hide runner_ids_to_pending_state attribute Show runner_ids_to_pending_state attribute object
          • * object Additional properties

            Pending state

            Additional properties are allowed.

            Hide * attribute Show * attribute object
            • value boolean Required

              Whether a runner is pending blessings or not

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
  • The role can't be found. (code: roles.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

  • Your request failed because the specified version does not match the persisted version. (code: roles.version_conflict)

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

      Value is roles.version_conflict.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

PUT /platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings
curl \
 --request PUT https://{{hostname}}/api/v1/platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings \
 --data '{"runner_ids_to_blessing":{"additionalProperty1":{"value":true},"additionalProperty2":{"value":true}}}'
Request examples
{
  "runner_ids_to_blessing": {
    "additionalProperty1": {
      "value": true
    },
    "additionalProperty2": {
      "value": true
    }
  }
}
Response examples (200)
{
  "id": "constructor",
  "role": {
    "value": {
      "id": "constructor",
      "auto_blessed": true,
      "containers": [
        {
          "name": "string",
          "container_set_name": "string",
          "kind": "string",
          "options": {
            "enabled": true,
            "auths": [
              {
                "scheme": "digest",
                "auth": "string"
              }
            ],
            "acls": [
              {
                "id": "string",
                "perms": 42,
                "scheme": "string"
              }
            ],
            "runners_secret": "string",
            "container_set_secret": "string",
            "enabled_by_named_feature_flag": "string",
            "overrides": {
              "container_config": {
                "env": [
                  "DB=localhost:4567"
                ],
                "host_config": {
                  "extra_hosts": [
                    "string"
                  ],
                  "network_mode": "string",
                  "cpu_period": 42,
                  "restart_policy": {
                    "name": "string",
                    "maximum_retry_count": 42
                  },
                  "port_bindings": {
                    "additionalProperty1": [
                      {
                        "host_port": "string",
                        "host_ip": "0.0.0.0"
                      }
                    ],
                    "additionalProperty2": [
                      {
                        "host_port": "string",
                        "host_ip": "0.0.0.0"
                      }
                    ]
                  },
                  "binds": [
                    "string"
                  ],
                  "privileged": true
                }
              }
            }
          }
        }
      ]
    },
    "meta": {
      "created_time": "2025-05-04T09:42:00Z",
      "modified_time": "2025-05-04T09:42:00Z",
      "version": "string"
    }
  },
  "blessings": {
    "value": {
      "runner_ids_to_blessing": {
        "additionalProperty1": {
          "value": true
        },
        "additionalProperty2": {
          "value": true
        }
      }
    },
    "meta": {
      "created_time": "2025-05-04T09:42:00Z",
      "modified_time": "2025-05-04T09:42:00Z",
      "version": "string"
    }
  },
  "pending": {
    "value": {
      "runner_ids_to_pending_state": {
        "additionalProperty1": {
          "value": true
        },
        "additionalProperty2": {
          "value": true
        }
      }
    },
    "meta": {
      "created_time": "2025-05-04T09:42:00Z",
      "modified_time": "2025-05-04T09:42:00Z",
      "version": "string"
    }
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: roles.not_found

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

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

Add Blessing

PUT /platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings/{runner_id}

Add a Blessing for a runner to a role.

Path parameters

Query parameters

  • version integer

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

Body Required

The blessing to add.

  • value boolean Required

    Whether something is blessed or not

Responses

  • Blessing added successfully.

    Hide response attributes Show response attributes object
    • id string Required

      The unique id of this role

    • role object Required

      The role data with metadata

      Additional properties are allowed.

      Hide role attributes Show role attributes object
      • value object Required

        The pending stages

        Additional properties are allowed.

        Hide value attributes Show value attributes object
        • id string Required

          The unique id of this role

        • auto_blessed boolean Required

          Whether runners are automatically allowed to be assigned the containers of this role.

        • containers array[object] Required

          The containers that are part of this role

          Represents the association between a Role and a Container Set

          Hide containers attributes Show containers attributes object
          • name string Required

            Name of the association

          • container_set_name string Required

            The container set name (id)

          • kind string Required

            The kind of container set, should be one of 'docker', 'elasticsearch', 'kibana', or 'apm'

          • options object Required

            The container options

            Additional properties are allowed.

            Hide options attributes Show options attributes object
            • enabled boolean Required

              Whether this allocation is active and should be created.

            • auths array[object] Required

              ZooKeeper Auths associated with this allocation

              ZooKeeper Authentication information.

              Hide auths attributes Show auths attributes object
              • scheme string Required

                Scheme identifier, usually "digest"

              • auth string Required

                Plain-text auth. For the "digest" scheme

            • acls array[object] Required

              ZooKeeper ACLs associated with this allocation

              ZooKeeper ACL information.

              Hide acls attributes Show acls attributes object
              • id string Required

                Identity within the provided scheme.

              • perms integer(int32) Required

                Permissions

              • scheme string Required

                Auth scheme, in Elastic Cloud this is usually "digest"

            • Secret shared between the runners that have containers in this container set allocated.

            • Secret shared between the containers that are part of this container set.

            • A named feature flag to check whether this container is enabled or not

            • Allocation-specific overrides for the allocated containers

              Additional properties are allowed.

              Hide overrides attribute Show overrides attribute object
              • Overrides for the container allocation.

                Additional properties are allowed.

                Hide container_config attributes Show container_config attributes object
                • env array[string] Required

                  List of environment variables on the form KEY=value

                • Docker host config

                  Additional properties are allowed.

                  Hide host_config attributes Show host_config attributes object
                  • extra_hosts array[string] Required

                    Ports that are exposed by the container.

                  • Sets the networking mode for the container.

                  • cpu_period integer(int32)

                    The length of a CPU period in microsecond

                  • Docker behavior to apply when a container exits

                    Additional properties are allowed.

                    Hide restart_policy attributes Show restart_policy attributes object
                    • name string Required

                      Identifier for the policy.

                    • maximum_retry_count integer(int32)

                      Maximum number of times to re-try before giving up

                  • port_bindings object Required

                    Map of ports that should be exposed on the host.

                    Hide port_bindings attribute Show port_bindings attribute object
                    • * array[object] Additional properties

                      Value used to bind to a port on the host.

                      Hide * attributes Show * attributes object
                      • host_port string Required

                        Port as observed by the host.

                      • host_ip string

                        IP to bind to on the host. I.e {@code 0.0.0.0}

                  • binds array[string] Required

                    Volume bindings for the container.

                  • privileged boolean Required

                    List of environment variables on the form KEY=value

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
    • The blessings data associated with the role

      Additional properties are allowed.

      Hide blessings attributes Show blessings attributes object
      • value object Required

        The blessings

        Additional properties are allowed.

        Hide value attribute Show value attribute object
        • runner_ids_to_blessing object Required

          A mapping of Runner Ids to whether or not they are blessed to run the associated role

          Hide runner_ids_to_blessing attribute Show runner_ids_to_blessing attribute object
          • * object Additional properties

            Whether something is blessed or not

            Additional properties are allowed.

            Hide * attribute Show * attribute object
            • value boolean Required

              Whether something is blessed or not

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
    • pending object

      The pending states data associated with the role

      Additional properties are allowed.

      Hide pending attributes Show pending attributes object
      • value object Required

        The pending stages

        Additional properties are allowed.

        Hide value attribute Show value attribute object
        • A mapping of Runner Ids to whether or not they are waiting to be blessed to run the associated role

          Hide runner_ids_to_pending_state attribute Show runner_ids_to_pending_state attribute object
          • * object Additional properties

            Pending state

            Additional properties are allowed.

            Hide * attribute Show * attribute object
            • value boolean Required

              Whether a runner is pending blessings or not

      • meta object Required

        The metadata

        Additional properties are allowed.

        Hide meta attributes Show meta attributes object
  • The role can't be found. (code: roles.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

  • Your request failed because the specified version does not match the persisted version. (code: roles.version_conflict)

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

      Value is roles.version_conflict.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

PUT /platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings/{runner_id}
curl \
 --request PUT https://{{hostname}}/api/v1/platform/infrastructure/blueprinter/roles/{blueprinter_role_id}/blessings/{runner_id} \
 --data '{"value":true}'
Request examples
{
  "value": true
}
Response examples (200)
{
  "id": "constructor",
  "role": {
    "value": {
      "id": "constructor",
      "auto_blessed": true,
      "containers": [
        {
          "name": "string",
          "container_set_name": "string",
          "kind": "string",
          "options": {
            "enabled": true,
            "auths": [
              {
                "scheme": "digest",
                "auth": "string"
              }
            ],
            "acls": [
              {
                "id": "string",
                "perms": 42,
                "scheme": "string"
              }
            ],
            "runners_secret": "string",
            "container_set_secret": "string",
            "enabled_by_named_feature_flag": "string",
            "overrides": {
              "container_config": {
                "env": [
                  "DB=localhost:4567"
                ],
                "host_config": {
                  "extra_hosts": [
                    "string"
                  ],
                  "network_mode": "string",
                  "cpu_period": 42,
                  "restart_policy": {
                    "name": "string",
                    "maximum_retry_count": 42
                  },
                  "port_bindings": {
                    "additionalProperty1": [
                      {
                        "host_port": "string",
                        "host_ip": "0.0.0.0"
                      }
                    ],
                    "additionalProperty2": [
                      {
                        "host_port": "string",
                        "host_ip": "0.0.0.0"
                      }
                    ]
                  },
                  "binds": [
                    "string"
                  ],
                  "privileged": true
                }
              }
            }
          }
        }
      ]
    },
    "meta": {
      "created_time": "2025-05-04T09:42:00Z",
      "modified_time": "2025-05-04T09:42:00Z",
      "version": "string"
    }
  },
  "blessings": {
    "value": {
      "runner_ids_to_blessing": {
        "additionalProperty1": {
          "value": true
        },
        "additionalProperty2": {
          "value": true
        }
      }
    },
    "meta": {
      "created_time": "2025-05-04T09:42:00Z",
      "modified_time": "2025-05-04T09:42:00Z",
      "version": "string"
    }
  },
  "pending": {
    "value": {
      "runner_ids_to_pending_state": {
        "additionalProperty1": {
          "value": true
        },
        "additionalProperty2": {
          "value": true
        }
      }
    },
    "meta": {
      "created_time": "2025-05-04T09:42:00Z",
      "modified_time": "2025-05-04T09:42:00Z",
      "version": "string"
    }
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: roles.not_found

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

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
















































Get a coordinator candidate

GET /platform/infrastructure/coordinators/candidates/{coordinator_candidate_id}

Retrieve a coordinator candidate.

Path parameters

Responses

  • Info about a coordinator candidate.

    Hide response attributes Show response attributes object
    • name string Required

      Name of this coordinator candidate.

    • public_hostname string Required

      Public hostname of this coordinator candidate

    • acl object Required

      Zookeeper ACL of nodes this coordinator candidate is allowed to read

      Additional properties are allowed.

      Hide acl attributes Show acl attributes object
      • perms integer(int32) Required

        ZK static permissions for admin/all/create/read/write/delete

      • scheme string Required

        Zookeeper ACL scheme

      • id string Required

        Identity within provided scheme

    • id integer(int32)

      Zookeeper server identifier corresponding to this coordinator candidate

    • attributes object Required

      Attributes of this coordinator candidate

      Hide attributes attribute Show attributes attribute object
      • * string Additional properties
    • state string Required

      State of the candidate

      Values are accepted or pending.

  • Unable to find coordinator candidate {coordinator_candidate_id}. Edit your request, then try again. (code: coordinators.candidate_not_found)

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

      Value is coordinators.candidate_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 /platform/infrastructure/coordinators/candidates/{coordinator_candidate_id}
curl \
 --request GET https://{{hostname}}/api/v1/platform/infrastructure/coordinators/candidates/{coordinator_candidate_id}
Response examples (200)
{
  "name": "string",
  "public_hostname": "string",
  "acl": {
    "perms": 42,
    "scheme": "string",
    "id": "string"
  },
  "id": 42,
  "attributes": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  },
  "state": "accepted"
}
Response examples (404)
# Headers
x-cloud-error-codes: coordinators.candidate_not_found

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
























































































Set runner logging settings

PUT /platform/infrastructure/runners/{runner_id}/logging_settings

Set the logging settings for this runner instance.

Path parameters

  • runner_id string Required

    The identifier for the runner

Body Required

The new logging settings for the runner instance

  • logging_levels object Required

    Overridden logging levels. Keys are logging levels. Allowable values are OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL

    Hide logging_levels attribute Show logging_levels attribute object
    • * string Additional properties

Responses

  • The updated logging settings for the runner instance

    Hide headers attributes Show headers attributes
    Hide response attribute Show response attribute object
    • logging_levels object Required

      Overridden logging levels. Keys are logging levels. Allowable values are OFF, ERROR, WARN, INFO, DEBUG, TRACE, ALL

      Hide logging_levels attribute Show logging_levels attribute object
      • * string Additional properties
  • The logging settings for this runner were not found. (code: runners.logging_settings.not_found)

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

      Value is runners.logging_settings.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

PUT /platform/infrastructure/runners/{runner_id}/logging_settings
curl \
 --request PUT https://{{hostname}}/api/v1/platform/infrastructure/runners/{runner_id}/logging_settings \
 --data '{"logging_levels":{"additionalProperty1":"string","additionalProperty2":"string"}}'
Request examples
{
  "logging_levels": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  }
}
Response examples (200)
# Headers
x-cloud-resource-version: string
x-cloud-resource-created: string
x-cloud-resource-last-modified: string

# Payload
{
  "logging_levels": {
    "additionalProperty1": "string",
    "additionalProperty2": "string"
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: runners.logging_settings.not_found

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





































Delete snapshot repository

DELETE /platform/configuration/snapshots/repositories/{repository_name}

Deletes the snapshot repository configuration.

Path parameters

Query parameters

  • Removes references to this snapshot repository configuration and disables snapshots on the clusters that were referencing this configuration. If a request is made to delete a repository configuration that has already been deleted and this parameter is set to true and clusters still reference the configuration, then the request will have the side effects of removing references and disabling snapshots for clusters that reference the previously deleted configuration.

    Default value is false.

Responses

  • successful operation

    Additional properties are allowed.

  • Delete snapshot repository config

    Additional properties are allowed.

  • Failed to delete references and disable snapshots in one or more referencing clusters.

    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 /platform/configuration/snapshots/repositories/{repository_name}
curl \
 --request DELETE https://{{hostname}}/api/v1/platform/configuration/snapshots/repositories/{repository_name}
Response examples (200)
{}
Response examples (202)
{}
Response examples (500)
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}