diff --git a/Makefile b/Makefile index f3d8da09f0..e4e08b9b40 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ SHELL := /bin/bash +DOCS_BRANCH := 8.x validate: ## Validate a given endpoint request or response @node compiler/run-validations.js --api $(api) --type $(type) --branch $(branch) @@ -50,13 +51,13 @@ transform-expand-generics: ## Create a new schema with all generics expanded @npm run transform-expand-generics --prefix compiler transform-to-openapi: ## Generate the OpenAPI definition from the compiled schema - @npm run transform-to-openapi -- --schema output/schema/schema.json --flavor stack --output output/openapi/elasticsearch-openapi.json + @npm run transform-to-openapi -- --schema output/schema/schema.json --flavor stack --output output/openapi/elasticsearch-openapi.json --branch $(DOCS_BRANCH) @npm run transform-to-openapi -- --schema output/schema/schema.json --flavor serverless --output output/openapi/elasticsearch-serverless-openapi.json transform-to-openapi-for-docs: ## Generate the OpenAPI definition tailored for API docs generation @make generate-language-examples @make generate - @npm run transform-to-openapi -- --schema output/schema/schema.json --flavor stack --lift-enum-descriptions --merge-multipath-endpoints --multipath-redirects --include-language-examples --output output/openapi/elasticsearch-openapi-docs.json + @npm run transform-to-openapi -- --schema output/schema/schema.json --flavor stack --lift-enum-descriptions --merge-multipath-endpoints --multipath-redirects --include-language-examples --output output/openapi/elasticsearch-openapi-docs.json --branch $(DOCS_BRANCH) filter-for-serverless: ## Generate the serverless version from the compiled schema @npm run --prefix compiler filter-by-availability -- --serverless --visibility=public --input ../output/schema/schema.json --output ../output/output/openapi/elasticsearch-serverless-openapi.json diff --git a/output/openapi/elasticsearch-openapi.json b/output/openapi/elasticsearch-openapi.json index 0c878172a8..d4a4766f8f 100644 --- a/output/openapi/elasticsearch-openapi.json +++ b/output/openapi/elasticsearch-openapi.json @@ -2910,7 +2910,7 @@ "summary": "Get auto-follow patterns", "description": "Get cross-cluster replication auto-follow patterns.\n\n## Required authorization\n\n* Cluster privileges: `manage_ccr`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-auto-follow.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ccr-auto-follow.html" }, "operationId": "ccr-get-auto-follow-pattern-1", "parameters": [ @@ -2935,7 +2935,7 @@ "summary": "Create or update auto-follow patterns", "description": "Create a collection of cross-cluster replication auto-follow patterns for a remote cluster.\nNewly created indices on the remote cluster that match any of the patterns are automatically configured as follower indices.\nIndices on the remote cluster that were created before the auto-follow pattern was created will not be auto-followed even if they match the pattern.\n\nThis API can also be used to update auto-follow patterns.\nNOTE: Follower indices that were configured automatically before updating an auto-follow pattern will remain unchanged even if they do not match against the new patterns.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-auto-follow.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ccr-auto-follow.html" }, "operationId": "ccr-put-auto-follow-pattern", "parameters": [ @@ -3064,7 +3064,7 @@ "summary": "Delete auto-follow patterns", "description": "Delete a collection of cross-cluster replication auto-follow patterns.\n\n## Required authorization\n\n* Cluster privileges: `manage_ccr`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-auto-follow.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ccr-auto-follow.html" }, "operationId": "ccr-delete-auto-follow-pattern", "parameters": [ @@ -3268,7 +3268,7 @@ "summary": "Get follower information", "description": "Get information about all cross-cluster replication follower indices.\nFor example, the results include follower index names, leader index names, replication options, and whether the follower indices are active or paused.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-ccr.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/xpack-ccr.html" }, "operationId": "ccr-follow-info", "parameters": [ @@ -3340,7 +3340,7 @@ "summary": "Get follower stats", "description": "Get cross-cluster replication follower stats.\nThe API returns shard-level stats about the \"following tasks\" associated with each shard for the specified indices.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-ccr.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/xpack-ccr.html" }, "operationId": "ccr-follow-stats", "parameters": [ @@ -3407,7 +3407,7 @@ "summary": "Forget a follower", "description": "Remove the cross-cluster replication follower retention leases from the leader.\n\nA following index takes out retention leases on its leader index.\nThese leases are used to increase the likelihood that the shards of the leader index retain the history of operations that the shards of the following index need to run replication.\nWhen a follower index is converted to a regular index by the unfollow API (either by directly calling the API or by index lifecycle management tasks), these leases are removed.\nHowever, removal of the leases can fail, for example when the remote cluster containing the leader index is unavailable.\nWhile the leases will eventually expire on their own, their extended existence can cause the leader index to hold more history than necessary and prevent index lifecycle management from performing some operations on the leader index.\nThis API exists to enable manually removing the leases when the unfollow API is unable to do so.\n\nNOTE: This API does not stop replication by a following index. If you use this API with a follower index that is still actively following, the following index will add back retention leases on the leader.\nThe only purpose of this API is to handle the case of failure to remove the following retention leases after the unfollow API is invoked.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-ccr.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/xpack-ccr.html" }, "operationId": "ccr-forget-follower", "parameters": [ @@ -3500,7 +3500,7 @@ "summary": "Get auto-follow patterns", "description": "Get cross-cluster replication auto-follow patterns.\n\n## Required authorization\n\n* Cluster privileges: `manage_ccr`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-auto-follow.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ccr-auto-follow.html" }, "operationId": "ccr-get-auto-follow-pattern", "parameters": [ @@ -3524,7 +3524,7 @@ "summary": "Pause an auto-follow pattern", "description": "Pause a cross-cluster replication auto-follow pattern.\nWhen the API returns, the auto-follow pattern is inactive.\nNew indices that are created on the remote cluster and match the auto-follow patterns are ignored.\n\nYou can resume auto-following with the resume auto-follow pattern API.\nWhen it resumes, the auto-follow pattern is active again and automatically configures follower indices for newly created indices on the remote cluster that match its patterns.\nRemote indices that were created while the pattern was paused will also be followed, unless they have been deleted or closed in the interim.\n\n## Required authorization\n\n* Cluster privileges: `manage_ccr`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-auto-follow.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ccr-auto-follow.html" }, "operationId": "ccr-pause-auto-follow-pattern", "parameters": [ @@ -3631,7 +3631,7 @@ "summary": "Resume an auto-follow pattern", "description": "Resume a cross-cluster replication auto-follow pattern that was paused.\nThe auto-follow pattern will resume configuring following indices for newly created indices that match its patterns on the remote cluster.\nRemote indices created while the pattern was paused will also be followed unless they have been deleted or closed in the interim.\n\n## Required authorization\n\n* Cluster privileges: `manage_ccr`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-auto-follow.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ccr-auto-follow.html" }, "operationId": "ccr-resume-auto-follow-pattern", "parameters": [ @@ -3686,7 +3686,7 @@ "summary": "Resume a follower", "description": "Resume a cross-cluster replication follower index that was paused.\nThe follower index could have been paused with the pause follower API.\nAlternatively it could be paused due to replication that cannot be retried due to failures during following tasks.\nWhen this API returns, the follower index will resume fetching operations from the leader index.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-ccr.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/xpack-ccr.html" }, "operationId": "ccr-resume-follow", "parameters": [ @@ -3851,7 +3851,7 @@ "summary": "Unfollow an index", "description": "Convert a cross-cluster replication follower index to a regular index.\nThe API stops the following task associated with a follower index and removes index metadata and settings associated with cross-cluster replication.\nThe follower index must be paused and closed before you call the unfollow API.\n\n> info\n> Currently cross-cluster replication does not support converting an existing regular index to a follower index. Converting a follower index to a regular index is an irreversible operation.\n\n## Required authorization\n\n* Index privileges: `manage_follow_index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-ccr.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/xpack-ccr.html" }, "operationId": "ccr-unfollow", "parameters": [ @@ -3906,7 +3906,7 @@ "summary": "Run a scrolling search", "description": "IMPORTANT: The scroll API is no longer recommend for deep pagination. If you need to preserve the index state while paging through more than 10,000 hits, use the `search_after` parameter with a point in time (PIT).\n\nThe scroll API gets large sets of results from a single scrolling search request.\nTo get the necessary scroll ID, submit a search API request that includes an argument for the `scroll` query parameter.\nThe `scroll` parameter indicates how long Elasticsearch should retain the search context for the request.\nThe search response returns a scroll ID in the `_scroll_id` response body parameter.\nYou can then use the scroll ID with the scroll API to retrieve the next batch of results for the request.\nIf the Elasticsearch security features are enabled, the access to the results of a specific scroll ID is restricted to the user or API key that submitted the search.\n\nYou can also use the scroll API to specify a new scroll parameter that extends or shortens the retention period for the search context.\n\nIMPORTANT: Results from a scrolling search reflect the state of the index at the time of the initial search request. Subsequent indexing or document changes only affect later search and scroll requests.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#scroll-search-results" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/paginate-search-results.html#scroll-search-results" }, "operationId": "scroll", "parameters": [ @@ -3937,7 +3937,7 @@ "summary": "Run a scrolling search", "description": "IMPORTANT: The scroll API is no longer recommend for deep pagination. If you need to preserve the index state while paging through more than 10,000 hits, use the `search_after` parameter with a point in time (PIT).\n\nThe scroll API gets large sets of results from a single scrolling search request.\nTo get the necessary scroll ID, submit a search API request that includes an argument for the `scroll` query parameter.\nThe `scroll` parameter indicates how long Elasticsearch should retain the search context for the request.\nThe search response returns a scroll ID in the `_scroll_id` response body parameter.\nYou can then use the scroll ID with the scroll API to retrieve the next batch of results for the request.\nIf the Elasticsearch security features are enabled, the access to the results of a specific scroll ID is restricted to the user or API key that submitted the search.\n\nYou can also use the scroll API to specify a new scroll parameter that extends or shortens the retention period for the search context.\n\nIMPORTANT: Results from a scrolling search reflect the state of the index at the time of the initial search request. Subsequent indexing or document changes only affect later search and scroll requests.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#scroll-search-results" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/paginate-search-results.html#scroll-search-results" }, "operationId": "scroll-1", "parameters": [ @@ -3968,7 +3968,7 @@ "summary": "Clear a scrolling search", "description": "Clear the search context and results for a scrolling search.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#scroll-search-results" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/paginate-search-results.html#scroll-search-results" }, "operationId": "clear-scroll", "requestBody": { @@ -3990,7 +3990,7 @@ "summary": "Run a scrolling search", "description": "IMPORTANT: The scroll API is no longer recommend for deep pagination. If you need to preserve the index state while paging through more than 10,000 hits, use the `search_after` parameter with a point in time (PIT).\n\nThe scroll API gets large sets of results from a single scrolling search request.\nTo get the necessary scroll ID, submit a search API request that includes an argument for the `scroll` query parameter.\nThe `scroll` parameter indicates how long Elasticsearch should retain the search context for the request.\nThe search response returns a scroll ID in the `_scroll_id` response body parameter.\nYou can then use the scroll ID with the scroll API to retrieve the next batch of results for the request.\nIf the Elasticsearch security features are enabled, the access to the results of a specific scroll ID is restricted to the user or API key that submitted the search.\n\nYou can also use the scroll API to specify a new scroll parameter that extends or shortens the retention period for the search context.\n\nIMPORTANT: Results from a scrolling search reflect the state of the index at the time of the initial search request. Subsequent indexing or document changes only affect later search and scroll requests.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#scroll-search-results" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/paginate-search-results.html#scroll-search-results" }, "operationId": "scroll-2", "parameters": [ @@ -4024,7 +4024,7 @@ "summary": "Run a scrolling search", "description": "IMPORTANT: The scroll API is no longer recommend for deep pagination. If you need to preserve the index state while paging through more than 10,000 hits, use the `search_after` parameter with a point in time (PIT).\n\nThe scroll API gets large sets of results from a single scrolling search request.\nTo get the necessary scroll ID, submit a search API request that includes an argument for the `scroll` query parameter.\nThe `scroll` parameter indicates how long Elasticsearch should retain the search context for the request.\nThe search response returns a scroll ID in the `_scroll_id` response body parameter.\nYou can then use the scroll ID with the scroll API to retrieve the next batch of results for the request.\nIf the Elasticsearch security features are enabled, the access to the results of a specific scroll ID is restricted to the user or API key that submitted the search.\n\nYou can also use the scroll API to specify a new scroll parameter that extends or shortens the retention period for the search context.\n\nIMPORTANT: Results from a scrolling search reflect the state of the index at the time of the initial search request. Subsequent indexing or document changes only affect later search and scroll requests.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#scroll-search-results" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/paginate-search-results.html#scroll-search-results" }, "operationId": "scroll-3", "parameters": [ @@ -4058,7 +4058,7 @@ "summary": "Clear a scrolling search", "description": "Clear the search context and results for a scrolling search.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#scroll-search-results" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/paginate-search-results.html#scroll-search-results" }, "operationId": "clear-scroll-1", "parameters": [ @@ -4402,7 +4402,7 @@ "summary": "Update voting configuration exclusions", "description": "Update the cluster voting config exclusions by node IDs or node names.\nBy default, if there are more than three master-eligible nodes in the cluster and you remove fewer than half of the master-eligible nodes in the cluster at once, the voting configuration automatically shrinks.\nIf you want to shrink the voting configuration to contain fewer than three nodes or to remove half or more of the master-eligible nodes in the cluster at once, use this API to remove departing nodes from the voting configuration manually.\nThe API adds an entry for each specified node to the cluster’s voting configuration exclusions list.\nIt then waits until the cluster has reconfigured its voting configuration to exclude the specified nodes.\n\nClusters should have no voting configuration exclusions in normal operation.\nOnce the excluded nodes have stopped, clear the voting configuration exclusions with `DELETE /_cluster/voting_config_exclusions`.\nThis API waits for the nodes to be fully removed from the cluster before it returns.\nIf your cluster has voting configuration exclusions for nodes that you no longer intend to remove, use `DELETE /_cluster/voting_config_exclusions?wait_for_removal=false` to clear the voting configuration exclusions without waiting for the nodes to leave the cluster.\n\nA response to `POST /_cluster/voting_config_exclusions` with an HTTP status code of 200 OK guarantees that the node has been removed from the voting configuration and will not be reinstated until the voting configuration exclusions are cleared by calling `DELETE /_cluster/voting_config_exclusions`.\nIf the call to `POST /_cluster/voting_config_exclusions` fails or returns a response with an HTTP status code other than 200 OK then the node may not have been removed from the voting configuration.\nIn that case, you may safely retry the call.\n\nNOTE: Voting exclusions are required only when you remove at least half of the master-eligible nodes from a cluster in a short time period.\nThey are not required when removing master-ineligible nodes or when removing fewer than half of the master-eligible nodes.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/add-elasticsearch-nodes.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/add-elasticsearch-nodes.html" }, "operationId": "cluster-post-voting-config-exclusions", "parameters": [ @@ -4464,7 +4464,7 @@ "summary": "Clear cluster voting config exclusions", "description": "Remove master-eligible nodes from the voting configuration exclusion list.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/add-elasticsearch-nodes.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/add-elasticsearch-nodes.html" }, "operationId": "cluster-delete-voting-config-exclusions", "parameters": [ @@ -4538,7 +4538,7 @@ "summary": "Get cluster-wide settings", "description": "By default, it returns only settings that have been explicitly defined.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/settings.html" }, "operationId": "cluster-get-settings", "parameters": [ @@ -4631,7 +4631,7 @@ "summary": "Update the cluster settings", "description": "Configure and update dynamic settings on a running cluster.\nYou can also configure dynamic settings locally on an unstarted or shut down node in `elasticsearch.yml`.\n\nUpdates made with this API can be persistent, which apply across cluster restarts, or transient, which reset after a cluster restart.\nYou can also reset transient or persistent settings by assigning them a null value.\n\nIf you configure the same setting using multiple methods, Elasticsearch applies the settings in following order of precedence: 1) Transient setting; 2) Persistent setting; 3) `elasticsearch.yml` setting; 4) Default setting value.\nFor example, you can apply a transient setting to override a persistent setting or `elasticsearch.yml` setting.\nHowever, a change to an `elasticsearch.yml` setting will not override a defined transient or persistent setting.\n\nTIP: In Elastic Cloud, use the user settings feature to configure all cluster settings. This method automatically rejects unsafe settings that could break your cluster.\nIf you run Elasticsearch on your own hardware, use this API to configure dynamic cluster settings.\nOnly use `elasticsearch.yml` for static cluster settings and node settings.\nThe API doesn’t require a restart and ensures a setting’s value is the same on all nodes.\n\nWARNING: Transient cluster settings are no longer recommended. Use persistent cluster settings instead.\nIf a cluster becomes unstable, transient settings can clear unexpectedly, resulting in a potentially undesired cluster configuration.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/settings.html" }, "operationId": "cluster-put-settings", "parameters": [ @@ -4969,7 +4969,7 @@ "summary": "Get remote cluster information", "description": "Get information about configured remote clusters.\nThe API returns connection and endpoint information keyed by the configured remote cluster alias.\n\n> info\n> This API returns information that reflects current state on the local cluster.\n> The `connected` field does not necessarily reflect whether a remote cluster is down or unavailable, only whether there is currently an open connection to it.\n> Elasticsearch does not spontaneously try to reconnect to a disconnected remote cluster.\n> To trigger a reconnection, attempt a cross-cluster search, ES|QL cross-cluster search, or try the `/_resolve/cluster` endpoint.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cross-cluster-search.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/modules-cross-cluster-search.html" }, "operationId": "cluster-remote-info", "responses": { @@ -7409,7 +7409,7 @@ "summary": "Create a new document in the index", "description": "You can index a new JSON document with the `//_doc/` or `//_create/<_id>` APIs\nUsing `_create` guarantees that the document is indexed only if it does not already exist.\nIt returns a 409 response when a document with a same ID already exists in the index.\nTo update an existing document, you must use the `//_doc/` API.\n\nIf the Elasticsearch security features are enabled, you must have the following index privileges for the target data stream, index, or index alias:\n\n* To add a document using the `PUT //_create/<_id>` or `POST //_create/<_id>` request formats, you must have the `create_doc`, `create`, `index`, or `write` index privilege.\n* To automatically create a data stream or index with this API request, you must have the `auto_configure`, `create_index`, or `manage` index privilege.\n\nAutomatic data stream creation requires a matching index template with data stream enabled.\n\n**Automatically create data streams and indices**\n\nIf the request's target doesn't exist and matches an index template with a `data_stream` definition, the index operation automatically creates the data stream.\n\nIf the target doesn't exist and doesn't match a data stream template, the operation automatically creates the index and applies any matching index templates.\n\nNOTE: Elasticsearch includes several built-in index templates. To avoid naming collisions with these templates, refer to index pattern documentation.\n\nIf no mapping exists, the index operation creates a dynamic mapping.\nBy default, new fields and objects are automatically added to the mapping if needed.\n\nAutomatic index creation is controlled by the `action.auto_create_index` setting.\nIf it is `true`, any index can be created automatically.\nYou can modify this setting to explicitly allow or block automatic creation of indices that match specified patterns or set it to `false` to turn off automatic index creation entirely.\nSpecify a comma-separated list of patterns you want to allow or prefix each pattern with `+` or `-` to indicate whether it should be allowed or blocked.\nWhen a list is specified, the default behaviour is to disallow.\n\nNOTE: The `action.auto_create_index` setting affects the automatic creation of indices only.\nIt does not affect the creation of data streams.\n\n**Routing**\n\nBy default, shard placement — or routing — is controlled by using a hash of the document's ID value.\nFor more explicit control, the value fed into the hash function used by the router can be directly specified on a per-operation basis using the `routing` parameter.\n\nWhen setting up explicit mapping, you can also use the `_routing` field to direct the index operation to extract the routing value from the document itself.\nThis does come at the (very minimal) cost of an additional document parsing pass.\nIf the `_routing` mapping is defined and set to be required, the index operation will fail if no routing value is provided or extracted.\n\nNOTE: Data streams do not support custom routing unless they were created with the `allow_custom_routing` setting enabled in the template.\n\n**Distributed**\n\nThe index operation is directed to the primary shard based on its route and performed on the actual node containing this shard.\nAfter the primary shard completes the operation, if needed, the update is distributed to applicable replicas.\n\n**Active shards**\n\nTo improve the resiliency of writes to the system, indexing operations can be configured to wait for a certain number of active shard copies before proceeding with the operation.\nIf the requisite number of active shard copies are not available, then the write operation must wait and retry, until either the requisite shard copies have started or a timeout occurs.\nBy default, write operations only wait for the primary shards to be active before proceeding (that is to say `wait_for_active_shards` is `1`).\nThis default can be overridden in the index settings dynamically by setting `index.write.wait_for_active_shards`.\nTo alter this behavior per operation, use the `wait_for_active_shards request` parameter.\n\nValid values are all or any positive integer up to the total number of configured copies per shard in the index (which is `number_of_replicas`+1).\nSpecifying a negative value or a number greater than the number of shard copies will throw an error.\n\nFor example, suppose you have a cluster of three nodes, A, B, and C and you create an index index with the number of replicas set to 3 (resulting in 4 shard copies, one more copy than there are nodes).\nIf you attempt an indexing operation, by default the operation will only ensure the primary copy of each shard is available before proceeding.\nThis means that even if B and C went down and A hosted the primary shard copies, the indexing operation would still proceed with only one copy of the data.\nIf `wait_for_active_shards` is set on the request to `3` (and all three nodes are up), the indexing operation will require 3 active shard copies before proceeding.\nThis requirement should be met because there are 3 active nodes in the cluster, each one holding a copy of the shard.\nHowever, if you set `wait_for_active_shards` to `all` (or to `4`, which is the same in this situation), the indexing operation will not proceed as you do not have all 4 copies of each shard active in the index.\nThe operation will timeout unless a new node is brought up in the cluster to host the fourth copy of the shard.\n\nIt is important to note that this setting greatly reduces the chances of the write operation not writing to the requisite number of shard copies, but it does not completely eliminate the possibility, because this check occurs before the write operation starts.\nAfter the write operation is underway, it is still possible for replication to fail on any number of shard copies but still succeed on the primary.\nThe `_shards` section of the API response reveals the number of shard copies on which replication succeeded and failed.\n\n## Required authorization\n\n* Index privileges: `create`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-streams.html" }, "operationId": "create", "parameters": [ @@ -7476,7 +7476,7 @@ "summary": "Create a new document in the index", "description": "You can index a new JSON document with the `//_doc/` or `//_create/<_id>` APIs\nUsing `_create` guarantees that the document is indexed only if it does not already exist.\nIt returns a 409 response when a document with a same ID already exists in the index.\nTo update an existing document, you must use the `//_doc/` API.\n\nIf the Elasticsearch security features are enabled, you must have the following index privileges for the target data stream, index, or index alias:\n\n* To add a document using the `PUT //_create/<_id>` or `POST //_create/<_id>` request formats, you must have the `create_doc`, `create`, `index`, or `write` index privilege.\n* To automatically create a data stream or index with this API request, you must have the `auto_configure`, `create_index`, or `manage` index privilege.\n\nAutomatic data stream creation requires a matching index template with data stream enabled.\n\n**Automatically create data streams and indices**\n\nIf the request's target doesn't exist and matches an index template with a `data_stream` definition, the index operation automatically creates the data stream.\n\nIf the target doesn't exist and doesn't match a data stream template, the operation automatically creates the index and applies any matching index templates.\n\nNOTE: Elasticsearch includes several built-in index templates. To avoid naming collisions with these templates, refer to index pattern documentation.\n\nIf no mapping exists, the index operation creates a dynamic mapping.\nBy default, new fields and objects are automatically added to the mapping if needed.\n\nAutomatic index creation is controlled by the `action.auto_create_index` setting.\nIf it is `true`, any index can be created automatically.\nYou can modify this setting to explicitly allow or block automatic creation of indices that match specified patterns or set it to `false` to turn off automatic index creation entirely.\nSpecify a comma-separated list of patterns you want to allow or prefix each pattern with `+` or `-` to indicate whether it should be allowed or blocked.\nWhen a list is specified, the default behaviour is to disallow.\n\nNOTE: The `action.auto_create_index` setting affects the automatic creation of indices only.\nIt does not affect the creation of data streams.\n\n**Routing**\n\nBy default, shard placement — or routing — is controlled by using a hash of the document's ID value.\nFor more explicit control, the value fed into the hash function used by the router can be directly specified on a per-operation basis using the `routing` parameter.\n\nWhen setting up explicit mapping, you can also use the `_routing` field to direct the index operation to extract the routing value from the document itself.\nThis does come at the (very minimal) cost of an additional document parsing pass.\nIf the `_routing` mapping is defined and set to be required, the index operation will fail if no routing value is provided or extracted.\n\nNOTE: Data streams do not support custom routing unless they were created with the `allow_custom_routing` setting enabled in the template.\n\n**Distributed**\n\nThe index operation is directed to the primary shard based on its route and performed on the actual node containing this shard.\nAfter the primary shard completes the operation, if needed, the update is distributed to applicable replicas.\n\n**Active shards**\n\nTo improve the resiliency of writes to the system, indexing operations can be configured to wait for a certain number of active shard copies before proceeding with the operation.\nIf the requisite number of active shard copies are not available, then the write operation must wait and retry, until either the requisite shard copies have started or a timeout occurs.\nBy default, write operations only wait for the primary shards to be active before proceeding (that is to say `wait_for_active_shards` is `1`).\nThis default can be overridden in the index settings dynamically by setting `index.write.wait_for_active_shards`.\nTo alter this behavior per operation, use the `wait_for_active_shards request` parameter.\n\nValid values are all or any positive integer up to the total number of configured copies per shard in the index (which is `number_of_replicas`+1).\nSpecifying a negative value or a number greater than the number of shard copies will throw an error.\n\nFor example, suppose you have a cluster of three nodes, A, B, and C and you create an index index with the number of replicas set to 3 (resulting in 4 shard copies, one more copy than there are nodes).\nIf you attempt an indexing operation, by default the operation will only ensure the primary copy of each shard is available before proceeding.\nThis means that even if B and C went down and A hosted the primary shard copies, the indexing operation would still proceed with only one copy of the data.\nIf `wait_for_active_shards` is set on the request to `3` (and all three nodes are up), the indexing operation will require 3 active shard copies before proceeding.\nThis requirement should be met because there are 3 active nodes in the cluster, each one holding a copy of the shard.\nHowever, if you set `wait_for_active_shards` to `all` (or to `4`, which is the same in this situation), the indexing operation will not proceed as you do not have all 4 copies of each shard active in the index.\nThe operation will timeout unless a new node is brought up in the cluster to host the fourth copy of the shard.\n\nIt is important to note that this setting greatly reduces the chances of the write operation not writing to the requisite number of shard copies, but it does not completely eliminate the possibility, because this check occurs before the write operation starts.\nAfter the write operation is underway, it is still possible for replication to fail on any number of shard copies but still succeed on the primary.\nThe `_shards` section of the API response reveals the number of shard copies on which replication succeeded and failed.\n\n## Required authorization\n\n* Index privileges: `create`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-streams.html" }, "operationId": "create-1", "parameters": [ @@ -7884,7 +7884,7 @@ "summary": "Create or update a document in an index", "description": "Add a JSON document to the specified data stream or index and make it searchable.\nIf the target is an index and the document already exists, the request updates the document and increments its version.\n\nNOTE: You cannot use this API to send update requests for existing documents in a data stream.\n\nIf the Elasticsearch security features are enabled, you must have the following index privileges for the target data stream, index, or index alias:\n\n* To add or overwrite a document using the `PUT //_doc/<_id>` request format, you must have the `create`, `index`, or `write` index privilege.\n* To add a document using the `POST //_doc/` request format, you must have the `create_doc`, `create`, `index`, or `write` index privilege.\n* To automatically create a data stream or index with this API request, you must have the `auto_configure`, `create_index`, or `manage` index privilege.\n\nAutomatic data stream creation requires a matching index template with data stream enabled.\n\nNOTE: Replica shards might not all be started when an indexing operation returns successfully.\nBy default, only the primary is required. Set `wait_for_active_shards` to change this default behavior.\n\n**Automatically create data streams and indices**\n\nIf the request's target doesn't exist and matches an index template with a `data_stream` definition, the index operation automatically creates the data stream.\n\nIf the target doesn't exist and doesn't match a data stream template, the operation automatically creates the index and applies any matching index templates.\n\nNOTE: Elasticsearch includes several built-in index templates. To avoid naming collisions with these templates, refer to index pattern documentation.\n\nIf no mapping exists, the index operation creates a dynamic mapping.\nBy default, new fields and objects are automatically added to the mapping if needed.\n\nAutomatic index creation is controlled by the `action.auto_create_index` setting.\nIf it is `true`, any index can be created automatically.\nYou can modify this setting to explicitly allow or block automatic creation of indices that match specified patterns or set it to `false` to turn off automatic index creation entirely.\nSpecify a comma-separated list of patterns you want to allow or prefix each pattern with `+` or `-` to indicate whether it should be allowed or blocked.\nWhen a list is specified, the default behaviour is to disallow.\n\nNOTE: The `action.auto_create_index` setting affects the automatic creation of indices only.\nIt does not affect the creation of data streams.\n\n**Optimistic concurrency control**\n\nIndex operations can be made conditional and only be performed if the last modification to the document was assigned the sequence number and primary term specified by the `if_seq_no` and `if_primary_term` parameters.\nIf a mismatch is detected, the operation will result in a `VersionConflictException` and a status code of `409`.\n\n**Routing**\n\nBy default, shard placement — or routing — is controlled by using a hash of the document's ID value.\nFor more explicit control, the value fed into the hash function used by the router can be directly specified on a per-operation basis using the `routing` parameter.\n\nWhen setting up explicit mapping, you can also use the `_routing` field to direct the index operation to extract the routing value from the document itself.\nThis does come at the (very minimal) cost of an additional document parsing pass.\nIf the `_routing` mapping is defined and set to be required, the index operation will fail if no routing value is provided or extracted.\n\nNOTE: Data streams do not support custom routing unless they were created with the `allow_custom_routing` setting enabled in the template.\n\n**Distributed**\n\nThe index operation is directed to the primary shard based on its route and performed on the actual node containing this shard.\nAfter the primary shard completes the operation, if needed, the update is distributed to applicable replicas.\n\n**Active shards**\n\nTo improve the resiliency of writes to the system, indexing operations can be configured to wait for a certain number of active shard copies before proceeding with the operation.\nIf the requisite number of active shard copies are not available, then the write operation must wait and retry, until either the requisite shard copies have started or a timeout occurs.\nBy default, write operations only wait for the primary shards to be active before proceeding (that is to say `wait_for_active_shards` is `1`).\nThis default can be overridden in the index settings dynamically by setting `index.write.wait_for_active_shards`.\nTo alter this behavior per operation, use the `wait_for_active_shards request` parameter.\n\nValid values are all or any positive integer up to the total number of configured copies per shard in the index (which is `number_of_replicas`+1).\nSpecifying a negative value or a number greater than the number of shard copies will throw an error.\n\nFor example, suppose you have a cluster of three nodes, A, B, and C and you create an index index with the number of replicas set to 3 (resulting in 4 shard copies, one more copy than there are nodes).\nIf you attempt an indexing operation, by default the operation will only ensure the primary copy of each shard is available before proceeding.\nThis means that even if B and C went down and A hosted the primary shard copies, the indexing operation would still proceed with only one copy of the data.\nIf `wait_for_active_shards` is set on the request to `3` (and all three nodes are up), the indexing operation will require 3 active shard copies before proceeding.\nThis requirement should be met because there are 3 active nodes in the cluster, each one holding a copy of the shard.\nHowever, if you set `wait_for_active_shards` to `all` (or to `4`, which is the same in this situation), the indexing operation will not proceed as you do not have all 4 copies of each shard active in the index.\nThe operation will timeout unless a new node is brought up in the cluster to host the fourth copy of the shard.\n\nIt is important to note that this setting greatly reduces the chances of the write operation not writing to the requisite number of shard copies, but it does not completely eliminate the possibility, because this check occurs before the write operation starts.\nAfter the write operation is underway, it is still possible for replication to fail on any number of shard copies but still succeed on the primary.\nThe `_shards` section of the API response reveals the number of shard copies on which replication succeeded and failed.\n\n**No operation (noop) updates**\n\nWhen updating a document by using this API, a new version of the document is always created even if the document hasn't changed.\nIf this isn't acceptable use the `_update` API with `detect_noop` set to `true`.\nThe `detect_noop` option isn't available on this API because it doesn’t fetch the old source and isn't able to compare it against the new source.\n\nThere isn't a definitive rule for when noop updates aren't acceptable.\nIt's a combination of lots of factors like how frequently your data source sends updates that are actually noops and how many queries per second Elasticsearch runs on the shard receiving the updates.\n\n**Versioning**\n\nEach indexed document is given a version number.\nBy default, internal versioning is used that starts at 1 and increments with each update, deletes included.\nOptionally, the version number can be set to an external value (for example, if maintained in a database).\nTo enable this functionality, `version_type` should be set to `external`.\nThe value provided must be a numeric, long value greater than or equal to 0, and less than around `9.2e+18`.\n\nNOTE: Versioning is completely real time, and is not affected by the near real time aspects of search operations.\nIf no version is provided, the operation runs without any version checks.\n\nWhen using the external version type, the system checks to see if the version number passed to the index request is greater than the version of the currently stored document.\nIf true, the document will be indexed and the new version number used.\nIf the value provided is less than or equal to the stored document's version number, a version conflict will occur and the index operation will fail. For example:\n\n```\nPUT my-index-000001/_doc/1?version=2&version_type=external\n{\n \"user\": {\n \"id\": \"elkbee\"\n }\n}\n\nIn this example, the operation will succeed since the supplied version of 2 is higher than the current document version of 1.\nIf the document was already updated and its version was set to 2 or higher, the indexing command will fail and result in a conflict (409 HTTP status code).\n\nA nice side effect is that there is no need to maintain strict ordering of async indexing operations run as a result of changes to a source database, as long as version numbers from the source database are used.\nEven the simple case of updating the Elasticsearch index using data from a database is simplified if external versioning is used, as only the latest version will be used if the index operations arrive out of order.\n\n## Required authorization\n\n* Index privileges: `index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-streams.html" }, "operationId": "index", "parameters": [ @@ -7948,7 +7948,7 @@ "summary": "Create or update a document in an index", "description": "Add a JSON document to the specified data stream or index and make it searchable.\nIf the target is an index and the document already exists, the request updates the document and increments its version.\n\nNOTE: You cannot use this API to send update requests for existing documents in a data stream.\n\nIf the Elasticsearch security features are enabled, you must have the following index privileges for the target data stream, index, or index alias:\n\n* To add or overwrite a document using the `PUT //_doc/<_id>` request format, you must have the `create`, `index`, or `write` index privilege.\n* To add a document using the `POST //_doc/` request format, you must have the `create_doc`, `create`, `index`, or `write` index privilege.\n* To automatically create a data stream or index with this API request, you must have the `auto_configure`, `create_index`, or `manage` index privilege.\n\nAutomatic data stream creation requires a matching index template with data stream enabled.\n\nNOTE: Replica shards might not all be started when an indexing operation returns successfully.\nBy default, only the primary is required. Set `wait_for_active_shards` to change this default behavior.\n\n**Automatically create data streams and indices**\n\nIf the request's target doesn't exist and matches an index template with a `data_stream` definition, the index operation automatically creates the data stream.\n\nIf the target doesn't exist and doesn't match a data stream template, the operation automatically creates the index and applies any matching index templates.\n\nNOTE: Elasticsearch includes several built-in index templates. To avoid naming collisions with these templates, refer to index pattern documentation.\n\nIf no mapping exists, the index operation creates a dynamic mapping.\nBy default, new fields and objects are automatically added to the mapping if needed.\n\nAutomatic index creation is controlled by the `action.auto_create_index` setting.\nIf it is `true`, any index can be created automatically.\nYou can modify this setting to explicitly allow or block automatic creation of indices that match specified patterns or set it to `false` to turn off automatic index creation entirely.\nSpecify a comma-separated list of patterns you want to allow or prefix each pattern with `+` or `-` to indicate whether it should be allowed or blocked.\nWhen a list is specified, the default behaviour is to disallow.\n\nNOTE: The `action.auto_create_index` setting affects the automatic creation of indices only.\nIt does not affect the creation of data streams.\n\n**Optimistic concurrency control**\n\nIndex operations can be made conditional and only be performed if the last modification to the document was assigned the sequence number and primary term specified by the `if_seq_no` and `if_primary_term` parameters.\nIf a mismatch is detected, the operation will result in a `VersionConflictException` and a status code of `409`.\n\n**Routing**\n\nBy default, shard placement — or routing — is controlled by using a hash of the document's ID value.\nFor more explicit control, the value fed into the hash function used by the router can be directly specified on a per-operation basis using the `routing` parameter.\n\nWhen setting up explicit mapping, you can also use the `_routing` field to direct the index operation to extract the routing value from the document itself.\nThis does come at the (very minimal) cost of an additional document parsing pass.\nIf the `_routing` mapping is defined and set to be required, the index operation will fail if no routing value is provided or extracted.\n\nNOTE: Data streams do not support custom routing unless they were created with the `allow_custom_routing` setting enabled in the template.\n\n**Distributed**\n\nThe index operation is directed to the primary shard based on its route and performed on the actual node containing this shard.\nAfter the primary shard completes the operation, if needed, the update is distributed to applicable replicas.\n\n**Active shards**\n\nTo improve the resiliency of writes to the system, indexing operations can be configured to wait for a certain number of active shard copies before proceeding with the operation.\nIf the requisite number of active shard copies are not available, then the write operation must wait and retry, until either the requisite shard copies have started or a timeout occurs.\nBy default, write operations only wait for the primary shards to be active before proceeding (that is to say `wait_for_active_shards` is `1`).\nThis default can be overridden in the index settings dynamically by setting `index.write.wait_for_active_shards`.\nTo alter this behavior per operation, use the `wait_for_active_shards request` parameter.\n\nValid values are all or any positive integer up to the total number of configured copies per shard in the index (which is `number_of_replicas`+1).\nSpecifying a negative value or a number greater than the number of shard copies will throw an error.\n\nFor example, suppose you have a cluster of three nodes, A, B, and C and you create an index index with the number of replicas set to 3 (resulting in 4 shard copies, one more copy than there are nodes).\nIf you attempt an indexing operation, by default the operation will only ensure the primary copy of each shard is available before proceeding.\nThis means that even if B and C went down and A hosted the primary shard copies, the indexing operation would still proceed with only one copy of the data.\nIf `wait_for_active_shards` is set on the request to `3` (and all three nodes are up), the indexing operation will require 3 active shard copies before proceeding.\nThis requirement should be met because there are 3 active nodes in the cluster, each one holding a copy of the shard.\nHowever, if you set `wait_for_active_shards` to `all` (or to `4`, which is the same in this situation), the indexing operation will not proceed as you do not have all 4 copies of each shard active in the index.\nThe operation will timeout unless a new node is brought up in the cluster to host the fourth copy of the shard.\n\nIt is important to note that this setting greatly reduces the chances of the write operation not writing to the requisite number of shard copies, but it does not completely eliminate the possibility, because this check occurs before the write operation starts.\nAfter the write operation is underway, it is still possible for replication to fail on any number of shard copies but still succeed on the primary.\nThe `_shards` section of the API response reveals the number of shard copies on which replication succeeded and failed.\n\n**No operation (noop) updates**\n\nWhen updating a document by using this API, a new version of the document is always created even if the document hasn't changed.\nIf this isn't acceptable use the `_update` API with `detect_noop` set to `true`.\nThe `detect_noop` option isn't available on this API because it doesn’t fetch the old source and isn't able to compare it against the new source.\n\nThere isn't a definitive rule for when noop updates aren't acceptable.\nIt's a combination of lots of factors like how frequently your data source sends updates that are actually noops and how many queries per second Elasticsearch runs on the shard receiving the updates.\n\n**Versioning**\n\nEach indexed document is given a version number.\nBy default, internal versioning is used that starts at 1 and increments with each update, deletes included.\nOptionally, the version number can be set to an external value (for example, if maintained in a database).\nTo enable this functionality, `version_type` should be set to `external`.\nThe value provided must be a numeric, long value greater than or equal to 0, and less than around `9.2e+18`.\n\nNOTE: Versioning is completely real time, and is not affected by the near real time aspects of search operations.\nIf no version is provided, the operation runs without any version checks.\n\nWhen using the external version type, the system checks to see if the version number passed to the index request is greater than the version of the currently stored document.\nIf true, the document will be indexed and the new version number used.\nIf the value provided is less than or equal to the stored document's version number, a version conflict will occur and the index operation will fail. For example:\n\n```\nPUT my-index-000001/_doc/1?version=2&version_type=external\n{\n \"user\": {\n \"id\": \"elkbee\"\n }\n}\n\nIn this example, the operation will succeed since the supplied version of 2 is higher than the current document version of 1.\nIf the document was already updated and its version was set to 2 or higher, the indexing command will fail and result in a conflict (409 HTTP status code).\n\nA nice side effect is that there is no need to maintain strict ordering of async indexing operations run as a result of changes to a source database, as long as version numbers from the source database are used.\nEven the simple case of updating the Elasticsearch index using data from a database is simplified if external versioning is used, as only the latest version will be used if the index operations arrive out of order.\n\n## Required authorization\n\n* Index privileges: `index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-streams.html" }, "operationId": "index-1", "parameters": [ @@ -8834,7 +8834,7 @@ "summary": "Create or update a script or search template", "description": "Creates or updates a stored script or search template.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "put-script", "parameters": [ @@ -8868,7 +8868,7 @@ "summary": "Create or update a script or search template", "description": "Creates or updates a stored script or search template.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "put-script-1", "parameters": [ @@ -9405,7 +9405,7 @@ "summary": "Get EQL search results", "description": "Returns search results for an Event Query Language (EQL) query.\nEQL assumes each document in a data stream or index corresponds to an event.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/eql.html" }, "operationId": "eql-search", "parameters": [ @@ -9454,7 +9454,7 @@ "summary": "Get EQL search results", "description": "Returns search results for an Event Query Language (EQL) query.\nEQL assumes each document in a data stream or index corresponds to an event.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/eql.html" }, "operationId": "eql-search-1", "parameters": [ @@ -9505,7 +9505,7 @@ "summary": "Run an async ES|QL query", "description": "Asynchronously run an ES|QL (Elasticsearch query language) query, monitor its progress, and retrieve results when they become available.\n\nThe API accepts the same parameters and request body as the synchronous query API, along with additional async related properties.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/esql.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/esql.html" }, "operationId": "esql-async-query", "parameters": [ @@ -9642,7 +9642,7 @@ "summary": "Get async ES|QL query results", "description": "Get the current status and available results or stored results for an ES|QL asynchronous query.\nIf the Elasticsearch security features are enabled, only the user who first submitted the ES|QL query can retrieve the results using this API.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/esql.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/esql.html" }, "operationId": "esql-async-query-get", "parameters": [ @@ -9719,7 +9719,7 @@ "summary": "Delete an async ES|QL query", "description": "If the query is still running, it is cancelled.\nOtherwise, the stored results are deleted.\n\nIf the Elasticsearch security features are enabled, only the following users can use this API to delete a query:\n\n* The authenticated user that submitted the original query request\n* Users with the `cancel_task` cluster privilege", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/esql.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/esql.html" }, "operationId": "esql-async-query-delete", "parameters": [ @@ -9758,7 +9758,7 @@ "summary": "Stop async ES|QL query", "description": "This API interrupts the query execution and returns the results so far.\nIf the Elasticsearch security features are enabled, only the user who first submitted the ES|QL query can stop it.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/esql.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/esql.html" }, "operationId": "esql-async-query-stop", "parameters": [ @@ -9807,7 +9807,7 @@ "summary": "Run an ES|QL query", "description": "Get search results for an ES|QL (Elasticsearch query language) query.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/esql.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/esql.html" }, "operationId": "esql-query", "parameters": [ @@ -9935,7 +9935,7 @@ "summary": "Get a document's source", "description": "Get the source of a document.\nFor example:\n\n```\nGET my-index-000001/_source/1\n```\n\nYou can use the source filtering parameters to control which parts of the `_source` are returned:\n\n```\nGET my-index-000001/_source/1/?_source_includes=*.id&_source_excludes=entities\n```\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-source-field.html" }, "operationId": "get-source", "parameters": [ @@ -10083,7 +10083,7 @@ "summary": "Check for a document source", "description": "Check whether a document source exists in an index.\nFor example:\n\n```\nHEAD my-index-000001/_source/1\n```\n\nA document's source is not available if it is disabled in the mapping.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-source-field.html" }, "operationId": "exists-source", "parameters": [ @@ -10343,7 +10343,7 @@ "summary": "Get the features", "description": "Get a list of features that can be included in snapshots using the `feature_states` field when creating a snapshot.\nYou can use this API to determine which feature states to include when taking a snapshot.\nBy default, all feature states are included in a snapshot if that snapshot includes the global state, or none if it does not.\n\nA feature state includes one or more system indices necessary for a given feature to function.\nIn order to ensure data integrity, all system indices that comprise a feature state are snapshotted and restored together.\n\nThe features listed by this API are a combination of built-in features and features defined by plugins.\nIn order for a feature state to be listed in this API and recognized as a valid feature state by the create snapshot API, the plugin that defines that feature must be installed on the master node.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-take-snapshot.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-take-snapshot.html" }, "operationId": "features-get-features", "parameters": [ @@ -10733,7 +10733,7 @@ "summary": "Executes several fleet searches with a single API request", "description": "The API follows the same structure as the multi search (`_msearch`) API.\nHowever, similar to the fleet search API, it supports the `wait_for_checkpoints` parameter.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-multi-search.html" }, "operationId": "fleet-msearch", "parameters": [ @@ -10794,7 +10794,7 @@ "summary": "Executes several fleet searches with a single API request", "description": "The API follows the same structure as the multi search (`_msearch`) API.\nHowever, similar to the fleet search API, it supports the `wait_for_checkpoints` parameter.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-multi-search.html" }, "operationId": "fleet-msearch-1", "parameters": [ @@ -10857,7 +10857,7 @@ "summary": "Executes several fleet searches with a single API request", "description": "The API follows the same structure as the multi search (`_msearch`) API.\nHowever, similar to the fleet search API, it supports the `wait_for_checkpoints` parameter.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-multi-search.html" }, "operationId": "fleet-msearch-2", "parameters": [ @@ -10921,7 +10921,7 @@ "summary": "Executes several fleet searches with a single API request", "description": "The API follows the same structure as the multi search (`_msearch`) API.\nHowever, similar to the fleet search API, it supports the `wait_for_checkpoints` parameter.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-multi-search.html" }, "operationId": "fleet-msearch-3", "parameters": [ @@ -11372,7 +11372,7 @@ "summary": "Explore graph analytics", "description": "Extract and summarize information about the documents and terms in an Elasticsearch data stream or index.\nThe easiest way to understand the behavior of this API is to use the Graph UI to explore connections.\nAn initial request to the `_explore` API contains a seed query that identifies the documents of interest and specifies the fields that define the vertices and connections you want to include in the graph.\nSubsequent requests enable you to spider out from one more vertices of interest.\nYou can exclude vertices that have already been returned.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/kibana/current/xpack-graph.html" + "url": "https://www.elastic.co/guide/en/kibana/8.x/xpack-graph.html" }, "operationId": "graph-explore", "parameters": [ @@ -11403,7 +11403,7 @@ "summary": "Explore graph analytics", "description": "Extract and summarize information about the documents and terms in an Elasticsearch data stream or index.\nThe easiest way to understand the behavior of this API is to use the Graph UI to explore connections.\nAn initial request to the `_explore` API contains a seed query that identifies the documents of interest and specifies the fields that define the vertices and connections you want to include in the graph.\nSubsequent requests enable you to spider out from one more vertices of interest.\nYou can exclude vertices that have already been returned.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/kibana/current/xpack-graph.html" + "url": "https://www.elastic.co/guide/en/kibana/8.x/xpack-graph.html" }, "operationId": "graph-explore-1", "parameters": [ @@ -11518,7 +11518,7 @@ "summary": "Create or update a lifecycle policy", "description": "If the specified policy exists, it is replaced and the policy version is incremented.\n\nNOTE: Only the latest version of the policy is stored, you cannot revert to previous versions.\n\n## Required authorization\n\n* Index privileges: `manage`\n* Cluster privileges: `manage_ilm`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-index-lifecycle.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ilm-index-lifecycle.html" }, "operationId": "ilm-put-lifecycle", "parameters": [ @@ -11807,7 +11807,7 @@ "summary": "Migrate to data tiers routing", "description": "Switch the indices, ILM policies, and legacy, composable, and component templates from using custom node attributes and attribute-based allocation filters to using data tiers.\nOptionally, delete one legacy index template.\nUsing node roles enables ILM to automatically move the indices between data tiers.\n\nMigrating away from custom node attributes routing can be manually performed.\nThis API provides an automated way of performing three out of the four manual steps listed in the migration guide:\n\n1. Stop setting the custom hot attribute on new indices.\n1. Remove custom allocation settings from existing ILM policies.\n1. Replace custom allocation settings from existing indices with the corresponding tier preference.\n\nILM must be stopped before performing the migration.\nUse the stop ILM and get ILM status APIs to wait until the reported operation mode is `STOPPED`.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/migrate-index-allocation-filters.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/migrate-index-allocation-filters.html" }, "operationId": "ilm-migrate-to-data-tiers", "parameters": [ @@ -12193,7 +12193,7 @@ "summary": "Create or update a document in an index", "description": "Add a JSON document to the specified data stream or index and make it searchable.\nIf the target is an index and the document already exists, the request updates the document and increments its version.\n\nNOTE: You cannot use this API to send update requests for existing documents in a data stream.\n\nIf the Elasticsearch security features are enabled, you must have the following index privileges for the target data stream, index, or index alias:\n\n* To add or overwrite a document using the `PUT //_doc/<_id>` request format, you must have the `create`, `index`, or `write` index privilege.\n* To add a document using the `POST //_doc/` request format, you must have the `create_doc`, `create`, `index`, or `write` index privilege.\n* To automatically create a data stream or index with this API request, you must have the `auto_configure`, `create_index`, or `manage` index privilege.\n\nAutomatic data stream creation requires a matching index template with data stream enabled.\n\nNOTE: Replica shards might not all be started when an indexing operation returns successfully.\nBy default, only the primary is required. Set `wait_for_active_shards` to change this default behavior.\n\n**Automatically create data streams and indices**\n\nIf the request's target doesn't exist and matches an index template with a `data_stream` definition, the index operation automatically creates the data stream.\n\nIf the target doesn't exist and doesn't match a data stream template, the operation automatically creates the index and applies any matching index templates.\n\nNOTE: Elasticsearch includes several built-in index templates. To avoid naming collisions with these templates, refer to index pattern documentation.\n\nIf no mapping exists, the index operation creates a dynamic mapping.\nBy default, new fields and objects are automatically added to the mapping if needed.\n\nAutomatic index creation is controlled by the `action.auto_create_index` setting.\nIf it is `true`, any index can be created automatically.\nYou can modify this setting to explicitly allow or block automatic creation of indices that match specified patterns or set it to `false` to turn off automatic index creation entirely.\nSpecify a comma-separated list of patterns you want to allow or prefix each pattern with `+` or `-` to indicate whether it should be allowed or blocked.\nWhen a list is specified, the default behaviour is to disallow.\n\nNOTE: The `action.auto_create_index` setting affects the automatic creation of indices only.\nIt does not affect the creation of data streams.\n\n**Optimistic concurrency control**\n\nIndex operations can be made conditional and only be performed if the last modification to the document was assigned the sequence number and primary term specified by the `if_seq_no` and `if_primary_term` parameters.\nIf a mismatch is detected, the operation will result in a `VersionConflictException` and a status code of `409`.\n\n**Routing**\n\nBy default, shard placement — or routing — is controlled by using a hash of the document's ID value.\nFor more explicit control, the value fed into the hash function used by the router can be directly specified on a per-operation basis using the `routing` parameter.\n\nWhen setting up explicit mapping, you can also use the `_routing` field to direct the index operation to extract the routing value from the document itself.\nThis does come at the (very minimal) cost of an additional document parsing pass.\nIf the `_routing` mapping is defined and set to be required, the index operation will fail if no routing value is provided or extracted.\n\nNOTE: Data streams do not support custom routing unless they were created with the `allow_custom_routing` setting enabled in the template.\n\n**Distributed**\n\nThe index operation is directed to the primary shard based on its route and performed on the actual node containing this shard.\nAfter the primary shard completes the operation, if needed, the update is distributed to applicable replicas.\n\n**Active shards**\n\nTo improve the resiliency of writes to the system, indexing operations can be configured to wait for a certain number of active shard copies before proceeding with the operation.\nIf the requisite number of active shard copies are not available, then the write operation must wait and retry, until either the requisite shard copies have started or a timeout occurs.\nBy default, write operations only wait for the primary shards to be active before proceeding (that is to say `wait_for_active_shards` is `1`).\nThis default can be overridden in the index settings dynamically by setting `index.write.wait_for_active_shards`.\nTo alter this behavior per operation, use the `wait_for_active_shards request` parameter.\n\nValid values are all or any positive integer up to the total number of configured copies per shard in the index (which is `number_of_replicas`+1).\nSpecifying a negative value or a number greater than the number of shard copies will throw an error.\n\nFor example, suppose you have a cluster of three nodes, A, B, and C and you create an index index with the number of replicas set to 3 (resulting in 4 shard copies, one more copy than there are nodes).\nIf you attempt an indexing operation, by default the operation will only ensure the primary copy of each shard is available before proceeding.\nThis means that even if B and C went down and A hosted the primary shard copies, the indexing operation would still proceed with only one copy of the data.\nIf `wait_for_active_shards` is set on the request to `3` (and all three nodes are up), the indexing operation will require 3 active shard copies before proceeding.\nThis requirement should be met because there are 3 active nodes in the cluster, each one holding a copy of the shard.\nHowever, if you set `wait_for_active_shards` to `all` (or to `4`, which is the same in this situation), the indexing operation will not proceed as you do not have all 4 copies of each shard active in the index.\nThe operation will timeout unless a new node is brought up in the cluster to host the fourth copy of the shard.\n\nIt is important to note that this setting greatly reduces the chances of the write operation not writing to the requisite number of shard copies, but it does not completely eliminate the possibility, because this check occurs before the write operation starts.\nAfter the write operation is underway, it is still possible for replication to fail on any number of shard copies but still succeed on the primary.\nThe `_shards` section of the API response reveals the number of shard copies on which replication succeeded and failed.\n\n**No operation (noop) updates**\n\nWhen updating a document by using this API, a new version of the document is always created even if the document hasn't changed.\nIf this isn't acceptable use the `_update` API with `detect_noop` set to `true`.\nThe `detect_noop` option isn't available on this API because it doesn’t fetch the old source and isn't able to compare it against the new source.\n\nThere isn't a definitive rule for when noop updates aren't acceptable.\nIt's a combination of lots of factors like how frequently your data source sends updates that are actually noops and how many queries per second Elasticsearch runs on the shard receiving the updates.\n\n**Versioning**\n\nEach indexed document is given a version number.\nBy default, internal versioning is used that starts at 1 and increments with each update, deletes included.\nOptionally, the version number can be set to an external value (for example, if maintained in a database).\nTo enable this functionality, `version_type` should be set to `external`.\nThe value provided must be a numeric, long value greater than or equal to 0, and less than around `9.2e+18`.\n\nNOTE: Versioning is completely real time, and is not affected by the near real time aspects of search operations.\nIf no version is provided, the operation runs without any version checks.\n\nWhen using the external version type, the system checks to see if the version number passed to the index request is greater than the version of the currently stored document.\nIf true, the document will be indexed and the new version number used.\nIf the value provided is less than or equal to the stored document's version number, a version conflict will occur and the index operation will fail. For example:\n\n```\nPUT my-index-000001/_doc/1?version=2&version_type=external\n{\n \"user\": {\n \"id\": \"elkbee\"\n }\n}\n\nIn this example, the operation will succeed since the supplied version of 2 is higher than the current document version of 1.\nIf the document was already updated and its version was set to 2 or higher, the indexing command will fail and result in a conflict (409 HTTP status code).\n\nA nice side effect is that there is no need to maintain strict ordering of async indexing operations run as a result of changes to a source database, as long as version numbers from the source database are used.\nEven the simple case of updating the Elasticsearch index using data from a database is simplified if external versioning is used, as only the latest version will be used if the index operations arrive out of order.\n\n## Required authorization\n\n* Index privileges: `index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-streams.html" }, "operationId": "index-2", "parameters": [ @@ -12378,7 +12378,7 @@ "summary": "Get tokens from text analysis", "description": "The analyze API performs analysis on a text string and returns the resulting tokens.\n\nGenerating excessive amount of tokens may cause a node to run out of memory.\nThe `index.analyze.max_token_count` setting enables you to limit the number of tokens that can be produced.\nIf more than this limit of tokens gets generated, an error occurs.\nThe `_analyze` endpoint without a specified index will always use `10000` as its limit.\n\n## Required authorization\n\n* Index privileges: `index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis.html" }, "operationId": "indices-analyze", "parameters": [ @@ -12403,7 +12403,7 @@ "summary": "Get tokens from text analysis", "description": "The analyze API performs analysis on a text string and returns the resulting tokens.\n\nGenerating excessive amount of tokens may cause a node to run out of memory.\nThe `index.analyze.max_token_count` setting enables you to limit the number of tokens that can be produced.\nIf more than this limit of tokens gets generated, an error occurs.\nThe `_analyze` endpoint without a specified index will always use `10000` as its limit.\n\n## Required authorization\n\n* Index privileges: `index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis.html" }, "operationId": "indices-analyze-1", "parameters": [ @@ -12430,7 +12430,7 @@ "summary": "Get tokens from text analysis", "description": "The analyze API performs analysis on a text string and returns the resulting tokens.\n\nGenerating excessive amount of tokens may cause a node to run out of memory.\nThe `index.analyze.max_token_count` setting enables you to limit the number of tokens that can be produced.\nIf more than this limit of tokens gets generated, an error occurs.\nThe `_analyze` endpoint without a specified index will always use `10000` as its limit.\n\n## Required authorization\n\n* Index privileges: `index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis.html" }, "operationId": "indices-analyze-2", "parameters": [ @@ -12458,7 +12458,7 @@ "summary": "Get tokens from text analysis", "description": "The analyze API performs analysis on a text string and returns the resulting tokens.\n\nGenerating excessive amount of tokens may cause a node to run out of memory.\nThe `index.analyze.max_token_count` setting enables you to limit the number of tokens that can be produced.\nIf more than this limit of tokens gets generated, an error occurs.\nThe `_analyze` endpoint without a specified index will always use `10000` as its limit.\n\n## Required authorization\n\n* Index privileges: `index`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis.html" }, "operationId": "indices-analyze-3", "parameters": [ @@ -13706,7 +13706,7 @@ "summary": "Get data stream lifecycles", "description": "Get the data stream lifecycle configuration of one or more data streams.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-lifecycle.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-stream-lifecycle.html" }, "operationId": "indices-get-data-lifecycle", "parameters": [ @@ -13790,7 +13790,7 @@ "summary": "Update data stream lifecycles", "description": "Update the data stream lifecycle of the specified data streams.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-lifecycle.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-stream-lifecycle.html" }, "operationId": "indices-put-data-lifecycle", "parameters": [ @@ -13895,7 +13895,7 @@ "summary": "Delete data stream lifecycles", "description": "Removes the data stream lifecycle from a data stream, rendering it not managed by the data stream lifecycle.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-lifecycle.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-stream-lifecycle.html" }, "operationId": "indices-delete-data-lifecycle", "parameters": [ @@ -14179,7 +14179,7 @@ "summary": "Get legacy index templates", "description": "Get information about one or more index templates.\n\nIMPORTANT: This documentation is about legacy index templates, which are deprecated and will be replaced by the composable templates introduced in Elasticsearch 7.8.\n\n## Required authorization\n\n* Cluster privileges: `manage_index_templates`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-templates.html" }, "operationId": "indices-get-template-1", "parameters": [ @@ -14211,7 +14211,7 @@ "summary": "Create or update a legacy index template", "description": "Index templates define settings, mappings, and aliases that can be applied automatically to new indices.\nElasticsearch applies templates to new indices based on an index pattern that matches the index name.\n\nIMPORTANT: This documentation is about legacy index templates, which are deprecated and will be replaced by the composable templates introduced in Elasticsearch 7.8.\n\nComposable templates always take precedence over legacy templates.\nIf no composable template matches a new index, matching legacy templates are applied according to their order.\n\nIndex templates are only applied during index creation.\nChanges to index templates do not affect existing indices.\nSettings and mappings specified in create index API requests override any settings or mappings specified in an index template.\n\nYou can use C-style `/* *\\/` block comments in index templates.\nYou can include comments anywhere in the request body, except before the opening curly bracket.\n\n**Indices matching multiple templates**\n\nMultiple index templates can potentially match an index, in this case, both the settings and mappings are merged into the final configuration of the index.\nThe order of the merging can be controlled using the order parameter, with lower order being applied first, and higher orders overriding them.\nNOTE: Multiple matching templates with the same order value will result in a non-deterministic merging order.\n\n## Required authorization\n\n* Cluster privileges: `manage_index_templates`,`manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-templates.html" }, "operationId": "indices-put-template", "parameters": [ @@ -14249,7 +14249,7 @@ "summary": "Create or update a legacy index template", "description": "Index templates define settings, mappings, and aliases that can be applied automatically to new indices.\nElasticsearch applies templates to new indices based on an index pattern that matches the index name.\n\nIMPORTANT: This documentation is about legacy index templates, which are deprecated and will be replaced by the composable templates introduced in Elasticsearch 7.8.\n\nComposable templates always take precedence over legacy templates.\nIf no composable template matches a new index, matching legacy templates are applied according to their order.\n\nIndex templates are only applied during index creation.\nChanges to index templates do not affect existing indices.\nSettings and mappings specified in create index API requests override any settings or mappings specified in an index template.\n\nYou can use C-style `/* *\\/` block comments in index templates.\nYou can include comments anywhere in the request body, except before the opening curly bracket.\n\n**Indices matching multiple templates**\n\nMultiple index templates can potentially match an index, in this case, both the settings and mappings are merged into the final configuration of the index.\nThe order of the merging can be controlled using the order parameter, with lower order being applied first, and higher orders overriding them.\nNOTE: Multiple matching templates with the same order value will result in a non-deterministic merging order.\n\n## Required authorization\n\n* Cluster privileges: `manage_index_templates`,`manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-templates.html" }, "operationId": "indices-put-template-1", "parameters": [ @@ -14342,7 +14342,7 @@ "summary": "Check existence of index templates", "description": "Get information about whether index templates exist.\nIndex templates define settings, mappings, and aliases that can be applied automatically to new indices.\n\nIMPORTANT: This documentation is about legacy index templates, which are deprecated and will be replaced by the composable templates introduced in Elasticsearch 7.8.\n\n## Required authorization\n\n* Cluster privileges: `manage_index_templates`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-templates.html" }, "operationId": "indices-exists-template", "parameters": [ @@ -14619,7 +14619,7 @@ "summary": "Get the status for a data stream lifecycle", "description": "Get information about an index or data stream's current data stream lifecycle status, such as time since index creation, time since rollover, the lifecycle configuration managing the index, or any errors encountered during lifecycle execution.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-lifecycle.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-stream-lifecycle.html" }, "operationId": "indices-explain-data-lifecycle", "parameters": [ @@ -14917,7 +14917,7 @@ "summary": "Force a merge", "description": "Perform the force merge operation on the shards of one or more indices.\nFor data streams, the API forces a merge on the shards of the stream's backing indices.\n\nMerging reduces the number of segments in each shard by merging some of them together and also frees up the space used by deleted documents.\nMerging normally happens automatically, but sometimes it is useful to trigger a merge manually.\n\nWARNING: We recommend force merging only a read-only index (meaning the index is no longer receiving writes).\nWhen documents are updated or deleted, the old version is not immediately removed but instead soft-deleted and marked with a \"tombstone\".\nThese soft-deleted documents are automatically cleaned up during regular segment merges.\nBut force merge can cause very large (greater than 5 GB) segments to be produced, which are not eligible for regular merges.\nSo the number of soft-deleted documents can then grow rapidly, resulting in higher disk usage and worse search performance.\nIf you regularly force merge an index receiving writes, this can also make snapshots more expensive, since the new documents can't be backed up incrementally.\n\n**Blocks during a force merge**\n\nCalls to this API block until the merge is complete (unless request contains `wait_for_completion=false`).\nIf the client connection is lost before completion then the force merge process will continue in the background.\nAny new requests to force merge the same indices will also block until the ongoing force merge is complete.\n\n**Running force merge asynchronously**\n\nIf the request contains `wait_for_completion=false`, Elasticsearch performs some preflight checks, launches the request, and returns a task you can use to get the status of the task.\nHowever, you can not cancel this task as the force merge task is not cancelable.\nElasticsearch creates a record of this task as a document at `_tasks/`.\nWhen you are done with a task, you should delete the task document so Elasticsearch can reclaim the space.\n\n**Force merging multiple indices**\n\nYou can force merge multiple indices with a single request by targeting:\n\n* One or more data streams that contain multiple backing indices\n* Multiple indices\n* One or more aliases\n* All data streams and indices in a cluster\n\nEach targeted shard is force-merged separately using the force_merge threadpool.\nBy default each node only has a single `force_merge` thread which means that the shards on that node are force-merged one at a time.\nIf you expand the `force_merge` threadpool on a node then it will force merge its shards in parallel\n\nForce merge makes the storage for the shard being merged temporarily increase, as it may require free space up to triple its size in case `max_num_segments parameter` is set to `1`, to rewrite all segments into a new one.\n\n**Data streams and time-based indices**\n\nForce-merging is useful for managing a data stream's older backing indices and other time-based indices, particularly after a rollover.\nIn these cases, each index only receives indexing traffic for a certain period of time.\nOnce an index receive no more writes, its shards can be force-merged to a single segment.\nThis can be a good idea because single-segment shards can sometimes use simpler and more efficient data structures to perform searches.\nFor example:\n\n```\nPOST /.ds-my-data-stream-2099.03.07-000001/_forcemerge?max_num_segments=1\n```\n\n## Required authorization\n\n* Index privileges: `maintenance`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-merge.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-modules-merge.html" }, "operationId": "indices-forcemerge", "parameters": [ @@ -14959,7 +14959,7 @@ "summary": "Force a merge", "description": "Perform the force merge operation on the shards of one or more indices.\nFor data streams, the API forces a merge on the shards of the stream's backing indices.\n\nMerging reduces the number of segments in each shard by merging some of them together and also frees up the space used by deleted documents.\nMerging normally happens automatically, but sometimes it is useful to trigger a merge manually.\n\nWARNING: We recommend force merging only a read-only index (meaning the index is no longer receiving writes).\nWhen documents are updated or deleted, the old version is not immediately removed but instead soft-deleted and marked with a \"tombstone\".\nThese soft-deleted documents are automatically cleaned up during regular segment merges.\nBut force merge can cause very large (greater than 5 GB) segments to be produced, which are not eligible for regular merges.\nSo the number of soft-deleted documents can then grow rapidly, resulting in higher disk usage and worse search performance.\nIf you regularly force merge an index receiving writes, this can also make snapshots more expensive, since the new documents can't be backed up incrementally.\n\n**Blocks during a force merge**\n\nCalls to this API block until the merge is complete (unless request contains `wait_for_completion=false`).\nIf the client connection is lost before completion then the force merge process will continue in the background.\nAny new requests to force merge the same indices will also block until the ongoing force merge is complete.\n\n**Running force merge asynchronously**\n\nIf the request contains `wait_for_completion=false`, Elasticsearch performs some preflight checks, launches the request, and returns a task you can use to get the status of the task.\nHowever, you can not cancel this task as the force merge task is not cancelable.\nElasticsearch creates a record of this task as a document at `_tasks/`.\nWhen you are done with a task, you should delete the task document so Elasticsearch can reclaim the space.\n\n**Force merging multiple indices**\n\nYou can force merge multiple indices with a single request by targeting:\n\n* One or more data streams that contain multiple backing indices\n* Multiple indices\n* One or more aliases\n* All data streams and indices in a cluster\n\nEach targeted shard is force-merged separately using the force_merge threadpool.\nBy default each node only has a single `force_merge` thread which means that the shards on that node are force-merged one at a time.\nIf you expand the `force_merge` threadpool on a node then it will force merge its shards in parallel\n\nForce merge makes the storage for the shard being merged temporarily increase, as it may require free space up to triple its size in case `max_num_segments parameter` is set to `1`, to rewrite all segments into a new one.\n\n**Data streams and time-based indices**\n\nForce-merging is useful for managing a data stream's older backing indices and other time-based indices, particularly after a rollover.\nIn these cases, each index only receives indexing traffic for a certain period of time.\nOnce an index receive no more writes, its shards can be force-merged to a single segment.\nThis can be a good idea because single-segment shards can sometimes use simpler and more efficient data structures to perform searches.\nFor example:\n\n```\nPOST /.ds-my-data-stream-2099.03.07-000001/_forcemerge?max_num_segments=1\n```\n\n## Required authorization\n\n* Index privileges: `maintenance`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-merge.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-modules-merge.html" }, "operationId": "indices-forcemerge-1", "parameters": [ @@ -15067,7 +15067,7 @@ "summary": "Get data stream lifecycle stats", "description": "Get statistics about the data streams that are managed by a data stream lifecycle.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-lifecycle.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/data-stream-lifecycle.html" }, "operationId": "indices-get-data-lifecycle-stats", "responses": { @@ -15324,7 +15324,7 @@ "summary": "Update field mappings", "description": "Add new fields to an existing data stream or index.\nYou can also use this API to change the search settings of existing fields and add new properties to existing object fields.\nFor data streams, these changes are applied to all backing indices by default.\n\n**Add multi-fields to an existing field**\n\nMulti-fields let you index the same field in different ways.\nYou can use this API to update the fields mapping parameter and enable multi-fields for an existing field.\nWARNING: If an index (or data stream) contains documents when you add a multi-field, those documents will not have values for the new multi-field.\nYou can populate the new multi-field with the update by query API.\n\n**Change supported mapping parameters for an existing field**\n\nThe documentation for each mapping parameter indicates whether you can update it for an existing field using this API.\nFor example, you can use the update mapping API to update the `ignore_above` parameter.\n\n**Change the mapping of an existing field**\n\nExcept for supported mapping parameters, you can't change the mapping or field type of an existing field.\nChanging an existing field could invalidate data that's already indexed.\n\nIf you need to change the mapping of a field in a data stream's backing indices, refer to documentation about modifying data streams.\nIf you need to change the mapping of a field in other indices, create a new index with the correct mapping and reindex your data into that index.\n\n**Rename a field**\n\nRenaming a field would invalidate data already indexed under the old field name.\nInstead, add an alias field to create an alternate field name.\n\n## Required authorization\n\n* Index privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-params.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-params.html" }, "operationId": "indices-put-mapping", "parameters": [ @@ -15367,7 +15367,7 @@ "summary": "Update field mappings", "description": "Add new fields to an existing data stream or index.\nYou can also use this API to change the search settings of existing fields and add new properties to existing object fields.\nFor data streams, these changes are applied to all backing indices by default.\n\n**Add multi-fields to an existing field**\n\nMulti-fields let you index the same field in different ways.\nYou can use this API to update the fields mapping parameter and enable multi-fields for an existing field.\nWARNING: If an index (or data stream) contains documents when you add a multi-field, those documents will not have values for the new multi-field.\nYou can populate the new multi-field with the update by query API.\n\n**Change supported mapping parameters for an existing field**\n\nThe documentation for each mapping parameter indicates whether you can update it for an existing field using this API.\nFor example, you can use the update mapping API to update the `ignore_above` parameter.\n\n**Change the mapping of an existing field**\n\nExcept for supported mapping parameters, you can't change the mapping or field type of an existing field.\nChanging an existing field could invalidate data that's already indexed.\n\nIf you need to change the mapping of a field in a data stream's backing indices, refer to documentation about modifying data streams.\nIf you need to change the mapping of a field in other indices, create a new index with the correct mapping and reindex your data into that index.\n\n**Rename a field**\n\nRenaming a field would invalidate data already indexed under the old field name.\nInstead, add an alias field to create an alternate field name.\n\n## Required authorization\n\n* Index privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-params.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-params.html" }, "operationId": "indices-put-mapping-1", "parameters": [ @@ -15533,7 +15533,7 @@ "summary": "Update index settings", "description": "Changes dynamic index settings in real time.\nFor data streams, index setting changes are applied to all backing indices by default.\n\nTo revert a setting to the default value, use a null value.\nThe list of per-index settings that can be updated dynamically on live indices can be found in index settings documentation.\nTo preserve existing settings from being updated, set the `preserve_existing` parameter to `true`.\n\n There are multiple valid ways to represent index settings in the request body. You can specify only the setting, for example:\n\n```\n{\n \"number_of_replicas\": 1\n}\n```\n\nOr you can use an `index` setting object:\n```\n{\n \"index\": {\n \"number_of_replicas\": 1\n }\n}\n```\n\nOr you can use dot annotation:\n```\n{\n \"index.number_of_replicas\": 1\n}\n```\n\nOr you can embed any of the aforementioned options in a `settings` object. For example:\n\n```\n{\n \"settings\": {\n \"index\": {\n \"number_of_replicas\": 1\n }\n }\n}\n```\n\nNOTE: You can only define new analyzers on closed indices.\nTo add an analyzer, you must close the index, define the analyzer, and reopen the index.\nYou cannot close the write index of a data stream.\nTo update the analyzer for a data stream's write index and future backing indices, update the analyzer in the index template used by the stream.\nThen roll over the data stream to apply the new analyzer to the stream's write index and future backing indices.\nThis affects searches and any new data added to the stream after the rollover.\nHowever, it does not affect the data stream's backing indices or their existing data.\nTo change the analyzer for existing backing indices, you must create a new data stream and reindex your data into it.\n\n## Required authorization\n\n* Index privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-modules.html" }, "operationId": "indices-put-settings", "parameters": [ @@ -15621,7 +15621,7 @@ "summary": "Update index settings", "description": "Changes dynamic index settings in real time.\nFor data streams, index setting changes are applied to all backing indices by default.\n\nTo revert a setting to the default value, use a null value.\nThe list of per-index settings that can be updated dynamically on live indices can be found in index settings documentation.\nTo preserve existing settings from being updated, set the `preserve_existing` parameter to `true`.\n\n There are multiple valid ways to represent index settings in the request body. You can specify only the setting, for example:\n\n```\n{\n \"number_of_replicas\": 1\n}\n```\n\nOr you can use an `index` setting object:\n```\n{\n \"index\": {\n \"number_of_replicas\": 1\n }\n}\n```\n\nOr you can use dot annotation:\n```\n{\n \"index.number_of_replicas\": 1\n}\n```\n\nOr you can embed any of the aforementioned options in a `settings` object. For example:\n\n```\n{\n \"settings\": {\n \"index\": {\n \"number_of_replicas\": 1\n }\n }\n}\n```\n\nNOTE: You can only define new analyzers on closed indices.\nTo add an analyzer, you must close the index, define the analyzer, and reopen the index.\nYou cannot close the write index of a data stream.\nTo update the analyzer for a data stream's write index and future backing indices, update the analyzer in the index template used by the stream.\nThen roll over the data stream to apply the new analyzer to the stream's write index and future backing indices.\nThis affects searches and any new data added to the stream after the rollover.\nHowever, it does not affect the data stream's backing indices or their existing data.\nTo change the analyzer for existing backing indices, you must create a new data stream and reindex your data into it.\n\n## Required authorization\n\n* Index privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-modules.html" }, "operationId": "indices-put-settings-1", "parameters": [ @@ -15759,7 +15759,7 @@ "summary": "Get legacy index templates", "description": "Get information about one or more index templates.\n\nIMPORTANT: This documentation is about legacy index templates, which are deprecated and will be replaced by the composable templates introduced in Elasticsearch 7.8.\n\n## Required authorization\n\n* Cluster privileges: `manage_index_templates`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/index-templates.html" }, "operationId": "indices-get-template", "parameters": [ @@ -16257,7 +16257,7 @@ "summary": "Reload search analyzers", "description": "Reload an index's search analyzers and their resources.\nFor data streams, the API reloads search analyzers and resources for the stream's backing indices.\n\nIMPORTANT: After reloading the search analyzers you should clear the request cache to make sure it doesn't contain responses derived from the previous versions of the analyzer.\n\nYou can use the reload search analyzers API to pick up changes to synonym files used in the `synonym_graph` or `synonym` token filter of a search analyzer.\nTo be eligible, the token filter must have an `updateable` flag of `true` and only be used in search analyzers.\n\nNOTE: This API does not perform a reload for each shard of an index.\nInstead, it performs a reload for each node containing index shards.\nAs a result, the total shard count returned by the API can differ from the number of index shards.\nBecause reloading affects every node with an index shard, it is important to update the synonym file on every data node in the cluster--including nodes that don't contain a shard replica--before using this API.\nThis ensures the synonym file is updated everywhere in the cluster in case shards are relocated in the future.\n\n## Required authorization\n\n* Index privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-analyzer.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-analyzer.html" }, "operationId": "indices-reload-search-analyzers", "parameters": [ @@ -16291,7 +16291,7 @@ "summary": "Reload search analyzers", "description": "Reload an index's search analyzers and their resources.\nFor data streams, the API reloads search analyzers and resources for the stream's backing indices.\n\nIMPORTANT: After reloading the search analyzers you should clear the request cache to make sure it doesn't contain responses derived from the previous versions of the analyzer.\n\nYou can use the reload search analyzers API to pick up changes to synonym files used in the `synonym_graph` or `synonym` token filter of a search analyzer.\nTo be eligible, the token filter must have an `updateable` flag of `true` and only be used in search analyzers.\n\nNOTE: This API does not perform a reload for each shard of an index.\nInstead, it performs a reload for each node containing index shards.\nAs a result, the total shard count returned by the API can differ from the number of index shards.\nBecause reloading affects every node with an index shard, it is important to update the synonym file on every data node in the cluster--including nodes that don't contain a shard replica--before using this API.\nThis ensures the synonym file is updated everywhere in the cluster in case shards are relocated in the future.\n\n## Required authorization\n\n* Index privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-analyzer.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-analyzer.html" }, "operationId": "indices-reload-search-analyzers-1", "parameters": [ @@ -20226,7 +20226,7 @@ "summary": "Get pipelines", "description": "Get information about one or more ingest pipelines.\nThis API returns a local reference of the pipeline.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ingest.html" }, "operationId": "ingest-get-pipeline-1", "parameters": [ @@ -20254,7 +20254,7 @@ "summary": "Create or update a pipeline", "description": "Changes made using this API take effect immediately.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ingest.html" }, "operationId": "ingest-put-pipeline", "parameters": [ @@ -20372,7 +20372,7 @@ "summary": "Delete pipelines", "description": "Delete one or more ingest pipelines.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ingest.html" }, "operationId": "ingest-delete-pipeline", "parameters": [ @@ -20431,7 +20431,7 @@ "summary": "Get GeoIP statistics", "description": "Get download statistics for GeoIP2 databases that are used with the GeoIP processor.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/geoip-processor.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/geoip-processor.html" }, "operationId": "ingest-geo-ip-stats", "responses": { @@ -20510,7 +20510,7 @@ "summary": "Get pipelines", "description": "Get information about one or more ingest pipelines.\nThis API returns a local reference of the pipeline.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/ingest.html" }, "operationId": "ingest-get-pipeline", "parameters": [ @@ -20537,7 +20537,7 @@ "summary": "Run a grok processor", "description": "Extract structured fields out of a single text field within a document.\nYou must choose which field to extract matched fields from, as well as the grok pattern you expect will match.\nA grok pattern is like a regular expression that supports aliased expressions that can be reused.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/grok-processor.html" }, "operationId": "ingest-processor-grok", "responses": { @@ -20839,7 +20839,7 @@ "summary": "Delete the license", "description": "When the license expires, your subscription level reverts to Basic.\n\nIf the operator privileges feature is enabled, only operator users can use this API.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/kibana/current/managing-licenses.html" + "url": "https://www.elastic.co/guide/en/kibana/8.x/managing-licenses.html" }, "operationId": "license-delete", "parameters": [ @@ -21134,7 +21134,7 @@ "summary": "Get Logstash pipelines", "description": "Get pipelines that are used for Logstash Central Management.\n\n## Required authorization\n\n* Cluster privileges: `manage_logstash_pipelines`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-centralized-pipeline-management.html" + "url": "https://www.elastic.co/guide/en/logstash/8.x/logstash-centralized-pipeline-management.html" }, "operationId": "logstash-get-pipeline-1", "parameters": [ @@ -21156,7 +21156,7 @@ "summary": "Create or update a Logstash pipeline", "description": "Create a pipeline that is used for Logstash Central Management.\nIf the specified pipeline exists, it is replaced.\n\n## Required authorization\n\n* Cluster privileges: `manage_logstash_pipelines`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-centralized-pipeline-management.html" + "url": "https://www.elastic.co/guide/en/logstash/8.x/logstash-centralized-pipeline-management.html" }, "operationId": "logstash-put-pipeline", "parameters": [ @@ -21206,7 +21206,7 @@ "summary": "Delete a Logstash pipeline", "description": "Delete a pipeline that is used for Logstash Central Management.\nIf the request succeeds, you receive an empty response with an appropriate status code.\n\n## Required authorization\n\n* Cluster privileges: `manage_logstash_pipelines`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-centralized-pipeline-management.html" + "url": "https://www.elastic.co/guide/en/logstash/8.x/logstash-centralized-pipeline-management.html" }, "operationId": "logstash-delete-pipeline", "parameters": [ @@ -21241,7 +21241,7 @@ "summary": "Get Logstash pipelines", "description": "Get pipelines that are used for Logstash Central Management.\n\n## Required authorization\n\n* Cluster privileges: `manage_logstash_pipelines`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-centralized-pipeline-management.html" + "url": "https://www.elastic.co/guide/en/logstash/8.x/logstash-centralized-pipeline-management.html" }, "operationId": "logstash-get-pipeline", "responses": { @@ -28064,7 +28064,7 @@ "summary": "Run multiple templated searches", "description": "Run multiple templated searches with a single request.\nIf you are providing a text file or text input to `curl`, use the `--data-binary` flag instead of `-d` to preserve newlines.\nFor example:\n\n```\n$ cat requests\n{ \"index\": \"my-index\" }\n{ \"id\": \"my-search-template\", \"params\": { \"query_string\": \"hello world\", \"from\": 0, \"size\": 10 }}\n{ \"index\": \"my-other-index\" }\n{ \"id\": \"my-other-search-template\", \"params\": { \"query_type\": \"match_all\" }}\n\n$ curl -H \"Content-Type: application/x-ndjson\" -XGET localhost:9200/_msearch/template --data-binary \"@requests\"; echo\n```\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "msearch-template", "parameters": [ @@ -28101,7 +28101,7 @@ "summary": "Run multiple templated searches", "description": "Run multiple templated searches with a single request.\nIf you are providing a text file or text input to `curl`, use the `--data-binary` flag instead of `-d` to preserve newlines.\nFor example:\n\n```\n$ cat requests\n{ \"index\": \"my-index\" }\n{ \"id\": \"my-search-template\", \"params\": { \"query_string\": \"hello world\", \"from\": 0, \"size\": 10 }}\n{ \"index\": \"my-other-index\" }\n{ \"id\": \"my-other-search-template\", \"params\": { \"query_type\": \"match_all\" }}\n\n$ curl -H \"Content-Type: application/x-ndjson\" -XGET localhost:9200/_msearch/template --data-binary \"@requests\"; echo\n```\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "msearch-template-1", "parameters": [ @@ -28140,7 +28140,7 @@ "summary": "Run multiple templated searches", "description": "Run multiple templated searches with a single request.\nIf you are providing a text file or text input to `curl`, use the `--data-binary` flag instead of `-d` to preserve newlines.\nFor example:\n\n```\n$ cat requests\n{ \"index\": \"my-index\" }\n{ \"id\": \"my-search-template\", \"params\": { \"query_string\": \"hello world\", \"from\": 0, \"size\": 10 }}\n{ \"index\": \"my-other-index\" }\n{ \"id\": \"my-other-search-template\", \"params\": { \"query_type\": \"match_all\" }}\n\n$ curl -H \"Content-Type: application/x-ndjson\" -XGET localhost:9200/_msearch/template --data-binary \"@requests\"; echo\n```\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "msearch-template-2", "parameters": [ @@ -28180,7 +28180,7 @@ "summary": "Run multiple templated searches", "description": "Run multiple templated searches with a single request.\nIf you are providing a text file or text input to `curl`, use the `--data-binary` flag instead of `-d` to preserve newlines.\nFor example:\n\n```\n$ cat requests\n{ \"index\": \"my-index\" }\n{ \"id\": \"my-search-template\", \"params\": { \"query_string\": \"hello world\", \"from\": 0, \"size\": 10 }}\n{ \"index\": \"my-other-index\" }\n{ \"id\": \"my-other-search-template\", \"params\": { \"query_type\": \"match_all\" }}\n\n$ curl -H \"Content-Type: application/x-ndjson\" -XGET localhost:9200/_msearch/template --data-binary \"@requests\"; echo\n```\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "msearch-template-3", "parameters": [ @@ -29307,7 +29307,7 @@ "summary": "Create or update a script or search template", "description": "Creates or updates a stored script or search template.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "put-script-2", "parameters": [ @@ -29344,7 +29344,7 @@ "summary": "Create or update a script or search template", "description": "Creates or updates a stored script or search template.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "put-script-3", "parameters": [ @@ -29383,7 +29383,7 @@ "summary": "Get a query rule", "description": "Get details about a query rule within a query ruleset.\n\n## Required authorization\n\n* Cluster privileges: `manage_search_query_rules`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-using-query-rules.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-using-query-rules.html" }, "operationId": "query-rules-get-rule", "parameters": [ @@ -29623,7 +29623,7 @@ "summary": "Create or update a query ruleset", "description": "There is a limit of 100 rules per ruleset.\nThis limit can be increased by using the `xpack.applications.rules.max_rules_per_ruleset` cluster setting.\n\nIMPORTANT: Due to limitations within pinned queries, you can only select documents using `ids` or `docs`, but cannot use both in single rule.\nIt is advised to use one or the other in query rulesets, to avoid errors.\nAdditionally, pinned queries have a maximum limit of 100 pinned hits.\nIf multiple matching rules pin more than 100 documents, only the first 100 documents are pinned in the order they are specified in the ruleset.\n\n## Required authorization\n\n* Cluster privileges: `manage_search_query_rules`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-using-query-rules.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-using-query-rules.html" }, "operationId": "query-rules-put-ruleset", "parameters": [ @@ -30919,7 +30919,7 @@ "summary": "Run a search", "description": "Get search hits that match the query defined in the request.\nYou can provide search queries using the `q` query string parameter or the request body.\nIf both are specified, only the query parameter is used.\n\nIf the Elasticsearch security features are enabled, you must have the read index privilege for the target data stream, index, or alias. For cross-cluster search, refer to the documentation about configuring CCS privileges.\nTo search a point in time (PIT) for an alias, you must have the `read` index privilege for the alias's data streams or indices.\n\n**Search slicing**\n\nWhen paging through a large number of documents, it can be helpful to split the search into multiple slices to consume them independently with the `slice` and `pit` properties.\nBy default the splitting is done first on the shards, then locally on each shard.\nThe local splitting partitions the shard into contiguous ranges based on Lucene document IDs.\n\nFor instance if the number of shards is equal to 2 and you request 4 slices, the slices 0 and 2 are assigned to the first shard and the slices 1 and 3 are assigned to the second shard.\n\nIMPORTANT: The same point-in-time ID should be used for all slices.\nIf different PIT IDs are used, slices can overlap and miss documents.\nThis situation can occur because the splitting criterion is based on Lucene document IDs, which are not stable across changes to the index.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/remote-clusters-cert.html#remote-clusters-privileges-ccs" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/remote-clusters-cert.html#remote-clusters-privileges-ccs" }, "operationId": "search", "parameters": [ @@ -31073,7 +31073,7 @@ "summary": "Run a search", "description": "Get search hits that match the query defined in the request.\nYou can provide search queries using the `q` query string parameter or the request body.\nIf both are specified, only the query parameter is used.\n\nIf the Elasticsearch security features are enabled, you must have the read index privilege for the target data stream, index, or alias. For cross-cluster search, refer to the documentation about configuring CCS privileges.\nTo search a point in time (PIT) for an alias, you must have the `read` index privilege for the alias's data streams or indices.\n\n**Search slicing**\n\nWhen paging through a large number of documents, it can be helpful to split the search into multiple slices to consume them independently with the `slice` and `pit` properties.\nBy default the splitting is done first on the shards, then locally on each shard.\nThe local splitting partitions the shard into contiguous ranges based on Lucene document IDs.\n\nFor instance if the number of shards is equal to 2 and you request 4 slices, the slices 0 and 2 are assigned to the first shard and the slices 1 and 3 are assigned to the second shard.\n\nIMPORTANT: The same point-in-time ID should be used for all slices.\nIf different PIT IDs are used, slices can overlap and miss documents.\nThis situation can occur because the splitting criterion is based on Lucene document IDs, which are not stable across changes to the index.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/remote-clusters-cert.html#remote-clusters-privileges-ccs" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/remote-clusters-cert.html#remote-clusters-privileges-ccs" }, "operationId": "search-1", "parameters": [ @@ -31229,7 +31229,7 @@ "summary": "Run a search", "description": "Get search hits that match the query defined in the request.\nYou can provide search queries using the `q` query string parameter or the request body.\nIf both are specified, only the query parameter is used.\n\nIf the Elasticsearch security features are enabled, you must have the read index privilege for the target data stream, index, or alias. For cross-cluster search, refer to the documentation about configuring CCS privileges.\nTo search a point in time (PIT) for an alias, you must have the `read` index privilege for the alias's data streams or indices.\n\n**Search slicing**\n\nWhen paging through a large number of documents, it can be helpful to split the search into multiple slices to consume them independently with the `slice` and `pit` properties.\nBy default the splitting is done first on the shards, then locally on each shard.\nThe local splitting partitions the shard into contiguous ranges based on Lucene document IDs.\n\nFor instance if the number of shards is equal to 2 and you request 4 slices, the slices 0 and 2 are assigned to the first shard and the slices 1 and 3 are assigned to the second shard.\n\nIMPORTANT: The same point-in-time ID should be used for all slices.\nIf different PIT IDs are used, slices can overlap and miss documents.\nThis situation can occur because the splitting criterion is based on Lucene document IDs, which are not stable across changes to the index.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/remote-clusters-cert.html#remote-clusters-privileges-ccs" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/remote-clusters-cert.html#remote-clusters-privileges-ccs" }, "operationId": "search-2", "parameters": [ @@ -31386,7 +31386,7 @@ "summary": "Run a search", "description": "Get search hits that match the query defined in the request.\nYou can provide search queries using the `q` query string parameter or the request body.\nIf both are specified, only the query parameter is used.\n\nIf the Elasticsearch security features are enabled, you must have the read index privilege for the target data stream, index, or alias. For cross-cluster search, refer to the documentation about configuring CCS privileges.\nTo search a point in time (PIT) for an alias, you must have the `read` index privilege for the alias's data streams or indices.\n\n**Search slicing**\n\nWhen paging through a large number of documents, it can be helpful to split the search into multiple slices to consume them independently with the `slice` and `pit` properties.\nBy default the splitting is done first on the shards, then locally on each shard.\nThe local splitting partitions the shard into contiguous ranges based on Lucene document IDs.\n\nFor instance if the number of shards is equal to 2 and you request 4 slices, the slices 0 and 2 are assigned to the first shard and the slices 1 and 3 are assigned to the second shard.\n\nIMPORTANT: The same point-in-time ID should be used for all slices.\nIf different PIT IDs are used, slices can overlap and miss documents.\nThis situation can occur because the splitting criterion is based on Lucene document IDs, which are not stable across changes to the index.\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/remote-clusters-cert.html#remote-clusters-privileges-ccs" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/remote-clusters-cert.html#remote-clusters-privileges-ccs" }, "operationId": "search-3", "parameters": [ @@ -31866,7 +31866,7 @@ ], "summary": "Create a behavioral analytics collection event", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/behavioral-analytics-event-reference.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/behavioral-analytics-event-reference.html" }, "operationId": "search-application-post-behavioral-analytics-event", "parameters": [ @@ -32346,7 +32346,7 @@ "summary": "Run a search with a search template", "description": "\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "search-template", "parameters": [ @@ -32407,7 +32407,7 @@ "summary": "Run a search with a search template", "description": "\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "search-template-1", "parameters": [ @@ -32470,7 +32470,7 @@ "summary": "Run a search with a search template", "description": "\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "search-template-2", "parameters": [ @@ -32534,7 +32534,7 @@ "summary": "Run a search with a search template", "description": "\n\n## Required authorization\n\n* Index privileges: `read`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-template.html" }, "operationId": "search-template-3", "parameters": [ @@ -32600,7 +32600,7 @@ "summary": "Get cache statistics", "description": "Get statistics about the shared cache for partially mounted indices.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/searchable-snapshots.html" }, "operationId": "searchable-snapshots-cache-stats", "parameters": [ @@ -32624,7 +32624,7 @@ "summary": "Get cache statistics", "description": "Get statistics about the shared cache for partially mounted indices.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/searchable-snapshots.html" }, "operationId": "searchable-snapshots-cache-stats-1", "parameters": [ @@ -32651,7 +32651,7 @@ "summary": "Clear the cache", "description": "Clear indices and data streams from the shared cache for partially mounted indices.\n\n## Required authorization\n\n* Index privileges: `manage`\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/searchable-snapshots.html" }, "operationId": "searchable-snapshots-clear-cache", "parameters": [ @@ -32681,7 +32681,7 @@ "summary": "Clear the cache", "description": "Clear indices and data streams from the shared cache for partially mounted indices.\n\n## Required authorization\n\n* Index privileges: `manage`\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/searchable-snapshots.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/searchable-snapshots.html" }, "operationId": "searchable-snapshots-clear-cache-1", "parameters": [ @@ -33576,7 +33576,7 @@ "summary": "Clear the user cache", "description": "Evict users from the user cache.\nYou can completely clear the cache or evict specific users.\n\nUser credentials are cached in memory on each node to avoid connecting to a remote authentication service or hitting the disk for every incoming request.\nThere are realm settings that you can use to configure the user cache.\nFor more information, refer to the documentation about controlling the user cache.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/controlling-user-cache.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/controlling-user-cache.html" }, "operationId": "security-clear-cached-realms", "parameters": [ @@ -33702,7 +33702,7 @@ "summary": "Clear service account token caches", "description": "Evict a subset of all entries from the service account token caches.\nTwo separate caches exist for service account tokens: one cache for tokens backed by the `service_tokens` file, and another for tokens backed by the `.security` index.\nThis API clears matching entries from both caches.\n\nThe cache for service account tokens backed by the `.security` index is cleared automatically on state changes of the security index.\nThe cache for tokens backed by the `service_tokens` file is cleared automatically on file changes.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-clear-cached-service-tokens", "parameters": [ @@ -33908,7 +33908,7 @@ "summary": "Create an API key", "description": "Create an API key for access without requiring basic authentication.\n\nIMPORTANT: If the credential that is used to authenticate this request is an API key, the derived API key cannot have any privileges.\nIf you specify privileges, the API returns an error.\n\nA successful request returns a JSON structure that contains the API key, its unique id, and its name.\nIf applicable, it also returns expiration information for the API key in milliseconds.\n\nNOTE: By default, API keys never expire. You can specify expiration information when you create the API keys.\n\nThe API keys are created by the Elasticsearch API key service, which is automatically enabled.\nTo configure or turn off the API key service, refer to API key service setting documentation.\n\n## Required authorization\n\n* Cluster privileges: `manage_own_api_key`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#api-key-service-settings" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-settings.html#api-key-service-settings" }, "operationId": "security-create-api-key", "parameters": [ @@ -33933,7 +33933,7 @@ "summary": "Create an API key", "description": "Create an API key for access without requiring basic authentication.\n\nIMPORTANT: If the credential that is used to authenticate this request is an API key, the derived API key cannot have any privileges.\nIf you specify privileges, the API returns an error.\n\nA successful request returns a JSON structure that contains the API key, its unique id, and its name.\nIf applicable, it also returns expiration information for the API key in milliseconds.\n\nNOTE: By default, API keys never expire. You can specify expiration information when you create the API keys.\n\nThe API keys are created by the Elasticsearch API key service, which is automatically enabled.\nTo configure or turn off the API key service, refer to API key service setting documentation.\n\n## Required authorization\n\n* Cluster privileges: `manage_own_api_key`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#api-key-service-settings" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-settings.html#api-key-service-settings" }, "operationId": "security-create-api-key-1", "parameters": [ @@ -34087,7 +34087,7 @@ "summary": "Create a cross-cluster API key", "description": "Create an API key of the `cross_cluster` type for the API key based remote cluster access.\nA `cross_cluster` API key cannot be used to authenticate through the REST interface.\n\nIMPORTANT: To authenticate this request you must use a credential that is not an API key. Even if you use an API key that has the required privilege, the API returns an error.\n\nCross-cluster API keys are created by the Elasticsearch API key service, which is automatically enabled.\n\nNOTE: Unlike REST API keys, a cross-cluster API key does not capture permissions of the authenticated user. The API key’s effective permission is exactly as specified with the `access` property.\n\nA successful request returns a JSON structure that contains the API key, its unique ID, and its name. If applicable, it also returns expiration information for the API key in milliseconds.\n\nBy default, API keys never expire. You can specify expiration information when you create the API keys.\n\nCross-cluster API keys can only be updated with the update cross-cluster API key API.\nAttempting to update them with the update REST API key API or the bulk update REST API keys API will result in an error.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/remote-clusters-api-key.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/remote-clusters-api-key.html" }, "operationId": "security-create-cross-cluster-api-key", "requestBody": { @@ -34178,7 +34178,7 @@ "summary": "Create a service account token", "description": "Create a service accounts token for access without requiring basic authentication.\n\nNOTE: Service account tokens never expire.\nYou must actively delete them if they are no longer needed.\n\n## Required authorization\n\n* Cluster privileges: `manage_service_account`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-create-service-token", "parameters": [ @@ -34209,7 +34209,7 @@ "summary": "Create a service account token", "description": "Create a service accounts token for access without requiring basic authentication.\n\nNOTE: Service account tokens never expire.\nYou must actively delete them if they are no longer needed.\n\n## Required authorization\n\n* Cluster privileges: `manage_service_account`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-create-service-token-1", "parameters": [ @@ -34240,7 +34240,7 @@ "summary": "Delete service account tokens", "description": "Delete service account tokens for a service in a specified namespace.\n\n## Required authorization\n\n* Cluster privileges: `manage_service_account`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-delete-service-token", "parameters": [ @@ -34326,7 +34326,7 @@ "summary": "Create a service account token", "description": "Create a service accounts token for access without requiring basic authentication.\n\nNOTE: Service account tokens never expire.\nYou must actively delete them if they are no longer needed.\n\n## Required authorization\n\n* Cluster privileges: `manage_service_account`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-create-service-token-2", "parameters": [ @@ -34356,7 +34356,7 @@ "summary": "Delegate PKI authentication", "description": "This API implements the exchange of an X509Certificate chain for an Elasticsearch access token.\nThe certificate chain is validated, according to RFC 5280, by sequentially considering the trust configuration of every installed PKI realm that has `delegation.enabled` set to `true`.\nA successfully trusted client certificate is also subject to the validation of the subject distinguished name according to thw `username_pattern` of the respective realm.\n\nThis API is called by smart and trusted proxies, such as Kibana, which terminate the user's TLS session but still want to authenticate the user by using a PKI realm—-​as if the user connected directly to Elasticsearch.\n\nIMPORTANT: The association between the subject public key in the target certificate and the corresponding private key is not validated.\nThis is part of the TLS authentication process and it is delegated to the proxy that calls this API.\nThe proxy is trusted to have performed the TLS authentication and this API translates that authentication into an Elasticsearch access token.\n\n## Required authorization\n\n* Cluster privileges: `all`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/pki-realm.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/pki-realm.html" }, "operationId": "security-delegate-pki", "requestBody": { @@ -34438,7 +34438,7 @@ "summary": "Get application privileges", "description": "To use this API, you must have one of the following privileges:\n\n* The `read_security` cluster privilege (or a greater privilege such as `manage_security` or `all`).\n* The \"Manage Application Privileges\" global privilege for the application being referenced in the request.\n\n## Required authorization\n\n* Cluster privileges: `read_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-get-privileges-2", "parameters": [ @@ -34463,7 +34463,7 @@ "summary": "Delete application privileges", "description": "To use this API, you must have one of the following privileges:\n\n* The `manage_security` cluster privilege (or a greater privilege such as `all`).\n* The \"Manage Application Privileges\" global privilege for the application being referenced in the request.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-delete-privileges", "parameters": [ @@ -34554,7 +34554,7 @@ "summary": "Create or update roles", "description": "The role management APIs are generally the preferred way to manage roles in the native realm, rather than using file-based role management.\nThe create or update roles API cannot update roles that are defined in roles files.\nFile-based role management is not available in Elastic Serverless.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/defining-roles.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/defining-roles.html" }, "operationId": "security-put-role", "parameters": [ @@ -34582,7 +34582,7 @@ "summary": "Create or update roles", "description": "The role management APIs are generally the preferred way to manage roles in the native realm, rather than using file-based role management.\nThe create or update roles API cannot update roles that are defined in roles files.\nFile-based role management is not available in Elastic Serverless.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/defining-roles.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/defining-roles.html" }, "operationId": "security-put-role-1", "parameters": [ @@ -34671,7 +34671,7 @@ "summary": "Get role mappings", "description": "Role mappings define which roles are assigned to each user.\nThe role mapping APIs are generally the preferred way to manage role mappings rather than using role mapping files.\nThe get role mappings API cannot retrieve role mappings that are defined in role mapping files.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-roles.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-roles.html" }, "operationId": "security-get-role-mapping", "parameters": [ @@ -34693,7 +34693,7 @@ "summary": "Create or update role mappings", "description": "Role mappings define which roles are assigned to each user.\nEach mapping has rules that identify users and a list of roles that are granted to those users.\nThe role mapping APIs are generally the preferred way to manage role mappings rather than using role mapping files. The create or update role mappings API cannot update role mappings that are defined in role mapping files.\n\nNOTE: This API does not create roles. Rather, it maps users to existing roles.\nRoles can be created by using the create or update roles API or roles files.\n\n**Role templates**\n\nThe most common use for role mappings is to create a mapping from a known value on the user to a fixed role name.\nFor example, all users in the `cn=admin,dc=example,dc=com` LDAP group should be given the superuser role in Elasticsearch.\nThe `roles` field is used for this purpose.\n\nFor more complex needs, it is possible to use Mustache templates to dynamically determine the names of the roles that should be granted to the user.\nThe `role_templates` field is used for this purpose.\n\nNOTE: To use role templates successfully, the relevant scripting feature must be enabled.\nOtherwise, all attempts to create a role mapping with role templates fail.\n\nAll of the user fields that are available in the role mapping rules are also available in the role templates.\nThus it is possible to assign a user to a role that reflects their username, their groups, or the name of the realm to which they authenticated.\n\nBy default a template is evaluated to produce a single string that is the name of the role which should be assigned to the user.\nIf the format of the template is set to \"json\" then the template is expected to produce a JSON string or an array of JSON strings for the role names.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-roles.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-roles.html" }, "operationId": "security-put-role-mapping", "parameters": [ @@ -34721,7 +34721,7 @@ "summary": "Create or update role mappings", "description": "Role mappings define which roles are assigned to each user.\nEach mapping has rules that identify users and a list of roles that are granted to those users.\nThe role mapping APIs are generally the preferred way to manage role mappings rather than using role mapping files. The create or update role mappings API cannot update role mappings that are defined in role mapping files.\n\nNOTE: This API does not create roles. Rather, it maps users to existing roles.\nRoles can be created by using the create or update roles API or roles files.\n\n**Role templates**\n\nThe most common use for role mappings is to create a mapping from a known value on the user to a fixed role name.\nFor example, all users in the `cn=admin,dc=example,dc=com` LDAP group should be given the superuser role in Elasticsearch.\nThe `roles` field is used for this purpose.\n\nFor more complex needs, it is possible to use Mustache templates to dynamically determine the names of the roles that should be granted to the user.\nThe `role_templates` field is used for this purpose.\n\nNOTE: To use role templates successfully, the relevant scripting feature must be enabled.\nOtherwise, all attempts to create a role mapping with role templates fail.\n\nAll of the user fields that are available in the role mapping rules are also available in the role templates.\nThus it is possible to assign a user to a role that reflects their username, their groups, or the name of the realm to which they authenticated.\n\nBy default a template is evaluated to produce a single string that is the name of the role which should be assigned to the user.\nIf the format of the template is set to \"json\" then the template is expected to produce a JSON string or an array of JSON strings for the role names.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-roles.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-roles.html" }, "operationId": "security-put-role-mapping-1", "parameters": [ @@ -34749,7 +34749,7 @@ "summary": "Delete role mappings", "description": "Role mappings define which roles are assigned to each user.\nThe role mapping APIs are generally the preferred way to manage role mappings rather than using role mapping files.\nThe delete role mappings API cannot remove role mappings that are defined in role mapping files.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-roles.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-roles.html" }, "operationId": "security-delete-role-mapping", "parameters": [ @@ -35238,7 +35238,7 @@ "summary": "Get builtin privileges", "description": "Get the list of cluster privileges and index privileges that are available in this version of Elasticsearch.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-get-builtin-privileges", "responses": { @@ -35299,7 +35299,7 @@ "summary": "Get application privileges", "description": "To use this API, you must have one of the following privileges:\n\n* The `read_security` cluster privilege (or a greater privilege such as `manage_security` or `all`).\n* The \"Manage Application Privileges\" global privilege for the application being referenced in the request.\n\n## Required authorization\n\n* Cluster privileges: `read_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-get-privileges", "responses": { @@ -35316,7 +35316,7 @@ "summary": "Create or update application privileges", "description": "To use this API, you must have one of the following privileges:\n\n* The `manage_security` cluster privilege (or a greater privilege such as `all`).\n* The \"Manage Application Privileges\" global privilege for the application being referenced in the request.\n\nApplication names are formed from a prefix, with an optional suffix that conform to the following rules:\n\n* The prefix must begin with a lowercase ASCII letter.\n* The prefix must contain only ASCII letters or digits.\n* The prefix must be at least 3 characters long.\n* If the suffix exists, it must begin with either a dash `-` or `_`.\n* The suffix cannot contain any of the following characters: `\\`, `/`, `*`, `?`, `\"`, `<`, `>`, `|`, `,`, `*`.\n* No part of the name can contain whitespace.\n\nPrivilege names must begin with a lowercase ASCII letter and must contain only ASCII letters and digits along with the characters `_`, `-`, and `.`.\n\nAction names can contain any number of printable ASCII characters and must contain at least one of the following characters: `/`, `*`, `:`.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-put-privileges", "parameters": [ @@ -35341,7 +35341,7 @@ "summary": "Create or update application privileges", "description": "To use this API, you must have one of the following privileges:\n\n* The `manage_security` cluster privilege (or a greater privilege such as `all`).\n* The \"Manage Application Privileges\" global privilege for the application being referenced in the request.\n\nApplication names are formed from a prefix, with an optional suffix that conform to the following rules:\n\n* The prefix must begin with a lowercase ASCII letter.\n* The prefix must contain only ASCII letters or digits.\n* The prefix must be at least 3 characters long.\n* If the suffix exists, it must begin with either a dash `-` or `_`.\n* The suffix cannot contain any of the following characters: `\\`, `/`, `*`, `?`, `\"`, `<`, `>`, `|`, `,`, `*`.\n* No part of the name can contain whitespace.\n\nPrivilege names must begin with a lowercase ASCII letter and must contain only ASCII letters and digits along with the characters `_`, `-`, and `.`.\n\nAction names can contain any number of printable ASCII characters and must contain at least one of the following characters: `/`, `*`, `:`.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-put-privileges-1", "parameters": [ @@ -35368,7 +35368,7 @@ "summary": "Get application privileges", "description": "To use this API, you must have one of the following privileges:\n\n* The `read_security` cluster privilege (or a greater privilege such as `manage_security` or `all`).\n* The \"Manage Application Privileges\" global privilege for the application being referenced in the request.\n\n## Required authorization\n\n* Cluster privileges: `read_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-get-privileges-1", "parameters": [ @@ -35392,7 +35392,7 @@ "summary": "Get role mappings", "description": "Role mappings define which roles are assigned to each user.\nThe role mapping APIs are generally the preferred way to manage role mappings rather than using role mapping files.\nThe get role mappings API cannot retrieve role mappings that are defined in role mapping files.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-roles.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/mapping-roles.html" }, "operationId": "security-get-role-mapping-1", "responses": { @@ -35411,7 +35411,7 @@ "summary": "Get service accounts", "description": "Get a list of service accounts that match the provided path parameters.\n\nNOTE: Currently, only the `elastic/fleet-server` service account is available.\n\n## Required authorization\n\n* Cluster privileges: `manage_service_account`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-get-service-accounts", "parameters": [ @@ -35438,7 +35438,7 @@ "summary": "Get service accounts", "description": "Get a list of service accounts that match the provided path parameters.\n\nNOTE: Currently, only the `elastic/fleet-server` service account is available.\n\n## Required authorization\n\n* Cluster privileges: `manage_service_account`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-get-service-accounts-1", "parameters": [ @@ -35462,7 +35462,7 @@ "summary": "Get service accounts", "description": "Get a list of service accounts that match the provided path parameters.\n\nNOTE: Currently, only the `elastic/fleet-server` service account is available.\n\n## Required authorization\n\n* Cluster privileges: `manage_service_account`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-get-service-accounts-2", "responses": { @@ -35481,7 +35481,7 @@ "summary": "Get service account credentials", "description": "To use this API, you must have at least the `read_security` cluster privilege (or a greater privilege such as `manage_service_account` or `manage_security`).\n\nThe response includes service account tokens that were created with the create service account tokens API as well as file-backed tokens from all nodes of the cluster.\n\nNOTE: For tokens backed by the `service_tokens` file, the API collects them from all nodes of the cluster.\nTokens with the same name from different nodes are assumed to be the same token and are only counted once towards the total number of service tokens.\n\n## Required authorization\n\n* Cluster privileges: `read_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/service-accounts.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/service-accounts.html" }, "operationId": "security-get-service-credentials", "parameters": [ @@ -35689,7 +35689,7 @@ "summary": "Get a token", "description": "Create a bearer token for access without requiring basic authentication.\nThe tokens are created by the Elasticsearch Token Service, which is automatically enabled when you configure TLS on the HTTP interface.\nAlternatively, you can explicitly enable the `xpack.security.authc.token.enabled` setting.\nWhen you are running in production mode, a bootstrap check prevents you from enabling the token service unless you also enable TLS on the HTTP interface.\n\nThe get token API takes the same parameters as a typical OAuth 2.0 token API except for the use of a JSON request body.\n\nA successful get token API call returns a JSON structure that contains the access token, the amount of time (seconds) that the token expires in, the type, and the scope if available.\n\nThe tokens returned by the get token API have a finite period of time for which they are valid and after that time period, they can no longer be used.\nThat time period is defined by the `xpack.security.authc.token.timeout` setting.\nIf you want to invalidate a token immediately, you can do so by using the invalidate token API.\n\n## Required authorization\n\n* Cluster privileges: `manage_token`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup-https.html#encrypt-http-communication" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-basic-setup-https.html#encrypt-http-communication" }, "operationId": "security-get-token", "requestBody": { @@ -36238,7 +36238,7 @@ "summary": "Check user privileges", "description": "Determine whether the specified user has a specified list of privileges.\nAll users can use this API, but only to determine their own privileges.\nTo check the privileges of other users, you must use the run as feature.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-has-privileges", "requestBody": { @@ -36258,7 +36258,7 @@ "summary": "Check user privileges", "description": "Determine whether the specified user has a specified list of privileges.\nAll users can use this API, but only to determine their own privileges.\nTo check the privileges of other users, you must use the run as feature.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-has-privileges-1", "requestBody": { @@ -36280,7 +36280,7 @@ "summary": "Check user privileges", "description": "Determine whether the specified user has a specified list of privileges.\nAll users can use this API, but only to determine their own privileges.\nTo check the privileges of other users, you must use the run as feature.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-has-privileges-2", "parameters": [ @@ -36305,7 +36305,7 @@ "summary": "Check user privileges", "description": "Determine whether the specified user has a specified list of privileges.\nAll users can use this API, but only to determine their own privileges.\nTo check the privileges of other users, you must use the run as feature.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-privileges.html" }, "operationId": "security-has-privileges-3", "parameters": [ @@ -36332,7 +36332,7 @@ "summary": "Check user profile privileges", "description": "Determine whether the users associated with the specified user profile IDs have all the requested privileges.\n\nNOTE: The user profile feature is designed only for use by Kibana and Elastic's Observability, Enterprise Search, and Elastic Security solutions. Individual users and external applications should not call this API directly.\nElastic reserves the right to change or remove this feature in future releases without prior notice.\n\n## Required authorization\n\n* Cluster privileges: `read_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/user-profile.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/user-profile.html" }, "operationId": "security-has-privileges-user-profile", "requestBody": { @@ -36352,7 +36352,7 @@ "summary": "Check user profile privileges", "description": "Determine whether the users associated with the specified user profile IDs have all the requested privileges.\n\nNOTE: The user profile feature is designed only for use by Kibana and Elastic's Observability, Enterprise Search, and Elastic Security solutions. Individual users and external applications should not call this API directly.\nElastic reserves the right to change or remove this feature in future releases without prior notice.\n\n## Required authorization\n\n* Cluster privileges: `read_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/user-profile.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/user-profile.html" }, "operationId": "security-has-privileges-user-profile-1", "requestBody": { @@ -36772,7 +36772,7 @@ "summary": "Authenticate SAML", "description": "Submit a SAML response message to Elasticsearch for consumption.\n\nNOTE: This API is intended for use by custom web applications other than Kibana.\nIf you are using Kibana, refer to the documentation for configuring SAML single-sign-on on the Elastic Stack.\n\nThe SAML message that is submitted can be:\n\n* A response to a SAML authentication request that was previously created using the SAML prepare authentication API.\n* An unsolicited SAML message in the case of an IdP-initiated single sign-on (SSO) flow.\n\nIn either case, the SAML message needs to be a base64 encoded XML document with a root element of ``.\n\nAfter successful validation, Elasticsearch responds with an Elasticsearch internal access token and refresh token that can be subsequently used for authentication.\nThis API endpoint essentially exchanges SAML responses that indicate successful authentication in the IdP for Elasticsearch access and refresh tokens, which can be used for authentication against Elasticsearch.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/saml-guide-stack.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/saml-guide-stack.html" }, "operationId": "security-saml-authenticate", "requestBody": { @@ -36866,7 +36866,7 @@ "summary": "Logout of SAML completely", "description": "Verifies the logout response sent from the SAML IdP.\n\nNOTE: This API is intended for use by custom web applications other than Kibana.\nIf you are using Kibana, refer to the documentation for configuring SAML single-sign-on on the Elastic Stack.\n\nThe SAML IdP may send a logout response back to the SP after handling the SP-initiated SAML Single Logout.\nThis API verifies the response by ensuring the content is relevant and validating its signature.\nAn empty response is returned if the verification process is successful.\nThe response can be sent by the IdP with either the HTTP-Redirect or the HTTP-Post binding.\nThe caller of this API must prepare the request accordingly so that this API can handle either of them.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/saml-guide-stack.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/saml-guide-stack.html" }, "operationId": "security-saml-complete-logout", "requestBody": { @@ -36931,7 +36931,7 @@ "summary": "Invalidate SAML", "description": "Submit a SAML LogoutRequest message to Elasticsearch for consumption.\n\nNOTE: This API is intended for use by custom web applications other than Kibana.\nIf you are using Kibana, refer to the documentation for configuring SAML single-sign-on on the Elastic Stack.\n\nThe logout request comes from the SAML IdP during an IdP initiated Single Logout.\nThe custom web application can use this API to have Elasticsearch process the `LogoutRequest`.\nAfter successful validation of the request, Elasticsearch invalidates the access token and refresh token that corresponds to that specific SAML principal and provides a URL that contains a SAML LogoutResponse message.\nThus the user can be redirected back to their IdP.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/saml-guide-stack.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/saml-guide-stack.html" }, "operationId": "security-saml-invalidate", "requestBody": { @@ -37015,7 +37015,7 @@ "summary": "Logout of SAML", "description": "Submits a request to invalidate an access token and refresh token.\n\nNOTE: This API is intended for use by custom web applications other than Kibana.\nIf you are using Kibana, refer to the documentation for configuring SAML single-sign-on on the Elastic Stack.\n\nThis API invalidates the tokens that were generated for a user by the SAML authenticate API.\nIf the SAML realm in Elasticsearch is configured accordingly and the SAML IdP supports this, the Elasticsearch response contains a URL to redirect the user to the IdP that contains a SAML logout request (starting an SP-initiated SAML Single Logout).", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/saml-guide-stack.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/saml-guide-stack.html" }, "operationId": "security-saml-logout", "requestBody": { @@ -37085,7 +37085,7 @@ "summary": "Prepare SAML authentication", "description": "Create a SAML authentication request (``) as a URL string based on the configuration of the respective SAML realm in Elasticsearch.\n\nNOTE: This API is intended for use by custom web applications other than Kibana.\nIf you are using Kibana, refer to the documentation for configuring SAML single-sign-on on the Elastic Stack.\n\nThis API returns a URL pointing to the SAML Identity Provider.\nYou can use the URL to redirect the browser of the user in order to continue the authentication process.\nThe URL includes a single parameter named `SAMLRequest`, which contains a SAML Authentication request that is deflated and Base64 encoded.\nIf the configuration dictates that SAML authentication requests should be signed, the URL has two extra parameters named `SigAlg` and `Signature`.\nThese parameters contain the algorithm used for the signature and the signature value itself.\nIt also returns a random string that uniquely identifies this SAML Authentication request.\nThe caller of this API needs to store this identifier as it needs to be used in a following step of the authentication process.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/saml-guide-stack.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/saml-guide-stack.html" }, "operationId": "security-saml-prepare-authentication", "requestBody": { @@ -37356,7 +37356,7 @@ "summary": "Update a cross-cluster API key", "description": "Update the attributes of an existing cross-cluster API key, which is used for API key based remote cluster access.\n\nTo use this API, you must have at least the `manage_security` cluster privilege.\nUsers can only update API keys that they created.\nTo update another user's API key, use the `run_as` feature to submit a request on behalf of another user.\n\nIMPORTANT: It's not possible to use an API key as the authentication credential for this API.\nTo update an API key, the owner user's credentials are required.\n\nIt's not possible to update expired API keys, or API keys that have been invalidated by the invalidate API key API.\n\nThis API supports updates to an API key's access scope, metadata, and expiration.\nThe owner user's information, such as the `username` and `realm`, is also updated automatically on every call.\n\nNOTE: This API cannot update REST API keys, which should be updated by either the update API key or bulk update API keys API.\n\n## Required authorization\n\n* Cluster privileges: `manage_security`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/remote-clusters-api-key.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/remote-clusters-api-key.html" }, "operationId": "security-update-cross-cluster-api-key", "parameters": [ @@ -38364,7 +38364,7 @@ "summary": "Clean up the snapshot repository", "description": "Trigger the review of the contents of a snapshot repository and delete any stale data not referenced by existing snapshots.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#snapshots-repository-cleanup" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-register-repository.html#snapshots-repository-cleanup" }, "operationId": "snapshot-cleanup-repository", "parameters": [ @@ -38738,7 +38738,7 @@ "summary": "Create a snapshot", "description": "Take a snapshot of a cluster or of data streams and indices.\n\n## Required authorization\n\n* Cluster privileges: `create_snapshot`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-take-snapshot.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-take-snapshot.html" }, "operationId": "snapshot-create", "parameters": [ @@ -38772,7 +38772,7 @@ "summary": "Create a snapshot", "description": "Take a snapshot of a cluster or of data streams and indices.\n\n## Required authorization\n\n* Cluster privileges: `create_snapshot`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-take-snapshot.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-take-snapshot.html" }, "operationId": "snapshot-create-1", "parameters": [ @@ -38894,7 +38894,7 @@ "summary": "Create or update a snapshot repository", "description": "IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.\nTo register a snapshot repository, the cluster's global metadata must be writeable.\nEnsure there are no cluster blocks (for example, `cluster.blocks.read_only` and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-register-repository.html" }, "operationId": "snapshot-create-repository", "parameters": [ @@ -38928,7 +38928,7 @@ "summary": "Create or update a snapshot repository", "description": "IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.\nTo register a snapshot repository, the cluster's global metadata must be writeable.\nEnsure there are no cluster blocks (for example, `cluster.blocks.read_only` and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-register-repository.html" }, "operationId": "snapshot-create-repository-1", "parameters": [ @@ -39296,7 +39296,7 @@ "summary": "Restore a snapshot", "description": "Restore a snapshot of a cluster or data streams and indices.\n\nYou can restore a snapshot only to a running cluster with an elected master node.\nThe snapshot repository must be registered and available to the cluster.\nThe snapshot and cluster versions must be compatible.\n\nTo restore a snapshot, the cluster's global metadata must be writable. Ensure there are't any cluster blocks that prevent writes. The restore operation ignores index blocks.\n\nBefore you restore a data stream, ensure the cluster contains a matching index template with data streams enabled. To check, use the index management feature in Kibana or the get index template API:\n\n```\nGET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream\n```\n\nIf no such template exists, you can create one or restore a cluster state that contains one. Without a matching index template, a data stream can't roll over or create backing indices.\n\nIf your snapshot contains data from App Search or Workplace Search, you must restore the Enterprise Search encryption key before you restore the snapshot.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-restore-snapshot.html" }, "operationId": "snapshot-restore", "parameters": [ @@ -39514,7 +39514,7 @@ "summary": "Verify a snapshot repository", "description": "Check for common misconfigurations in a snapshot repository.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#snapshots-repository-verification" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/snapshots-register-repository.html#snapshots-repository-verification" }, "operationId": "snapshot-verify-repository", "parameters": [ @@ -39936,7 +39936,7 @@ "summary": "Get SSL certificates", "description": "Get information about the X.509 certificates that are used to encrypt communications in the cluster.\nThe API returns a list that includes certificates from all TLS contexts including:\n\n- Settings for transport and HTTP interfaces\n- TLS settings that are used within authentication realms\n- TLS settings for remote monitoring exporters\n\nThe list includes certificates that are used for configuring trust, such as those configured in the `xpack.security.transport.ssl.truststore` and `xpack.security.transport.ssl.certificate_authorities` settings.\nIt also includes certificates that are used for configuring server identity, such as `xpack.security.http.ssl.keystore` and `xpack.security.http.ssl.certificate settings`.\n\nThe list does not include certificates that are sourced from the default SSL context of the Java Runtime Environment (JRE), even if those certificates are in use within Elasticsearch.\n\nNOTE: When a PKCS#11 token is configured as the truststore of the JRE, the API returns all the certificates that are included in the PKCS#11 token irrespective of whether these are used in the Elasticsearch TLS configuration.\n\nIf Elasticsearch is configured to use a keystore or truststore, the API output includes all certificates in that store, even though some of the certificates might not be in active use within the cluster.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup.html#encrypt-internode-communication" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-basic-setup.html#encrypt-internode-communication" }, "operationId": "ssl-certificates", "responses": { @@ -41595,7 +41595,7 @@ "summary": "Test a Grok pattern", "description": "Test a Grok pattern on one or more lines of text.\nThe API indicates whether the lines match the pattern together with the offsets and lengths of the matched substrings.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/grok.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/grok.html" }, "operationId": "text-structure-test-grok-pattern", "parameters": [ @@ -41620,7 +41620,7 @@ "summary": "Test a Grok pattern", "description": "Test a Grok pattern on one or more lines of text.\nThe API indicates whether the lines match the pattern together with the offsets and lengths of the matched substrings.", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/grok.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/grok.html" }, "operationId": "text-structure-test-grok-pattern-1", "parameters": [ @@ -43484,7 +43484,7 @@ "summary": "Activate a watch", "description": "A watch can be either active or inactive.\n\n## Required authorization\n\n* Cluster privileges: `manage_watcher`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/how-watcher-works.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/how-watcher-works.html" }, "operationId": "watcher-activate-watch", "parameters": [ @@ -43506,7 +43506,7 @@ "summary": "Activate a watch", "description": "A watch can be either active or inactive.\n\n## Required authorization\n\n* Cluster privileges: `manage_watcher`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/how-watcher-works.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/how-watcher-works.html" }, "operationId": "watcher-activate-watch-1", "parameters": [ @@ -43530,7 +43530,7 @@ "summary": "Deactivate a watch", "description": "A watch can be either active or inactive.\n\n## Required authorization\n\n* Cluster privileges: `manage_watcher`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/how-watcher-works.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/how-watcher-works.html" }, "operationId": "watcher-deactivate-watch", "parameters": [ @@ -43552,7 +43552,7 @@ "summary": "Deactivate a watch", "description": "A watch can be either active or inactive.\n\n## Required authorization\n\n* Cluster privileges: `manage_watcher`\n", "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/how-watcher-works.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/how-watcher-works.html" }, "operationId": "watcher-deactivate-watch-1", "parameters": [ @@ -44513,7 +44513,7 @@ }, "_types.aggregations.Aggregate": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-aggregations.html" }, "oneOf": [ { @@ -49906,7 +49906,7 @@ }, "_types.query_dsl.QueryContainer": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl.html" }, "description": "An Elasticsearch Query DSL (Domain Specific Language) object that defines a query.", "type": "object", @@ -49946,7 +49946,7 @@ }, "fuzzy": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-fuzzy-query.html" }, "description": "Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.", "type": "object", @@ -49988,7 +49988,7 @@ }, "intervals": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-intervals-query.html" }, "description": "Returns documents based on the order and proximity of matching terms.", "type": "object", @@ -50003,7 +50003,7 @@ }, "match": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-match-query.html" }, "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", "type": "object", @@ -50018,7 +50018,7 @@ }, "match_bool_prefix": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-match-bool-prefix-query.html" }, "description": "Analyzes its input and constructs a `bool` query from the terms.\nEach term except the last is used in a `term` query.\nThe last term is used in a prefix query.", "type": "object", @@ -50033,7 +50033,7 @@ }, "match_phrase": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-match-query-phrase.html" }, "description": "Analyzes the text and creates a phrase query out of the analyzed text.", "type": "object", @@ -50045,7 +50045,7 @@ }, "match_phrase_prefix": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-match-query-phrase-prefix.html" }, "description": "Returns documents that contain the words of a provided text, in the same order as provided.\nThe last term of the provided text is treated as a prefix, matching any words that begin with that term.", "type": "object", @@ -50075,7 +50075,7 @@ }, "prefix": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-prefix-query.html" }, "description": "Returns documents that contain a specific prefix in a provided field.", "type": "object", @@ -50090,7 +50090,7 @@ }, "range": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-range-query.html" }, "description": "Returns documents that contain terms within a provided range.", "type": "object", @@ -50105,7 +50105,7 @@ }, "regexp": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-regexp-query.html" }, "description": "Returns documents that contain terms matching a regular expression.", "type": "object", @@ -50156,7 +50156,7 @@ }, "span_term": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-term-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-span-term-query.html" }, "description": "Matches spans containing a term.", "type": "object", @@ -50174,7 +50174,7 @@ }, "term": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-term-query.html" }, "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", "type": "object", @@ -50189,7 +50189,7 @@ }, "terms_set": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-set-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-terms-set-query.html" }, "description": "Returns documents that contain a minimum number of exact terms in a provided field.\nTo return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.", "type": "object", @@ -50202,7 +50202,7 @@ "text_expansion": { "deprecated": true, "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-text-expansion-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-text-expansion-query.html" }, "description": "Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.", "x-state": "Generally available; Added in 8.8.0", @@ -50216,7 +50216,7 @@ "weighted_tokens": { "deprecated": true, "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-weighted-tokens-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-weighted-tokens-query.html" }, "description": "Supports returning text_expansion query results by sending in precomputed tokens with the query.", "x-state": "Generally available; Added in 8.13.0", @@ -50229,7 +50229,7 @@ }, "wildcard": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-wildcard-query.html" }, "description": "Returns documents that contain terms matching a wildcard pattern.", "type": "object", @@ -50503,7 +50503,7 @@ }, "_types.query_dsl.DistanceFeatureQuery": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-distance-feature-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-distance-feature-query.html" }, "oneOf": [ { @@ -51759,7 +51759,7 @@ }, { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-intervals-query.html" }, "type": "object", "properties": { @@ -52363,7 +52363,7 @@ "properties": { "analyzer": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis.html" }, "description": "The analyzer that is used to analyze the free form text.\nDefaults to the analyzer associated with the first field in fields.", "type": "string" @@ -52771,7 +52771,7 @@ }, { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-pinned-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-pinned-query.html" }, "allOf": [ { @@ -52966,7 +52966,7 @@ }, "_types.query_dsl.RangeQuery": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-range-query.html" }, "oneOf": [ { @@ -53899,7 +53899,7 @@ }, { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-sparse-vector-query.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-dsl-sparse-vector-query.html" }, "allOf": [ { @@ -57482,7 +57482,7 @@ }, "deciders": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-deciders.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/autoscaling-deciders.html" }, "description": "Decider settings.", "type": "object", @@ -63836,7 +63836,7 @@ }, "_types.analysis.CharFilter": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-charfilters.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis-charfilters.html" }, "oneOf": [ { @@ -64026,7 +64026,7 @@ }, "_types.analysis.TokenFilter": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenfilters.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis-tokenfilters.html" }, "oneOf": [ { @@ -66603,7 +66603,7 @@ }, "_types.analysis.Tokenizer": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenizers.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/analysis-tokenizers.html" }, "oneOf": [ { @@ -75777,7 +75777,7 @@ "properties": { "aggregations": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-aggregations.html" }, "type": "object", "additionalProperties": { @@ -84542,7 +84542,7 @@ }, "pipeline": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html" + "url": "https://www.elastic.co/guide/en/logstash/8.x/configuration-file-structure.html" }, "description": "The configuration for the pipeline.", "type": "string" @@ -95061,7 +95061,7 @@ }, "run_as": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/run-as-privilege.html" }, "description": "A list of users that the API keys can impersonate.\nNOTE: In Elastic Cloud Serverless, the run-as feature is disabled.\nFor API compatibility, you can still specify an empty `run_as` field, but a non-empty list will be rejected.", "type": "array", @@ -96039,7 +96039,7 @@ }, "run_as": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/run-as-privilege.html" }, "description": "A list of users that the API keys can impersonate.", "type": "array", @@ -96231,7 +96231,7 @@ "properties": { "field_security": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/field-and-document-access-control.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/field-and-document-access-control.html" }, "description": "The document fields that the owners of the role have read access to.", "type": "array", @@ -96276,7 +96276,7 @@ "properties": { "field_security": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/field-and-document-access-control.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/field-and-document-access-control.html" }, "description": "The document fields that the owners of the role have read access to.", "type": "array", @@ -119363,7 +119363,7 @@ "properties": { "aggregations": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-agg-limitations.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/rollup-agg-limitations.html" }, "description": "Specifies aggregations.", "type": "object", @@ -119492,7 +119492,7 @@ }, "indices_boost": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html#relevance-scores" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/query-filter-context.html#relevance-scores" }, "description": "Boost the `_score` of documents from specified indices.\nThe boost value is the factor by which scores are multiplied.\nA boost value greater than `1.0` increases the score.\nA boost value between `0` and `1.0` decreases the score.", "type": "array", @@ -119507,7 +119507,7 @@ }, "docvalue_fields": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-fields.html#docvalue-fields" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/search-fields.html#docvalue-fields" }, "description": "An array of wildcard (`*`) field patterns.\nThe request returns doc values for field names matching these patterns in the `hits.fields` property of the response.", "type": "array", @@ -119517,7 +119517,7 @@ }, "knn": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/knn-search.html#approximate-knn" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/knn-search.html#approximate-knn" }, "description": "The approximate kNN search to run.", "x-state": "Generally available; Added in 8.4.0", @@ -119618,7 +119618,7 @@ }, "seq_no_primary_term": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/optimistic-concurrency-control.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/optimistic-concurrency-control.html" }, "description": "If `true`, the request returns sequence number and primary term of the last modification of each hit.", "type": "boolean" @@ -119833,7 +119833,7 @@ }, "role_descriptors": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-api-put-role.html" }, "description": "An array of role descriptors for this API key.\nWhen it is not specified or it is an empty array, the API key will have a point in time snapshot of permissions of the authenticated user.\nIf you supply role descriptors, the resultant permissions are an intersection of API keys permissions and the authenticated user's permissions thereby limiting the access scope for API keys.\nThe structure of role descriptor is the same as the request for the create role API.\nFor more details, refer to the create or update roles API.\n\nNOTE: Due to the way in which this permission intersection is calculated, it is not possible to create an API key that is a child of another API key, unless the derived key is created without any privileges.\nIn this case, you must explicitly specify a role descriptor with no privileges.\nThe derived API key can be used for authentication; it will not have authority to call Elasticsearch APIs.", "type": "object", @@ -120009,7 +120009,7 @@ }, "run_as": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/run-as-privilege.html" }, "description": "A list of users that the owners of this role can impersonate. *Note*: in Serverless, the run-as feature is disabled. For API compatibility, you can still specify an empty `run_as` field, but a non-empty list will be rejected.", "type": "array", @@ -120181,7 +120181,7 @@ }, "password_hash": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#hashing-settings" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/security-settings.html#hashing-settings" }, "description": "A hash of the user's password.\nThis must be produced using the same hashing algorithm as has been configured for password storage.\nFor more details, see the explanation of the `xpack.security.authc.password_hashing.algorithm` setting in the user cache and password hash algorithm documentation.\nUsing this parameter allows the client to pre-hash the password for performance and/or confidentiality reasons.\nThe `password` parameter and the `password_hash` parameter cannot be used in the same request.", "type": "string" @@ -120583,7 +120583,7 @@ }, "columnar": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-rest-columnar.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/sql-rest-columnar.html" }, "description": "If `true`, the results are in a columnar fashion: one row represents all the values of a certain column from the current page of results.\nThe API supports this parameter only for CBOR, JSON, SMILE, and YAML responses.", "type": "boolean" @@ -120626,7 +120626,7 @@ }, "query": { "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-spec.html" + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/8.x/sql-spec.html" }, "description": "The SQL query to run.", "type": "string" diff --git a/specification/eql/search/examples/request/EqlSearchRequestExample2.yaml b/specification/eql/search/examples/request/EqlSearchRequestExample2.yaml index 22279323a7..f203505e14 100644 --- a/specification/eql/search/examples/request/EqlSearchRequestExample2.yaml +++ b/specification/eql/search/examples/request/EqlSearchRequestExample2.yaml @@ -51,7 +51,7 @@ alternatives: ]\\n [ process where stringContains(process.executable, \\\"regsvr32\\\") ]\\n \"}' \"$ELASTICSEARCH_URL/my-data-stream/_eql/search\"" - language: Java - code: | + code: > client.eql().search(s -> s .index("my-data-stream") .query(" sequence by process.pid [ file where file.name == \"cmd.exe\" and process.pid != 2013 ][ process where stringContains(process.executable, \"regsvr32\") ] ") diff --git a/specification/esql/query/examples/request/QueryRequestExample1.yaml b/specification/esql/query/examples/request/QueryRequestExample1.yaml index c7706a3e0d..b673788bac 100644 --- a/specification/esql/query/examples/request/QueryRequestExample1.yaml +++ b/specification/esql/query/examples/request/QueryRequestExample1.yaml @@ -49,7 +49,7 @@ alternatives: library,remote-*:library\\n | EVAL year = DATE_TRUNC(1 YEARS, release_date)\\n | STATS MAX(page_count) BY year\\n | SORT year\\n | LIMIT 5\\n \",\"include_ccs_metadata\":true}' \"$ELASTICSEARCH_URL/_query\"" - language: Java - code: | + code: > client.esql().query(q -> q .includeCcsMetadata(true) .query(" FROM library,remote-*:library | EVAL year = DATE_TRUNC(1 YEARS, release_date) | STATS MAX(page_count) BY year | SORT year | LIMIT 5 ") diff --git a/specification/ml/infer_trained_model/examples/request/MlInferTrainedModelExample1.yaml b/specification/ml/infer_trained_model/examples/request/MlInferTrainedModelExample1.yaml index b10a3fe433..2d671a7d2f 100644 --- a/specification/ml/infer_trained_model/examples/request/MlInferTrainedModelExample1.yaml +++ b/specification/ml/infer_trained_model/examples/request/MlInferTrainedModelExample1.yaml @@ -55,7 +55,7 @@ alternatives: ''{"docs":[{"text":"The fool doth think he is wise, but the wise man knows himself to be a fool."}]}'' "$ELASTICSEARCH_URL/_ml/trained_models/lang_ident_model_1/_infer"' - language: Java - code: | + code: > client.ml().inferTrainedModel(i -> i .docs(Map.of("text", JsonData.fromJson("\"The fool doth think he is wise, but the wise man knows himself to be a fool.\""))) .modelId("lang_ident_model_1")