- Elastic Cloud Enterprise - Elastic Cloud on your Infrastructure: other versions:
- What Is Elastic Cloud Enterprise?
- Getting Started
- Configuring Your Installation
- Securing Your Installation
- Monitoring Your Installation
- Administering Your Installation
- Getting Started with Deployments
- Administering Deployments
- Change Your Deployment Configuration
- Stop Routing Requests or Pause Nodes
- Stop a Deployment
- Restart a Deployment
- Delete a Deployment
- Work with Snapshots
- Access the Elasticsearch API
- Upgrade Versions
- Editing Your User Settings
- Configure Beats and Logstash with Cloud ID
- Keep Your Clusters Healthy
- Secure Your Clusters
- Manage Your Kibana Instance
- Enable Monitoring (formerly Marvel)
- Enable Graph (Versions before 5.0)
- Connect to Your Cluster
- Troubleshooting
- RESTful API
- Using the API
- API examples
- A first API call: What deployments are there?
- Create a first deployment: Just an Elasticsearch cluster
- Applying a new plan: Resize and add high availability
- Applying a new plan: Checking on progress
- Applying a new deployment configuration: Upgrade
- Enable more stack features: Add Kibana to a deployment
- Dipping a toe into platform automation: Generate a roles token
- Customize your deployment
- Remove unwanted deployment templates and instance configurations
- API reference
- Authentication
- Clusters - Elasticsearch - CRUD
- Clusters - Elasticsearch - CRUD - Configuration
- Get cluster curation settings
- Update cluster curation settings
- Set settings overrides (all instances)
- Set settings overrides
- Set cluster name
- Get cluster metadata
- Set cluster metadata
- Get cluster metadata settings
- Update cluster metadata settings
- Cancel monitoring
- Set monitoring
- Get plan
- Update plan
- Get plan activity
- Cancel pending plan
- Get pending plan
- Set legacy security settings
- Get cluster snapshot settings
- Update cluster snapshot settings
- Clusters - Elasticsearch - Commands
- Search clusters
- Restart cluster
- Resynchronize cluster
- Shut down cluster
- Immediately create a new cluster snapshot
- Move instances (advanced)
- Start all instances
- Stop all instances
- Start maintenance mode all instances
- Stop maintenance mode all instances
- Move instances
- Start instances
- Stop instances
- Start maintenance mode
- Stop maintenance mode
- Clusters - Elasticsearch - Support
- Clusters - Kibana - CRUD
- Clusters - Kibana - CRUD - Configuration
- Clusters - Kibana - Commands
- Search clusters
- Restart cluster
- Resynchronize cluster
- Shut down cluster
- Upgrade cluster
- Move instances (advanced)
- Start all instances
- Stop all instances
- Start maintenance mode all instances
- Stop maintenance mode all instances
- Move instances
- Start instances
- Stop instances
- Start maintenance mode
- Stop maintenance mode
- Deployments - Notes
- Platform
- Platform - Allocators
- Get allocators
- Search allocators
- Delete allocator
- Get allocator
- Resynchronize allocator
- Move clusters
- Move clusters by type
- Start maintenance mode
- Stop maintenance mode
- Get allocator metadata
- Set allocator metadata
- Delete allocator metadata item
- Set allocator metadata item
- Get allocator settings
- Update allocator settings
- Set allocator settings
- Platform - Configuration - Instances - CRUD
- Platform - Configuration - Security
- Platform - Configuration - TLS
- Platform - Constructors
- Platform - License
- Platform - Repository - CRUD
- Platform - Runners
- Stack - Instance Types - CRUD
- Stack - Versions - CRUD
- Templates - Deployments
- Definitions
AllocatedInstanceStatus
AllocatorCapacity
AllocatorCapacityMemory
AllocatorHealthStatus
AllocatorInfo
AllocatorMoveRequest
AllocatorOverview
AllocatorSettings
AllocatorZoneInfo
ApmPlanControlConfiguration
BasicFailedReply
BasicFailedReplyElement
BoolQuery
CapacityConstraintsResource
ChangeSourceInfo
ClusterCommandResponse
ClusterCredentials
ClusterCrudResponse
ClusterCurationSettings
ClusterCurationSpec
ClusterInstanceConfigurationInfo
ClusterInstanceDiskInfo
ClusterInstanceInfo
ClusterInstanceMemoryInfo
ClusterLicenseInfo
ClusterMetadataCpuResourcesSettings
ClusterMetadataInfo
ClusterMetadataResourcesSettings
ClusterMetadataSettings
ClusterPlanStepInfo
ClusterPlanStepLogMessageInfo
ClusterSnapshotRepositoryDefault
ClusterSnapshotRepositoryInfo
ClusterSnapshotRepositoryReference
ClusterSnapshotRepositoryStatic
ClusterSnapshotRequest
ClusterSnapshotResponse
ClusterSnapshotSettings
ClusterSystemAlert
ClusterTopologyInfo
ClusterUpgradeInfo
CompatibleNodeTypesResource
CompatibleVersionResource
ConstructorHealthStatus
ConstructorInfo
ConstructorOverview
CreateElasticsearchClusterRequest
CreateKibanaInCreateElasticsearchRequest
CreateKibanaRequest
DeploymentTemplateInfo
DeploymentTemplateReference
DiscreteSizes
ElasticsearchClusterBlockingIssueElement
ElasticsearchClusterBlockingIssues
ElasticsearchClusterInfo
ElasticsearchClusterInstanceSettingsOverrides
ElasticsearchClusterPlan
ElasticsearchClusterPlanInfo
ElasticsearchClusterPlansInfo
ElasticsearchClusterRole
ElasticsearchClusterSecurityInfo
ElasticsearchClusterSettings
ElasticsearchClusterTopologyElement
ElasticsearchClusterUser
ElasticsearchClustersInfo
ElasticsearchConfiguration
ElasticsearchCuration
ElasticsearchInfo
ElasticsearchMasterElement
ElasticsearchMasterInfo
ElasticsearchMonitoringInfo
ElasticsearchNodeType
ElasticsearchPlanControlConfiguration
ElasticsearchReplicaElement
ElasticsearchScriptTypeSettings
ElasticsearchScriptingUserSettings
ElasticsearchShardElement
ElasticsearchShardsInfo
ElasticsearchSystemSettings
ElasticsearchUserBundle
ElasticsearchUserPlugin
ElevatePermissionsRequest
EmptyResponse
EnrollmentTokenRequest
ExistsQuery
ExternalHyperlink
GrowShrinkStrategyConfig
Hyperlink
IdResponse
InstanceConfiguration
InstanceMoveRequest
InstanceTypeResource
KibanaClusterInfo
KibanaClusterPlan
KibanaClusterPlanInfo
KibanaClusterPlansInfo
KibanaClusterTopologyElement
KibanaClustersInfo
KibanaConfiguration
KibanaPlanControlConfiguration
KibanaSubClusterInfo
KibanaSystemSettings
LegacySecuritySettings
LicenseInfo
LicenseObject
ListEnrollmentTokenElement
ListEnrollmentTokenReply
LoginRequest
LoginState
ManagedMonitoringSettings
MatchQuery
MetadataItem
MetadataItemValue
MetadataItems
MoveApmClusterConfiguration
MoveApmClusterDetails
MoveClustersCommandResponse
MoveClustersDetails
MoveClustersRequest
MoveElasticsearchClusterConfiguration
MoveElasticsearchClusterDetails
MoveKibanaClusterConfiguration
MoveKibanaClusterDetails
NestedQuery
NodeTypeResource
Note
Notes
PlanStrategy
PlatformInfo
PlatformServiceImageInfo
PlatformServiceInfo
PrefixQuery
QueryContainer
QueryStringQuery
RangeQuery
RepositoryConfig
RepositoryConfigs
RequestEnrollmentTokenReply
RestoreSnapshotApiConfiguration
RestoreSnapshotConfiguration
RestoreSnapshotRepoConfiguration
RollingGrowShrinkStrategyConfig
RollingStrategyConfig
RunnerContainerInfo
RunnerInfo
RunnerOverview
RunnerRoleInfo
RunnerRolesInfo
SearchRequest
SnapshotRepositoryConfiguration
SnapshotStatusInfo
StackVersionApmConfig
StackVersionArchiveProcessingError
StackVersionArchiveProcessingResult
StackVersionConfig
StackVersionConfigPost
StackVersionConfigs
StackVersionElasticsearchConfig
StackVersionInstanceCapacityConstraint
StackVersionKibanaConfig
StackVersionMetadata
StackVersionNodeType
StackVersionTemplateFileHash
StackVersionTemplateInfo
TargetElasticsearchCluster
TermQuery
TiebreakerTopologyElement
TlsPublicCertChain
TokenResponse
TopologySize
TransientApmPlanConfiguration
TransientElasticsearchPlanConfiguration
TransientKibanaPlanConfiguration
- Script Reference
- Release notes
- Elastic Cloud Enterprise 2.0.1
- Elastic Cloud Enterprise 2.0.0
- Elastic Cloud Enterprise 1.1.5
- Elastic Cloud Enterprise 1.1.4
- Elastic Cloud Enterprise 1.1.3
- Elastic Cloud Enterprise 1.1.2
- Elastic Cloud Enterprise 1.1.1
- Elastic Cloud Enterprise 1.1.0
- Elastic Cloud Enterprise 1.0.2
- Elastic Cloud Enterprise 1.0.1
- Elastic Cloud Enterprise 1.0.0
- About This Product
It is time to say goodbye: This version of Elastic Cloud Enterprise has reached end-of-life (EOL) and is no longer supported.
The documentation for this version is no longer being maintained. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Using the API
editUsing the API
editIn Elastic Cloud Enterprise 2.0.1, you can use API endpoints to work with:
- Authentication
- Elasticsearch clusters
- Kibana instances
- Deployments
- Deployment templates
- ECE platform infrastructure
- Elastic Stack versions
Authentication
editWe currently support basic authentication with the same admin
user and password that you use to log into the Cloud UI. The credentials are provided when you install Elastic Cloud Enterprise on your first host and can also be retrieved separately.
For operations that only read information, but don’t create, update or delete, you can also use the readonly
user to authenticate.
API calls
editThe API base path is `/api/v1/`.
You communicate with our RESTful API through the HTTP and HTTPS protocols. We recommend that you use HTTPS on port 12443, because it is much more secure.
RESTful API calls are stateless: Every request that you make happens in isolation from other calls and must include all the information necessary for ECE to fulfill the request. API requests return JSON ouput, which is a format that is machine-readable and works well for automation.
Calls to API endpoints require different request methods, depending on what they do. Here are request methods you use when communicating with our RESTful API for ECE:
- To fetch information: GET
- To add new information: POST
- To update existing information: PUT or PATCH
- To delete information: DELETE
Our API Reference, specifies the request method you need to use for each endpoint, along with supported parameters and the possible responses that you get returned.
Each API endpoint is represented as an object that contains:
- A description of what the endpoint does
- The parameters that the endpoint accepts
- The format of the request body
- The response body and all of the possible returned status codes
- Authentication requirements
For example, the slightly abridged specification for shutting down an Elasticsearch cluster that is running on ECE is:
"/clusters/elasticsearch/{cluster_id}/_shutdown": { "post": { "tags": ["ClustersElasticsearch"], "summary": "Shut down cluster", "description": "Shuts down the active Elasticsearch cluster and removes all of the cluster nodes. The cluster plan is retained. WARNING: To avoid data loss, save the data outside of the cluster before you shut the cluster down.", "operationId": "shutdown-es-cluster", "parameters": [{ "name": "cluster_id", "in": "path", "description": "The Elasticsearch cluster identifier.", "required": true, "type": "string" }, { "name": "skip_snapshot", "in": "query", "description": "When `true`, skips the snapshot when the cluster is shut down.", "required": false, "type": "boolean", "default": false }, { "name": "hide", "in": "query", "description": "Hides the clusters during shutdown. NOTE: By default, hidden clusters are not listed.", "required": false, "type": "boolean", "default": false }], "responses": { "202": { "description": "The shutdown command was issued successfully, use the \"GET\" command on the /{cluster_id} resource to monitor progress", "schema": { "$ref": "#/definitions/ClusterCommandResponse" } }, "404": { "description": "The cluster specified by {cluster_id} cannot be found (code: 'clusters.cluster_not_found')", "schema": { "$ref": "#/definitions/BasicFailedReply" } }, "449": { "description": "elevated permissions are required. (code: '\"root.needs_elevated_permissions\"')", "schema": { "$ref": "#/definitions/BasicFailedReply" } } }, ... } } },
Access the API from the Command Line
editThe simplest way to interact with the full RESTful API for ECE is from the command line through the curl
command. Endpoint URLs look like this example:
curl -k -X GET -u USER:PASSWORD https://COORDINATOR_HOST:12443/api/v1/clusters/elasticsearch
The user must have sufficient privileges, such as the admin
user.
Using HTTPS requires that you have a TLS certificate already installed. For testing purposes only, you can specify the -k
option to turn off certificate verification, as shown in our examples, or use HTTP over port 12400 until you get your TLS certificate sorted out.
If this is your first time exploring the API, you can take a look at our API examples to learn more.
Generate your own client
editTo build API clients in the language of your choice or to use your favorite OpenAPI-enabled development tool, the ECE RESTful API specification is also available in OpenAPI 2.0 format.
Alternatively, you can obtain the RESTful API specification directly from ECE:
curl -k -X GET -u USER:PASSWORD https://COORDINATOR_HOST:12443/api/v1/api-docs/swagger.json
The user must have sufficient privileges, such as the admin
user.
We use the OpenAPI specification to generate our own API Reference, but you can also use it for automation and to develop your own software layer around Elastic Cloud Enterprise. For example, you can use the API specification in the Swagger Editor to read through our reference content and to generate a client in many different languages.
To learn more, see Generating an Elastic Cloud Enterprise Client