-- :api: query-api-key :request: QueryApiKeyRequest :response: QueryApiKeyResponse -- [role="xpack"] [id="{upid}-{api}"] === Query API Key information API API Key(s) information can be queried and retrieved in a paginated fashion using this API. [id="{upid}-{api}-request"] ==== Query API Key Request The +{request}+ supports query and retrieving API key information using Elasticsearch's {ref}/query-dsl.html[Query DSL] with {ref}/paginate-search-results.html[pagination]. It supports only a subset of available query types, including: . {ref}/query-dsl-bool-query.html[Boolean query] . {ref}/query-dsl-match-all-query.html[Match all query] . {ref}/query-dsl-term-query.html[Term query] . {ref}/query-dsl-terms-query.html[Terms query] . {ref}/query-dsl-ids-query.html[IDs Query] . {ref}/query-dsl-prefix-query.html[Prefix query] . {ref}/query-dsl-wildcard-query.html[Wildcard query] . {ref}/query-dsl-range-query.html[Range query] ===== Query for all API keys In its most basic form, the request selects all API keys that the user has access to. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[query-api-key-default-request] -------------------------------------------------- ===== Query API keys with Query DSL The following query selects API keys owned by the user and also satisfy following criteria: * The API key name must begin with the word `key` * The API key name must *not* be `key-20000` ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[query-api-key-query-request] -------------------------------------------------- ===== Retrieve API keys with explicitly configured sort and paging The following request sort the API keys by their names in descending order. It also retrieves the API keys from index 1 (zero-based) and in a page size of 100. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[query-api-key-from-size-sort-request] -------------------------------------------------- ===== Deep pagination can be achieved with search after ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[query-api-key-search-after-request] -------------------------------------------------- include::../execution.asciidoc[] [id="{upid}-{api}-response"] ==== Query API Key information API Response The returned +{response}+ contains the information regarding the API keys that were requested. ["source","java",subs="attributes,callouts,macros"] -------------------------------------------------- include-tagged::{doc-tests-file}[query-api-key-from-size-sort-response] -------------------------------------------------- <1> Total number of API keys matched by the query <2> Number of API keys returned in this response <3> The list of API keys <4> If sorting is requested, each API key in the response contains its sort values.