Common REST parameters
OpenSearch supports the following parameters for all REST operations:
Human-readable output
To convert output units to human-readable values (for example, 1h
for 1 hour and 1kb
for 1,024 bytes), add ?human=true
to the request URL.
Sample request
The following request requires response values to be in human-readable format:
GET <index_name>/_search?human=true
Pretty result
To get back JSON responses in a readable format, add ?pretty=true
to the request URL.
Sample request
The following request requires the response to be displayed in pretty JSON format:
GET <index_name>/_search?pretty=true
Content type
To specify the type of content in the request body, use the Content-Type
key name in the request header. Most operations support JSON, YAML, and CBOR formats.
Sample request
The following request specifies JSON format for the request body:
curl -H "Content-type: application/json" -XGET localhost:9200/_scripts/<template_name>
Request body in query string
If the client library does not accept a request body for non-POST requests, use the source
query string parameter to pass the request body. Also, specify the source_content_type
parameter with a supported media type such as application/json
.
Sample request
The following request searches the documents in the shakespeare
index for a specific field and value:
GET shakespeare/search?source={"query":{"exists":{"field":"speaker"}}}&source_content_type=application/json
Stack traces
To include the error stack trace in the response when an exception is raised, add error_trace=true
to the request URL.
Sample request
The following request sets error_trace
to true
so that the response returns exception-triggered errors:
GET <index_name>/_search?error_trace=true
Filtered responses
To reduce the response size use the filter_path
parameter to filter the fields that are returned. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with -
.
Sample request
The following request specifies filters to limit the fields returned in the response:
GET _search?filter_path=<field_name>.*,-<field_name>