mirror of
https://github.com/elastic/kibana.git
synced 2025-07-02 13:15:32 -04:00
* Update console-settings.png and console.png. Remove settings.png. * Fix image names and alt tags. * Remove unnecessary whitespace, backticks, and typo bracket.
200 lines
5.4 KiB
Text
200 lines
5.4 KiB
Text
[[console-kibana]]
|
||
== Run API requests
|
||
|
||
Interact with the REST APIs of {es} and {kib} with *Console*. With *Console*, you can:
|
||
|
||
* Send requests and view the responses
|
||
* View API documentation
|
||
* Get your request history
|
||
|
||
To get started, open the main menu, click *Dev Tools*, then click *Console*.
|
||
|
||
[role="screenshot"]
|
||
image::dev-tools/console/images/console.png["Console"]
|
||
|
||
[float]
|
||
[[console-api]]
|
||
=== Write requests
|
||
|
||
*Console* understands commands in a cURL-like syntax.
|
||
For example, the following is a `GET` request to the {es} `_search` API.
|
||
|
||
[source,js]
|
||
----------------------------------
|
||
GET /_search
|
||
{
|
||
"query": {
|
||
"match_all": {}
|
||
}
|
||
}
|
||
----------------------------------
|
||
|
||
Here is the equivalent command in cURL:
|
||
|
||
[source,bash]
|
||
----------------------------------
|
||
curl -XGET "http://localhost:9200/_search" -d'
|
||
{
|
||
"query": {
|
||
"match_all": {}
|
||
}
|
||
}'
|
||
----------------------------------
|
||
|
||
Prepend requests to a {kib} API endpoint with `kbn:`
|
||
|
||
[source,bash]
|
||
--------------------------------------------------
|
||
GET kbn:/api/index_management/indices
|
||
--------------------------------------------------
|
||
|
||
When you paste the command into *Console*, {kib} automatically converts it
|
||
to *Console* syntax. Alternatively, if you want to see *Console* syntax in cURL,
|
||
click the action icon (image:dev-tools/console/images/wrench.png[]) and select *Copy as cURL*.
|
||
Once copied, the username and password will need to be provided
|
||
for the calls to work from external environments.
|
||
|
||
[float]
|
||
[[console-autocomplete]]
|
||
==== Autocomplete
|
||
|
||
When you're typing a command, *Console* makes context-sensitive suggestions.
|
||
These suggestions show you the parameters for each API and speed up your typing.
|
||
To configure your preferences for autocomplete, go to
|
||
<<configuring-console, Settings>>.
|
||
|
||
[float]
|
||
[[console-comments]]
|
||
==== Comments
|
||
|
||
You can write comments or temporarily disable parts of a request by using double forward slashes
|
||
or pound signs to create single-line comments.
|
||
|
||
[source,js]
|
||
----------------------------------
|
||
# 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.
|
||
|
||
[source,js]
|
||
----------------------------------
|
||
GET /_search
|
||
{
|
||
"query": {
|
||
/*"match_all": {
|
||
"boost": 1.2
|
||
}*/
|
||
"match_none": {}
|
||
}
|
||
}
|
||
----------------------------------
|
||
|
||
[float]
|
||
[[console-variables]]
|
||
==== Variables
|
||
|
||
Click *Variables* to create, edit, and delete variables.
|
||
|
||
[role="screenshot"]
|
||
image::dev-tools/console/images/variables.png["Variables", width=60%]
|
||
|
||
You can refer to these variables in the paths and bodies of your requests.
|
||
Each variable can be referenced multiple times.
|
||
|
||
[source,js]
|
||
----------------------------------
|
||
GET ${pathVariable}
|
||
{
|
||
"query": {
|
||
"match": {
|
||
"${bodyNameVariable}": "${bodyValueVariable}"
|
||
}
|
||
}
|
||
}
|
||
----------------------------------
|
||
|
||
[float]
|
||
[[auto-formatting]]
|
||
==== Auto-formatting
|
||
|
||
The auto-formatting
|
||
capability can help you format requests. Select one or more requests that you
|
||
want to format, click the action icon (image:dev-tools/console/images/wrench.png[]),
|
||
and then select *Auto indent*.
|
||
|
||
For example, you might have a request formatted like this:
|
||
|
||
[role="screenshot"]
|
||
image::dev-tools/console/images/unformatted-request.png["Unformatted request", width=75%]
|
||
|
||
*Console* adjusts the JSON body of the request to apply the indents.
|
||
|
||
[role="screenshot"]
|
||
image::dev-tools/console/images/formatted-request.png["Formatted request", width=75%]
|
||
|
||
If you select *Auto indent* on a request that is already well formatted,
|
||
*Console* collapses the request body to a single line per document.
|
||
This is helpful when working with the {es} {ref}/docs-bulk.html[bulk APIs].
|
||
|
||
[float]
|
||
[[console-request]]
|
||
=== Submit requests
|
||
|
||
When you're ready to submit the request to {es}, click the green triangle.
|
||
|
||
You can select multiple requests and submit them together.
|
||
*Console* sends the requests to {es} one by one and shows the output
|
||
in the response pane. Submitting multiple requests is helpful
|
||
when you're debugging an issue or trying query
|
||
combinations in multiple scenarios.
|
||
|
||
[float]
|
||
[[console-view-api]]
|
||
=== View API docs
|
||
|
||
To view the documentation for an API endpoint, click
|
||
the action icon (image:dev-tools/console/images/wrench.png[]) and select
|
||
*Open documentation*.
|
||
|
||
[float]
|
||
[[console-history]]
|
||
=== Get your request history
|
||
|
||
*Console* maintains a list of the last 500 requests that {es} successfully executed.
|
||
To view your most recent requests, click *History*. If you select a request
|
||
and click *Apply*, {kib} adds it to the editor at the current cursor position.
|
||
|
||
[float]
|
||
[[configuring-console]]
|
||
=== Configure Console settings
|
||
|
||
You can configure the *Console* font size, JSON syntax,
|
||
and autocomplete suggestions in *Settings*.
|
||
|
||
[role="screenshot"]
|
||
image::dev-tools/console/images/console-settings.png["Console Settings", width=60%]
|
||
|
||
[float]
|
||
[[keyboard-shortcuts]]
|
||
=== Get keyboard shortcuts
|
||
|
||
For a list of available keyboard
|
||
shortcuts, click *Help*.
|
||
|
||
[float]
|
||
[[console-settings]]
|
||
=== Disable Console
|
||
|
||
If you don’t want to use *Console*, you can disable it by setting `console.ui.enabled`
|
||
to `false` in your `kibana.yml` configuration file. Changing this setting
|
||
causes the server to regenerate assets on the next startup,
|
||
which might cause a delay before pages start being served.
|