---
type: api
title: Get Deployment Enterprise Search Resource Info
description: Get info about an Enterprise Search Resource belonging to a given Deployment.
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/operation/operation-get-deployment-enterprise-search-resource-info
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/operation/operation-get-deployment-enterprise-search-resource-info
products:
  - Elastic Cloud Enterprise
---

# Get Deployment Enterprise Search Resource Info

## Paths

- `GET` `/deployments/{deployment_id}/enterprise_search/{ref_id}`

- [Basic auth](/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/authentication#basicauth)
- [Api key auth](/elastic/docs-builder/docs/4371/api/doc/cloud-enterprise/authentication#apikey)

#### Path Parameters

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

## Description

Get info about an Enterprise Search Resource belonging to a given Deployment.

## Query String Parameters

- `show_metadata` (boolean · default: false)
  Whether to include the full cluster metadata in the response - can be large per cluster and also include credentials.
- `show_plans` (boolean · default: true)
  Whether to include the full current and pending plan information in the response - can be large per cluster.
- `show_plan_logs` (boolean · default: false)
  Whether to include with the current and pending plan information the attempt log - can be very large per cluster.
- `show_plan_history` (boolean · default: false)
  Whether to include with the current and pending plan information the plan history- can be very large per cluster.
- `show_plan_defaults` (boolean · default: false)
  If showing plans, whether to show values that are left at their default value (less readable but more informative).
- `show_settings` (boolean · default: false)
  Whether to show cluster settings in the response.
- `clear_transient` (boolean · default: false)
  If set (defaults to false) then removes the transient section from all child resources, making it safe to reapply via an update

## Responses

#### `200`

Standard response.

`application/json`

- `ref_id` (string)
  The locally-unique user-specified id of a Resource
- `elasticsearch_cluster_ref_id` (string)
  The Elasticsearch cluster that this resource depends on.
- `id` (string)
  The randomly-generated id of a Resource
- `region` (string)
  The region where this resource exists
- `info` ({} EnterpriseSearchInfo)
  The overview information for the Enterprise Search Server.
  - `id` (string)
    The id of the Enterprise Search
  - `name` (string)
    The name of the Enterprise Search
  - `elasticsearch_cluster` ({} TargetElasticsearchCluster)
    Information about the specified Elasticsearch cluster.
    - `elasticsearch_id` (string)
      The Elasticsearch cluster Id
    - `links` (map string to Hyperlink)
      A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation
      Map values ({} Hyperlink)
      - `need_elevated_permissions` (boolean)
        Whether the operation requires elevated permissions (when the field is present, elevated permissions are required).
  - `deployment_id` (string)
    The id of the deployment that this Enterprise Search belongs to.
  - `healthy` (boolean)
    Whether the Enterprise Search is healthy or not (one or more of the info subsections will have healthy: false)
  - `status` (enum)
    Enterprise Search status
    Values: `initializing`, `stopping`, `stopped`, `rebooting`, `restarting`, `reconfiguring`, `started`
  - `plan_info` ({} EnterpriseSearchPlansInfo)
    Information about current, pending, and past Enterprise Search Server plans.
    - `healthy` (boolean)
      Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)
    - `current` ({} EnterpriseSearchPlanInfo)
      Information about the Enterprise Search Server plan.
      - `plan_attempt_id` (string)
        A UUID for each plan attempt
      - `plan_attempt_name` (string)
        A human readable name for each plan attempt, only populated when retrieving plan histories
      - `healthy` (boolean)
        Either the plan ended successfully, or is not yet completed (and no errors have occurred)
      - `attempt_start_time` (string)
        When this plan attempt (ie to apply the plan to the Enterprise Search) started (ISO format in UTC)
      - `attempt_end_time` (string)
        If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)
      - `plan_end_time` (string)
        If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)
      - `plan` ({} EnterpriseSearchPlan)
        The plan for the Enterprise Search cluster.
        - `cluster_topology` ([] EnterpriseSearchTopologyElement)
          - `node_type` ({} EnterpriseSearchNodeTypes)
            Node types to enable for an Enterprise Search instance
            - `appserver` (boolean)
              Defines whether this instance should run as Application/API server
            - `worker` (boolean)
              Defines whether this instance should run as background worker
            - `connector` (boolean)
              Defines whether this instance should run as Connector
          - `instance_configuration_id` (string)
            Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.
          - `instance_configuration_version` (integer)
            The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.
          - `size` ({} TopologySize)
            Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.
            - `value` (integer)
              Amount of resource
            - `resource` (enum)
              Type of resource. In ESS the resource used should always be `memory`.
              Values: `memory`, `storage`
          - `zone_count` (integer)
            number of zones in which nodes will be placed
          - `enterprise_search` ({} EnterpriseSearchConfiguration)
            - `version` (string)
              The version of the Enterprise Search cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)
            - `docker_image` (string)
              A docker URI that allows overriding of the default docker image specified for this version
            - `system_settings` ({} EnterpriseSearchSystemSettings)
              This structure defines a curated subset of the Enterprise Search settings. (This field together with 'user_settings_override*' and  'user_settings*' defines the total set of Enterprise Search settings)
              - `elasticsearch_username` (string)
                Optionally override the account within Enterprise Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.
              - `elasticsearch_password` (string)
                Optionally override the account within Enterprise Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.
              - `secret_session_key` (string)
                Optionally override the secret session key within Enterprise Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.
            - `user_settings_json` (object)
              An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Enterprise Search settings)
            - `user_settings_yaml` (string)
              An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Enterprise Search settings)
            - `user_settings_override_json` (object)
              An arbitrary JSON object allowing ECE admins to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), i.e. in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Enterprise Search settings)
            - `user_settings_override_yaml` (string)
              An arbitrary YAML object allowing ECE admins to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), i.e. in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Enterprise Search settings)
          - `allocator_filter` (object)
          - `node_configuration` (string)
          - `memory_per_node` (object)
          - `node_count_per_zone` (object)
        - `enterprise_search` ({} EnterpriseSearchConfiguration)
          Same fields as `enterprise_search` in `cluster_topology`
        - `transient` ({} TransientEnterpriseSearchPlanConfiguration)
          Defines configuration parameters that control how the plan (i.e. consisting of the cluster topology and Enterprise Search settings) is applied
          - `strategy` ({} PlanStrategy)
            The options for performing a plan change. Specify only one property each time. The default is `grow_and_shrink`.
            - `rolling` ({} RollingStrategyConfig)
              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.
              - `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
              - `allow_inline_resize` (boolean)
                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
              - `skip_synced_flush` (boolean)
                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)
                The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)
            - `grow_and_shrink` (GrowShrinkStrategyConfig)
              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.
            - `rolling_grow_and_shrink` (RollingGrowShrinkStrategyConfig)
              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.
            - `autodetect` (AutodetectStrategyConfig)
              A strategy that lets constructor choose the most optimal way to execute the plan.
          - `plan_configuration` ({} EnterpriseSearchPlanControlConfiguration)
            - `timeout` (integer)
              The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)
            - `calm_wait_time` (integer)
              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` ([] InstanceMoveRequest)
              - `from` (string)
                The instance id that is going to be moved
              - `to` ([] 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)
              - `instance_down` (boolean)
                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` ([] AllocatorMoveRequest)
              - `from` (string)
                The allocator id off which all instances in the cluster should be moved
              - `to` ([] 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)
              - `allocator_down` (boolean)
                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)
            - `reallocate_instances` (boolean)
              If true (default: false) does not allow re-using any existing instances currently in the cluster, i.e. even unchanged instances will be re-created
            - `preferred_allocators` ([] string)
              List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)
            - `preferred_allocator_tags` (map string to string)
              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
            - `extended_maintenance` (boolean)
              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
            - `cluster_reboot` (enum)
              Set to 'forced' to force a reboot as part of the upgrade plan
              Values: `forced`
            - `override_failsafe` (boolean)
              If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.
      - `plan_attempt_log` ([] ClusterPlanStepInfo)
        - `step_id` (string)
          ID of current step
        - `started` (string)
          When the step started (ISO format in UTC)
        - `completed` (string)
          When the step completed (ISO format in UTC)
        - `duration_in_millis` (integer)
          The duration of the step in MS
        - `status` (enum)
          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: `success`, `warning`, `error`, `pending`
        - `stage` (enum)
          Current stage that the step is in
          Values: `starting`, `completed`, `in_progress`
        - `info_log` ([] ClusterPlanStepLogMessageInfo)
          Human readable summaries of the step, including messages for each stage of the step
          - `timestamp` (string)
            Timestamp marking on info log of step
          - `delta_in_millis` (integer)
            Time in milliseconds since previous log message
          - `stage` (enum)
            Stage that info log message takes place in
            Values: `starting`, `completed`, `in_progress`
          - `message` (string)
            Human readable log message
          - `details` (map string to string)
            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.
          - `internal_details` (map string to string)
            A json object with sensitive details for the log, visible only to admins. May contain nested json objects.
          - `failure_type` (string)
            The failure type, in case the step failed
      - `source` ({} ChangeSourceInfo)
        A container for information about the source of a change.
        - `facilitator` (string)
          The service where the change originated from
        - `action` (string)
          The type of plan change that was initiated
        - `date` (string)
          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` ([] string)
          The host addresses of the user that originated the change
      - `warnings` ([] ClusterPlanWarning)
        - `code` (string)
          A unique warning code
        - `message` (string)
          A description of the warning
        - `step_id` (string)
          The ID of the step which produced a warning, if any
      - `error` ({} ClusterPlanAttemptError)
        Information about an error during a plan attempt.
        - `timestamp` (string)
          Timestamp marking on info log of step
        - `message` (string)
          Human readable error message
        - `details` (map string to string)
          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.
        - `failure_type` (string)
          The failure type
    - `pending` ({} EnterpriseSearchPlanInfo)
      Information about the Enterprise Search Server plan.
      Same fields as `current` in `plan_info`
    - `history` ([] EnterpriseSearchPlanInfo)
      Same fields as `current` in `plan_info`
  - `metadata` ({} ClusterMetadataInfo)
    Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.
    - `version` (integer)
      The resource version number of the cluster metadata
    - `last_modified` (string)
      The most recent time the cluster metadata was changed (ISO format in UTC)
    - `endpoint` (string)
      The DNS name of the cluster endpoint, if available
    - `service_url` (string)
      The full URL to access this deployment resource
    - `aliased_endpoint` (string)
      The DNS name of the cluster endpoint derived from the deployment alias, if available
    - `aliased_url` (string)
      The full aliased URL to access this deployment resource
    - `cloud_id` (string)
      The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana (only present if both exist)
    - `raw` (object)
      An unstructured JSON representation of the public and internal state (can be filtered out via URL parameter). The contents and structure of the `raw` field can change at any time.
    - `ports` ({} ClusterMetadataPortInfo)
      Information about the ports that allow communication between the Elasticsearch cluster and various protocols.
      - `http` (integer)
        Port where the cluster listens for HTTP traffic
      - `https` (integer)
        Port where the cluster listens for HTTPS traffic
      - `transport_passthrough` (integer)
        Port where the cluster listens for transport traffic using TLS
    - `services_urls` ([] ServiceUrl)
      A list of the URLs to access services that the resource provides at this time. Note that if the service is not running or has not started yet, the URL to access it won't be available
      - `service` (string)
        Name of the service
      - `url` (string)
        The full URL to access the service
  - `topology` ({} ClusterTopologyInfo)
    The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The `ClusterTopologyInfo` also includes the instances and containers, and where they are located.
    - `healthy` (boolean)
      Whether the cluster topology is healthy (ie all instances are started and the services they run - ie elasticsearch - are available
    - `instances` ([] ClusterInstanceInfo)
      - `instance_name` (string)
        The name of the instance in Elastic Cloud
      - `instance_configuration` ({} ClusterInstanceConfigurationInfo)
        Information about a configuration that creates a Kibana instance or APM Server.
        - `id` (string)
          The id of the configuration used to create the instance
        - `name` (string)
          The name of the configuration used to create the instance
        - `config_version` (integer)
          If the IC is configuration controlled, this field is the version either being read back (reads return the latest IC unless specified by the 'config_version' URL param), or the version to update. Cannot be used in creates. For unversioned IC reads it is left empty.
        - `resource` (enum)
          The resource type of the instance configuration
          Values: `memory`, `storage`
      - `service_version` (string)
        The version of the service that the instance is running (eg Elasticsearch or Kibana), if available
      - `healthy` (boolean)
        Whether the instance is healthy (ie started and running)
      - `container_started` (boolean)
        Whether the container has started (does not tell you anything about the service -ie Elasticsearch- running inside the container)
      - `service_running` (boolean)
        Whether the service launched inside the container -ie Elasticsearch- is actually running
      - `maintenance_mode` (boolean)
        Whether the service is is maintenance mode (meaning that the proxy is not routing external traffic to it)
      - `zone` (string)
        The zone in which this instance is being allocated
      - `allocator_id` (string)
        The id of the allocator on which this instance is running (if the container is started or starting)
      - `memory` ({} ClusterInstanceMemoryInfo)
        Information about the specific instances memory capacity and its usage
        - `instance_capacity` (integer)
          The memory capacity in MB of the instance
        - `instance_capacity_planned` (integer)
          The planned memory capacity in MB of the instance (only shown when an override is present)
        - `memory_pressure` (integer)
          The % memory pressure of Elasticsearch JVM heap space if available (60-75% consider increasing capacity, >75% can incur significant performance and stability issues)
        - `native_memory_pressure` (integer)
          The % memory pressure of the instance Docker container (if available)
      - `disk` ({} ClusterInstanceDiskInfo)
        Information about the use and storage capacity of a Kibana instance or APM Server.
        - `disk_space_available` (integer)
          If known, the amount of total disk space available to the container in MB
        - `disk_space_used` (integer)
          The amount of disk space being used by the service in MB
        - `storage_multiplier` (number)
          The storage multiplier originally defined to calculate disk space.
      - `service_roles` ([] string)
        List of roles assigned to the service running in the instance. Currently only populated for Elasticsearch, with possible values: master,data,ingest,ml
      - `node_roles` ([] enum)
        A list of the node roles assigned to the service running in the instance. Currently populated only for Elasticsearch.
        Values: `master`, `ingest`, `ml`, `data_hot`, `data_content`, `data_warm`, `data_cold`, `data_frozen`, `remote_cluster_client`, `transform`, `voting_only`
      - `instance_overrides` ({} InstanceOverrides)
        - `capacity` (integer)
          Sets the memory capacity for the instances container. Requires a restart to take effect.
        - `storage_multiplier` (number)
          Overrides the disk quota multiplier for the instance
  - `external_links` ([] ExternalHyperlink · unique)
    External resources related to the Enterprise Search
    - `id` (string)
      Identifier of the external link
    - `label` (string)
      Human-readable description of the external link
    - `uri` (string)
      hyperlink to an external resource
  - `links` (map string to Hyperlink)
    A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation
    Map values ({} Hyperlink)
    - `need_elevated_permissions` (boolean)
      Whether the operation requires elevated permissions (when the field is present, elevated permissions are required).
  - `settings` ({} EnterpriseSearchSettings)
    The settings for the Enterprise Search.
    - `metadata` ({} ClusterMetadataSettings)
      The top-level configuration settings for the Elasticsearch cluster.
      - `name` (string)
        The display name of the cluster
      - `owner_id` (string)
        The user id (referencing whatever user database is in use) of the cluster owner
      - `organization_id` (string)
        The organization that owns the deployment
      - `subscription_level` (string)
        Subscription level of the cluster
      - `system_owned` (boolean)
        Indicates if a cluster is system owned (restricts the set of operations that can be performed on it)
      - `contact_email` (string)
        Contact email for the cluster
      - `hidden` (boolean)
        Whether or not this cluster is hidden from the normal clusters list
      - `resources` ({} ClusterMetadataResourcesSettings)
        The top-level configuration settings for the Elasticsearch cluster resources.
        - `cpu` ({} ClusterMetadataCpuResourcesSettings)
          Specifies the CPU resource settings for the Elasticsearch cluster.
          - `boost` (boolean)
            Indicates if the CPU boost flag is enabled or not.
          - `hard_limit` (boolean)
            Indicates if the CPU hard limit flag is enabled or not. When set to true (default), allocates CPU timeshare based on the total CPU time multiplied by the relative RAM capacity of the instance on a given host. When set to false, delegates CPU allocation to the operating system to schedule CPU timeshares.
  - `region` (string)
    The region that this Enterprise Search belongs to. Only populated in SaaS or federated ECE.
#### `404`

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

`application/json`

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

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

#### `500`

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

`application/json`

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

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

## Code Examples

#### Console

```console
GET /deployments/{deployment_id}/enterprise_search/{ref_id}
```

#### curl

```curl
curl -X GET "/deployments/{deployment_id}/enterprise_search/{ref_id}"
```

