- Elastic Cloud Serverless
- Elasticsearch
- Elastic Observability
- Get started
- Observability overview
- Elastic Observability Serverless billing dimensions
- Create an Observability project
- Quickstart: Monitor hosts with Elastic Agent
- Quickstart: Monitor your Kubernetes cluster with Elastic Agent
- Quickstart: Monitor hosts with OpenTelemetry
- Quickstart: Unified Kubernetes Observability with Elastic Distributions of OpenTelemetry (EDOT)
- Quickstart: Collect data with AWS Firehose
- Get started with dashboards
- Applications and services
- Application performance monitoring (APM)
- Get started with traces and APM
- Learn about data types
- Collect application data
- View and analyze data
- Act on data
- Use APM securely
- Reduce storage
- Managed intake service event API
- Troubleshooting
- Synthetic monitoring
- Get started
- Scripting browser monitors
- Configure lightweight monitors
- Manage monitors
- Work with params and secrets
- Analyze monitor data
- Monitor resources on private networks
- Use the CLI
- Configure a Synthetics project
- Multifactor Authentication for browser monitors
- Configure Synthetics settings
- Grant users access to secured resources
- Manage data retention
- Scale and architect a deployment
- Synthetics Encryption and Security
- Troubleshooting
- Application performance monitoring (APM)
- Infrastructure and hosts
- Logs
- Inventory
- Incident management
- Data set quality
- Observability AI Assistant
- Machine learning
- Reference
- Get started
- Elastic Security
- Elastic Security overview
- Security billing dimensions
- Create a Security project
- Elastic Security requirements
- Elastic Security UI
- AI for Security
- Ingest data
- Configure endpoint protection with Elastic Defend
- Manage Elastic Defend
- Endpoints
- Policies
- Trusted applications
- Event filters
- Host isolation exceptions
- Blocklist
- Optimize Elastic Defend
- Event capture and Elastic Defend
- Endpoint protection rules
- Identify antivirus software on your hosts
- Allowlist Elastic Endpoint in third-party antivirus apps
- Elastic Endpoint self-protection features
- Elastic Endpoint command reference
- Endpoint response actions
- Cloud Security
- Explore your data
- Dashboards
- Detection engine overview
- Rules
- Alerts
- Advanced Entity Analytics
- Investigation tools
- Asset management
- Manage settings
- Troubleshooting
- Manage your project
- Changelog
Console
editConsole
editConsole lets you interact with Elasticsearch and Kibana serverless APIs from your project.
Requests are made in the left pane, and responses are displayed in the right pane.

To go to Console, find Dev Tools in the navigation menu or use the global search bar.
You can also find Console directly on your Elasticsearch Serverless project pages, where you can expand it from the footer. This Console, called Persistent Console, has the same capabilities and shares the same history as the Console in Dev Tools.
Write requests
editConsole understands commands in a cURL-like syntax.
For example, the following is a GET
request to the Elasticsearch _search
API.
GET /_search { "query": { "match_all": {} } }
Here is the equivalent command in cURL:
curl "${ES_URL}/_search" \ -H "Authorization: ApiKey ${API_KEY}" \ -H "Content-Type: application/json" \ -d' { "query": { "match_all": {} } }'
Autocomplete
editWhen you’re typing a command, Console makes context-sensitive suggestions. These suggestions show you the parameters for each API and speed up your typing.
You can configure your preferences for autocomplete in the Console settings.
Comments
editYou can write comments or temporarily disable parts of a request by using double forward slashes (//
) or pound (#
) signs to create single-line comments.
# This request searches all of your indices. GET /_search { // The query parameter indicates query context. "query": { "match_all": {} // Matches all documents. } }
You can also use a forward slash followed by an asterisk (/*
) to mark the beginning of multi-line
comments.
An asterisk followed by a forward slash (*/
) marks the end.
GET /_search { "query": { /*"match_all": { "boost": 1.2 }*/ "match_none": {} } }
Variables
editSelect Variables to create, edit, and delete variables.

You can refer to these variables in the paths and bodies of your requests. Each variable can be referenced multiple times.
GET ${pathVariable} { "query": { "match": { "${bodyNameVariable}": "${bodyValueVariable}" } } }
By default, variables in the body may be substituted as a boolean, number, array, or object by removing nearby quotes instead of a string with surrounding quotes. Triple quotes overwrite this default behavior and enforce simple replacement as a string.
Auto-formatting
editThe auto-formatting capability can help you format requests to be more readable. Select one or more requests that you want to format, open the contextual menu, and then select Auto indent.
Keyboard shortcuts
editGo to line number: Ctrl/Cmd
+ L
Auto-indent current request: Ctrl/Cmd
+ I
Jump to next request end: Ctrl/Cmd
+ ↓
Jump to previous request end: Ctrl/Cmd
+ ↑
Open documentation for current request: Ctrl/Cmd
+ /
Run current request: Ctrl/Cmd
+ Enter
Apply current or topmost term in autocomplete menu: Enter
or Tab
Close autocomplete menu: Esc
Navigate items in autocomplete menu: ↓
+ ↑
View API docs
editTo view the documentation for an API endpoint, select the request, then open the contextual menu and select Open API reference.
Run requests
editWhen you’re ready to submit the request, select the play button.
The result of the request execution is displayed in the response panel, where you can see:
- the JSON response
- the HTTP status code corresponding to the request
- The execution time, in ms.
You can select multiple requests and submit them together. Console executes the requests one by one. Submitting multiple requests is helpful when you’re debugging an issue or trying query combinations in multiple scenarios.
Import and export requests
editYou can export requests:
-
to a TXT file, by using the Export requests button. When using this method, all content of the input panel is copied, including comments, requests, and payloads. All of the formatting is preserved and allows you to re-import the file later, or to a different environment, using the Import requests button.
When importing a TXT file containing Console requests, the current content of the input panel is replaced. Export it first if you don’t want to lose it, or find it in the History tab if you already ran the requests.
-
by copying them individually as curl, JavaScript, or Python. To do this, select a request, then open the contextual menu and select Copy as. When using this action, requests are copied individually to your clipboard. You can save your favorite language to make the copy action faster the next time you use it.
When running copied requests from an external environment, you’ll need to add authentication information to the request.
Get your request history
editConsole maintains a list of the last 500 requests that you tried to execute. To view them, open the History tab.
You can run a request from your history again by selecting the request and clicking Add and run. If you want to add it back to the Console input panel without running it yet, click Add instead. It is added to the editor at the current cursor position.
Configure Console settings
editGo to the Config tab of Console to customize its display, autocomplete, and accessibility settings.
Disable Console
editYou can disable the persistent console that shows in the footer of your Elasticsearch Serverless project pages. To do that, go to Management > Advanced Settings, and turn off the devTools:enablePersistentConsole
setting.
On this page