Elastic Cloud Enterprise API
1

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

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

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

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

Documentation source and versions

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

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








































Delete API keys

DELETE /users/auth/keys

Delete or invalidate API keys.

Body Required

The request to delete API keys

  • keys array[string] Required

    The list of API key IDs.

Responses

  • The API keys are deleted.

    Additional properties are allowed.

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

Get all API keys for all users

GET /users/auth/keys/_all

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

Responses

  • The metadata for the API keys is retrieved.

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

      The list of API keys.

      Hide keys attributes Show keys attributes object
      • id string Required

        The API key ID.

      • user_id string

        The user ID.

      • The organization ID linked to the API key

      • description string Required

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

      • key string

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

      • creation_date string(date-time) Required

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

      • expiration_date string(date-time)

        The date/time when the API key expires.

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

Delete API keys of multiple users

DELETE /users/auth/keys/_all

Delete or invalidate the API keys for multiple users.

Body Required

The request to delete API keys.

  • user_api_keys array[object] Required

    The list of API key IDs.

    Hide user_api_keys attributes Show user_api_keys attributes object

Responses

  • The API keys are deleted.

    Additional properties are allowed.

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

Get API key

GET /users/auth/keys/{api_key_id}

Retrieves the metadata for an API key.

Path parameters

Responses

  • The API key metadata is retrieved.

    Hide response attributes Show response attributes object
    • id string Required

      The API key ID.

    • user_id string

      The user ID.

    • The organization ID linked to the API key

    • description string Required

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

    • key string

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

    • creation_date string(date-time) Required

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

    • expiration_date string(date-time)

      The date/time when the API key expires.

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

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

      Value is api_keys.key_not_found.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

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

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
























Get a user API key

GET /users/{user_id}/auth/keys/{api_key_id}

Retrieves the API key metadata for a user.

Path parameters

Responses

  • The API key metadata is retrieved.

    Hide response attributes Show response attributes object
    • id string Required

      The API key ID.

    • user_id string

      The user ID.

    • The organization ID linked to the API key

    • description string Required

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

    • key string

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

    • creation_date string(date-time) Required

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

    • expiration_date string(date-time)

      The date/time when the API key expires.

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

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

      Value is api_keys.key_not_found.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

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

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





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

GET /billing/costs/{organization_id}

EXPERIMENTAL (it may change in future versions): Retrieves an overview of the costs by organization ID.

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

  • Top-level cost overview for the organization

    Hide response attributes Show response attributes object
    • costs object Required

      Costs for the organization

      Additional properties are allowed.

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

        Total costs

      • dimensions array[object] Required

        A collection of billing details by dimension.

        Hide dimensions attributes Show dimensions attributes object
        • type string Required

          The type of the billing dimension

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

        • cost number(double) Required

          The cost of the billing dimension

    • trials number(double) Required

      Trial costs for the organization

    • hourly_rate number(double) Required

      Hourly rate applied.

    • balance object

      Balance for the organization

      Additional properties are allowed.

      Hide balance attributes Show balance attributes object
      • available number(double) Required

        Available balance

      • remaining number(double) Required

        Remaining balance

      • line_items array[object] Required

        A collection of order line items for for an organization

        Hide line_items attributes Show line_items attributes object
        • id string Required

          Line Item ID

        • ecu_quantity number(double) Required

          Original Elastic Consumption Unit (ECU) quantity

        • ecu_balance number(double) Required

          Elastic Consumption Unit (ECU) Balance

        • start string(date-time) Required

          Start of the line item's validity

        • end string(date-time) Required

          Expiration of the line item

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

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

      Value is costs.invalid_date_range.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

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

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

      Value is organization.invalid_access.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

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

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

      Value is organization.not_found.

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

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

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

  • An error occurred when fetching an overview of the 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}
curl \
 -X GET https://{{hostname}}/api/v1/billing/costs/{organization_id}
Response examples (200)
{
  "costs": {
    "total": 42.0,
    "dimensions": [
      {
        "type": "capacity",
        "cost": 42.0
      }
    ]
  },
  "trials": 42.0,
  "hourly_rate": 42.0,
  "balance": {
    "available": 42.0,
    "remaining": 42.0,
    "line_items": [
      {
        "id": "string",
        "ecu_quantity": 42.0,
        "ecu_balance": 42.0,
        "start": "2025-05-04T09:42:00+00:00",
        "end": "2025-05-04T09:42:00+00:00"
      }
    ]
  }
}
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"
      ]
    }
  ]
}









































Deployments

Perform CRUD operations, resync, and commands on your deployments.





































































































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]
      Hide move_instances attributes Show move_instances attributes object
      • from string Required

        The instance id that is going to be moved

      • to array[string]

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

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

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

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

      • to array[string]

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

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

    • move_only boolean

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

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

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

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

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

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

    • max_snapshot_age integer(int64)

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

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

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

      Value is forced.

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

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

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

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

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

  • Restores a snapshot from a local or remote repository.

    Additional properties are allowed.

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

    • snapshot_name string Required

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

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

      Additional properties are allowed.

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

        Additional properties are allowed.

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

      Additional properties are allowed.

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

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

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

        Additional properties are allowed.

    • strategy string

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

      Values are partial, full, or recovery.

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

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

    Additional properties are allowed.

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

      The remote resources

      Hide resources attributes Show resources attributes object
      • deployment_id string Required

        The id of the deployment

      • elasticsearch_ref_id string Required

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

      • alias string Required

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

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

  • 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]
        Hide move_instances attributes Show move_instances attributes object
        • from string Required

          The instance id that is going to be moved

        • to array[string]

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

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

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

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

        • to array[string]

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

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

      • move_only boolean

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

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

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

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

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

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

      • max_snapshot_age integer(int64)

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

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

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

        Value is forced.

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

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

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

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

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

    • Restores a snapshot from a local or remote repository.

      Additional properties are allowed.

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

      • snapshot_name string Required

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

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

        Additional properties are allowed.

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

          Additional properties are allowed.

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

        Additional properties are allowed.

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

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

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

          Additional properties are allowed.

      • strategy string

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

        Values are partial, full, or recovery.

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

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

      Additional properties are allowed.

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

        The remote resources

        Hide resources attributes Show resources attributes object
        • deployment_id string Required

          The id of the deployment

        • elasticsearch_ref_id string Required

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

        • alias string Required

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

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

        • info object

          Information about a Remote Cluster.

          Additional properties are allowed.

          Hide info attributes Show info attributes object
          • healthy boolean Required

            Whether or not the remote cluster is healthy

          • connected boolean Required

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

          • compatible boolean Required

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

          • trusted boolean Required

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

          • trusted_back boolean Required

            Whether or not the remote cluster trusts this cluster back.

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

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

      Additional properties are allowed.

  • 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 \
 -X POST https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/instances/{instance_ids}/_move \
 -d '{"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"
      ]
    }
  ]
}








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

  • List of certificate based remote clusters for the resource

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

      The remote resources

      Hide resources attributes Show resources attributes object
      • deployment_id string Required

        The id of the deployment

      • elasticsearch_ref_id string Required

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

      • alias string Required

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

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

      • info object

        Information about a Remote Cluster.

        Additional properties are allowed.

        Hide info attributes Show info attributes object
        • healthy boolean Required

          Whether or not the remote cluster is healthy

        • connected boolean Required

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

        • compatible boolean Required

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

        • trusted boolean Required

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

        • trusted_back boolean Required

          Whether or not the remote cluster trusts this cluster back.

    • 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 \
 -X GET https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters
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"
      ]
    }
  ]
}

Set certificate based remote clusters

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

Overwrites or creates 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).

Body Required

List of certificate based remote clusters for the resource

  • resources array[object] Required

    The remote resources

    Hide resources attributes Show resources attributes object
    • deployment_id string Required

      The id of the deployment

    • elasticsearch_ref_id string Required

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

    • alias string Required

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

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

Responses

  • The Remote Clusters were updated

    Additional properties are allowed.

    • 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

PUT /deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters
curl \
 -X PUT https://{{hostname}}/api/v1/deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters \
 -d '{"resources":[{"deployment_id":"string","elasticsearch_ref_id":"string","alias":"string","skip_unavailable":true}]}'
Request examples
{
  "resources": [
    {
      "deployment_id": "string",
      "elasticsearch_ref_id": "string",
      "alias": "string",
      "skip_unavailable": true
    }
  ]
}
Response examples (202)
{}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

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




























Get Deployment upgade assistant status

GET /deployments/{deployment_id}/upgrade_assistant/status

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

Path parameters

Responses

  • 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

  • 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 \
 -X GET https://{{hostname}}/api/v1/deployments/{deployment_id}/upgrade_assistant/status
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"
      ]
    }
  ]
}




Get plan activity

GET /deployments/{deployment_id}/{resource_kind}/{ref_id}/activity/{attempt_id}

Retrieves details for a single plan activity for the given resource.

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)

  • attempt_id string Required

    Attempt id for the activity

Responses

  • Returning the single plan activity for the specified resource

    Hide response attributes Show response attributes object
    • healthy boolean Required
    • attempt_start_time string(date-time)
    • attempt_end_time string(date-time)
    • plan_end_time string(date-time)
    • plan object

      Additional properties are allowed.

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

        ID of current step

      • started string(date-time) Required

        When the step started (ISO format in UTC)

      • completed string(date-time)

        When the step completed (ISO format in UTC)

      • duration_in_millis integer(int64)

        The duration of the step in MS

      • status string Required

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

        Values are success, warning, error, or pending.

      • stage string Required

        Current stage that the step is in

        Values are starting, completed, or in_progress.

      • info_log array[object] Required

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

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

          Timestamp marking on info log of step

        • delta_in_millis integer(int64)

          Time in milliseconds since previous log message

        • stage string Required

          Stage that info log message takes place in

          Values are starting, completed, or in_progress.

        • message string Required

          Human readable log message

        • details object Required

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

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

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

    • source object

      Information describing the source that facilitated the plans current state

      Additional properties are allowed.

      Hide source attributes Show source attributes object
      • facilitator string Required

        The service where the change originated from

      • action string Required

        The type of plan change that was initiated

      • date string(date-time) Required

        The time the change was initiated

      • user_id string

        The user that requested the change

      • admin_id string

        The admin user that requested the change

      • remote_addresses array[string]

        The host addresses of the user that originated the change

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

        A unique warning code

      • message string Required

        A description of the warning

      • step_id string

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

    • error object

      Information about an error during a plan attempt.

      Additional properties are allowed.

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

        Timestamp marking on info log of step

      • message string Required

        Human readable error message

      • details object Required

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

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

    • 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}/{resource_kind}/{ref_id}/activity/{attempt_id}
curl \
 -X GET https://{{hostname}}/api/v1/deployments/{deployment_id}/{resource_kind}/{ref_id}/activity/{attempt_id}
Response examples (200)
{
  "plan_attempt_id": "string",
  "plan_attempt_name": "string",
  "healthy": true,
  "attempt_start_time": "2025-05-04T09:42:00+00:00",
  "attempt_end_time": "2025-05-04T09:42:00+00:00",
  "plan_end_time": "2025-05-04T09:42:00+00:00",
  "plan": {},
  "plan_attempt_log": [
    {
      "step_id": "string",
      "started": "2025-05-04T09:42:00+00:00",
      "completed": "2025-05-04T09:42:00+00:00",
      "duration_in_millis": 42,
      "status": "success",
      "stage": "starting",
      "info_log": [
        {
          "timestamp": "2025-05-04T09:42:00+00:00",
          "delta_in_millis": 42,
          "stage": "starting",
          "message": "string",
          "details": {
            "additionalProperty1": "string",
            "additionalProperty2": "string"
          },
          "internal_details": {
            "additionalProperty1": "string",
            "additionalProperty2": "string"
          },
          "failure_type": "string"
        }
      ]
    }
  ],
  "source": {
    "facilitator": "string",
    "action": "string",
    "date": "2025-05-04T09:42:00+00:00",
    "user_id": "string",
    "admin_id": "string",
    "remote_addresses": [
      "string"
    ]
  },
  "warnings": [
    {
      "code": "string",
      "message": "string",
      "step_id": "string"
    }
  ],
  "error": {
    "timestamp": "2025-05-04T09:42:00+00:00",
    "message": "string",
    "details": {
      "additionalProperty1": "string",
      "additionalProperty2": "string"
    },
    "failure_type": "string"
  }
}
Response examples (404)
# Headers
x-cloud-error-codes: deployments.deployment_not_found

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




























Stop instances

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

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

  • instance_ids array[string] Required

    A comma-separated list of instance identifiers.

Query parameters

  • If true and the instance does not exist then quietly proceed to the next instance, otherwise treated as an error.

    Default value is false.

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 start 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/{instance_ids}/_stop
curl \
 -X POST https://{{hostname}}/api/v1/deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_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"
      ]
    }
  ]
}