Link Search Menu Expand Document Documentation Menu

Common REST parameters

Introduced 1.0

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.

Example 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.

Example 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.

Example 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.

Example 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.

Example 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 -.

Example request

The following request specifies filters to limit the fields returned in the response:


GET _search?filter_path=<field_name>.*,-<field_name>

Units

OpenSearch APIs support the following units.

Time units

The following table lists all supported time units.

Units Specify as
Days d
Hours h
Minutes m
Seconds s
Milliseconds ms
Microseconds micros
Nanoseconds nanos

Distance units

The following table lists all supported distance units.

Units Specify as
Miles mi or miles
Yards yd or yards
Feet ft or feet
Inches in or inch
Kilometers km or kilometers
Meters m or meters
Centimeters cm or centimeters
Millimeters mm or millimeters
Nautical miles NM, nmi, or nauticalmiles

X-Opaque-Id header

You can specify an opaque identifier for any request using the X-Opaque-Id header. This identifier is used to track tasks and deduplicate deprecation warnings in server-side logs. This identifier is used to differentiate between callers sending requests to your OpenSearch cluster. Do not specify a unique value per request.

Example request

The following request adds an opaque ID to the request:

curl -H "X-Opaque-Id: my-curl-client-1" -XGET localhost:9200/_tasks

350 characters left

Have a question? .

Want to contribute? or .