# Get async ES|QL query results **GET /_query/async/{id}** Get the current status and available results or stored results for an ES|QL asynchronous query. If the Elasticsearch security features are enabled, only the user who first submitted the ES|QL query can retrieve the results using this API. [External documentation](https://www.elastic.co/docs/explore-analyze/query-filter/languages/esql) ## Servers - http://api.example.com: http://api.example.com () ## Authentication methods - Api key auth - Basic auth - Bearer auth ## Parameters ### Path parameters - **id** (string) The unique identifier of the query. A query ID is provided in the ES|QL async query API response for a query that does not complete in the designated time. A query ID is also provided when the request was submitted with the `keep_on_completion` parameter set to `true`. ### Query parameters - **drop_null_columns** (boolean) Indicates whether columns that are entirely `null` will be removed from the `columns` and `values` portion of the results. If `true`, the response will include an extra section under the name `all_columns` which has the name of all the columns. - **format** (string) A short version of the Accept header, for example `json` or `yaml`. - **keep_alive** (string) The period for which the query and its results are stored in the cluster. When this period expires, the query and its results are deleted, even if the query is still ongoing. - **wait_for_completion_timeout** (string) The period to wait for the request to finish. By default, the request waits for complete query results. If the request completes during the period specified in this parameter, complete query results are returned. Otherwise, the response returns an `is_running` value of `true` and no results. ## Responses ### 200 #### Body: application/json (object) - **took** (number) Time unit for milliseconds - **is_partial** (boolean) - **all_columns** (array[object]) - **columns** (array[object]) - **values** (array[array]) - **_clusters** (object) Cross-cluster search information. Present if `include_ccs_metadata` was `true` in the request and a cross-cluster search was performed. - **profile** (object) Profiling information. Present if `profile` was `true` in the request. The contents of this field are currently unstable. - **id** (string) The ID of the async query, to be used in subsequent requests to check the status or retrieve results. Also available in the `X-Elasticsearch-Async-Id` HTTP header. - **is_running** (boolean) Indicates whether the async query is still running or has completed. Also available in the `X-Elasticsearch-Async-Is-Running` HTTP header. [Powered by Bump.sh](https://bump.sh)