[[reference-esql-query]]

////////
===========================================================================================================================
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
||        ██████╗ ███████╗ █████╗ ██████╗ ███╗   ███╗███████╗                                                            ||
||        ██╔══██╗██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝                                                            ||
||        ██████╔╝█████╗  ███████║██║  ██║██╔████╔██║█████╗                                                              ||
||        ██╔══██╗██╔══╝  ██╔══██║██║  ██║██║╚██╔╝██║██╔══╝                                                              ||
||        ██║  ██║███████╗██║  ██║██████╔╝██║ ╚═╝ ██║███████╗                                                            ||
||        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚══════╝                                                            ||
||                                                                                                                       ||
||                                                                                                                       ||
||    This file is autogenerated, DO NOT send pull requests that changes this file directly.                             ||
||    You should update the script that does the generation, which can be found in:                                      ||
||    https://github.com/elastic/elastic-client-generator-js                                                             ||
||                                                                                                                       ||
||    You can run the script with the following command:                                                                 ||
||       npm run elasticsearch -- --version <version>                                                                    ||
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
===========================================================================================================================
////////

[discrete]
=== client.esql.query

Executes an ES|QL request

{ref}/esql-rest.html[{es} documentation]

[discrete]
==== Function signature

[source,ts]
----
(EsqlQueryRequest, options?): Promise<EsqlQueryResponse>
----

[discrete]
===== `EsqlQueryRequest`

[source,ts]
----
interface EsqlQueryRequest extends <<shared-type-request-base, RequestBase>> {
  format?: EsqlQueryEsqlFormat
  delimiter?: string
  drop_null_columns?: boolean
  columnar?: boolean
  filter?: QueryDslQueryContainer
  locale?: string
  params?: <<shared-type-field-value, FieldValue>>[]
  profile?: boolean
  query: string
  tables?: Record<string, Record<string, EsqlTableValuesContainer>>
}
----

[discrete]
===== `EsqlQueryResponse`

[source,ts]
----
type EsqlQueryResponse = <<shared-type-esql-columns, EsqlColumns>>
----

