Repository: elastic-rs/elastic (language: rust)

Issue:
TLS negotiation failure with rustls against ES 7.1.0
I'm using 0.21.pre4 against ES 7.1.0.  TLS negotiation fails with 'no cipher suites in common'.

Looking at docs, the default cipher set for Java/elastic, even with the 'stronger' crypto modules enabled, don't include any GCM modes, mostly various bit-lengths of AES CBC modes. Meanwhile, rustls only includes ciphers with PFS, so there's nothing in common.  Notionally I can add those to ES by editing config and digging through ES and Oracle doc links to find magic strings.

But the net result is that the elastic crate in default config won't talk to elasticsearch in default config with TLS, and that's probably not desirable as much as we'd prefer to have stronger ciphers used.

Workaround is instead to pull in `reqwest` directly in my own `Cargo.toml` to add back the default feature, so it links against `native-tls` (openssl) again.

Related to #341 and #336


Discussion / hints:
Thanks for the report @dcarosone 

This is unfortunate. I think we could look at mirroring `reqwest`'s TLS features, so you opt-in to either `openssl` or `rustls`:

```toml
[dependencies.reqwest]
default-features = false

[features]
rustls-tls = [
    "reqwest/rustls-tls"
]

default-tls = [
    "reqwest/default-tls"
]
```

That way you could pick the implementation to use.

What do you think?
That seems fine, and a simple enough way to avoid cargo tricks and/or risk pulling in multiple versions.

Also worth noting (in doc for those options) that, for rustls, if you're using an internal CA you'll need to add the trust manually. I did this, which you're welcome to take for an example:


```rust
let http_client = reqwest::ClientBuilder::new()
    .add_root_certificate(
        reqwest::Certificate::from_pem(include_bytes!("../My-Internal-CA.pem")).unwrap(),
    )
    .build()
    .unwrap();

let client = SyncClientBuilder::new()
    .static_node("https://my-es-ingest-node:9200")
    .http_client(http_client)
    .params_fluent(|p| { ... }
    .build()
    .unwrap();
```

.. but that became irrelevant (or at least unnecessary) when I had to switch back to openssl, because the cert is installed in the OS trust store.

Fix patch:
diff --git a/README.md b/README.md
index e7e1559457..a04dfb2496 100644
--- a/README.md
+++ b/README.md
@@ -33,8 +33,8 @@ Add `elastic` to your `Cargo.toml`:
 
 ```toml
 [dependencies]
-elastic = "0.21.0-pre.4"
-elastic_derive = "0.21.0-pre.4"
+elastic = "0.21.0-pre.5"
+elastic_derive = "0.21.0-pre.5"
 serde_json = "1"
 ```
 
diff --git a/examples/account_sample/Cargo.toml b/examples/account_sample/Cargo.toml
index 3386986e6b..b22f69a375 100644
--- a/examples/account_sample/Cargo.toml
+++ b/examples/account_sample/Cargo.toml
@@ -5,8 +5,8 @@ authors = ["Ashley Mannix <ashleymannix@live.com.au>"]
 publish = false
 
 [dependencies]
-elastic = { version = "~0.21.0-pre.4", path = "../../src/elastic" }
-elastic_derive = { version = "~0.21.0-pre.4", path = "../../src/elastic_derive" }
+elastic = { version = "~0.21.0-pre.5", path = "../../src/elastic" }
+elastic_derive = { version = "~0.21.0-pre.5", path = "../../src/elastic_derive" }
 
 quick-error = "~1"
 serde = "~1"
diff --git a/src/elastic/Cargo.toml b/src/elastic/Cargo.toml
index 5db75cce59..3fe18a5cdb 100644
--- a/src/elastic/Cargo.toml
+++ b/src/elastic/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "elastic"
-version = "0.21.0-pre.4"
+version = "0.21.0-pre.5"
 edition = "2018"
 authors = ["Ashley Mannix <ashleymannix@live.com.au>"]
 license = "MIT/Apache-2.0"
@@ -14,8 +14,17 @@ readme = "../../README.md"
 travis-ci = { repository = "elastic-rs/elastic" }
 appveyor = { repository = "elastic-rs/elastic" }
 
+[features]
+rustls-tls = [
+    "reqwest/rustls-tls"
+]
+
+default-tls = [
+    "reqwest/default-tls"
+]
+
 [dependencies]
-elastic_derive = { version = "~0.21.0-pre.4", path = "../elastic_derive" }
+elastic_derive = { version = "~0.21.0-pre.5", path = "../elastic_derive" }
 
 quick-error = "~1"
 error-chain = "~0.11"
@@ -27,7 +36,7 @@ http = "~0.1"
 serde = "~1"
 serde_json = "~1"
 serde_derive = "~1"
-reqwest = { version = "~0.9", default-features = false, features = ["rustls-tls"]}
+reqwest = { version = "~0.9", default-features = false }
 futures = "~0.1"
 tokio = "~0.1"
 tokio-threadpool = "~0.1"
diff --git a/src/elastic/src/client/mod.rs b/src/elastic/src/client/mod.rs
index 12f4ea3b31..36ab03c50e 100644
--- a/src/elastic/src/client/mod.rs
+++ b/src/elastic/src/client/mod.rs
@@ -133,19 +133,38 @@ The details are explained below.
 # Request builders
 
 Some commonly used endpoints have high-level builder methods you can use to configure requests easily.
-They're exposed as methods on the `Client`:
+They're exposed as methods on the `Client`.
+
+## Common requests
+
+These request methods are called directly on a [`Client`][`Client`].
 
 Client method                                                 | Elasticsearch API                  | Raw request type                                        | Response type
 ------------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------- | ------------------------------------
 [`search`][Client.search]                                     | [Search][docs-search]              | [`SearchRequest`][SearchRequest]                        | [`SearchResponse`][SearchResponse]
 [`bulk`][Client.bulk]                                         | [Bulk][docs-bulk]                  | [`BulkRequest`][BulkRequest]                            | [`BulkResponse`][BulkResponse]
 [`ping`][Client.ping]                                         | -                                  | [`PingRequest`][PingRequest]                            | [`PingResponse`][PingResponse]
+[`sql`][Client.sql]                                           | [SQL][docs-sql]                    | [`SqlQueryRequest`][SqlQueryRequest]                    | [`SqlQueryResponse`][SqlQueryResponse]
+
+## Document requests
+
+These request methods are called on a [`DocumentClient`][`DocumentClient`].
+
+Client method                                                 | Elasticsearch API                  | Raw request type                                        | Response type
+------------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------- | ------------------------------------
 [`document.search`][Client.document.search]                   | [Search][docs-search]              | [`SearchRequest`][SearchRequest]                        | [`SearchResponse`][SearchResponse]
 [`document.get`][Client.document.get]                         | [Get Document][docs-get]           | [`GetRequest`][GetRequest]                              | [`GetResponse`][GetResponse]
 [`document.index`][Client.document.index]                     | [Index Document][docs-index]       | [`IndexRequest`][IndexRequest]                          | [`IndexResponse`][IndexResponse]
 [`document.update`][Client.document.update]                   | [Update Document][docs-update]     | [`UpdateRequest`][UpdateRequest]                        | [`UpdateResponse`][UpdateResponse]
 [`document.delete`][Client.document.delete]                   | [Delete Document][docs-delete]     | [`DeleteRequest`][DeleteRequest]                        | [`DeleteResponse`][DeleteResponse]
 [`document.put_mapping`][Client.document.put_mapping]         | [Put Mapping][docs-mapping]        | [`IndicesPutMappingRequest`][IndicesPutMappingRequest]  | [`CommandResponse`][CommandResponse]
+
+## Index requests
+
+These request methods are called on a [`IndexClient`][`IndexClient`].
+
+Client method                                                 | Elasticsearch API                  | Raw request type                                        | Response type
+------------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------- | ------------------------------------
 [`index.create`][Client.index.create]                         | [Create Index][docs-create-index]  | [`IndicesCreateRequest`][IndicesCreateRequest]          | [`CommandResponse`][CommandResponse]
 [`index.open`][Client.index.open]                             | [Open Index][docs-open-index]      | [`IndicesOpenRequest`][IndicesOpenRequest]              | [`CommandResponse`][CommandResponse]
 [`index.close`][Client.index.close]                           | [Close Index][docs-close-index]    | [`IndicesCloseRequest`][IndicesCloseRequest]            | [`CommandResponse`][CommandResponse]
@@ -217,7 +236,7 @@ The basic flow from request to response is:
 [RawRequestBuilder.send()] ---> [ResponseBuilder]
 ```
 
-**3)** Parse the response builder to a [response type][response-types]:
+**3)** Parse the response builder to a response type:
 
 ```text
 [ResponseBuilder.into_response()] ---> [ResponseType]
@@ -316,7 +335,7 @@ let response = request_builder.send();
 
 ### 3. Parsing responses synchronously
 
-Call [`SyncResponseBuilder.into_response`][SyncResponseBuilder.into_response] on a sent request to get a [strongly typed response][response-types]:
+Call [`SyncResponseBuilder.into_response`][SyncResponseBuilder.into_response] on a sent request to get a [strongly typed response][responses-mod]:
 
 ```no_run
 # #[macro_use] extern crate serde_json;
@@ -385,7 +404,7 @@ For more details see the [`responses`][responses-mod] module.
 
 ### 3. Parsing responses asynchronously
 
-Call [`AsyncResponseBuilder.into_response`][AsyncResponseBuilder.into_response] on a sent request to get a [strongly typed response][response-types]:
+Call [`AsyncResponseBuilder.into_response`][AsyncResponseBuilder.into_response] on a sent request to get a [strongly typed response][responses-mod]:
 
 ```no_run
 # #[macro_use] extern crate serde_json;
@@ -453,18 +472,19 @@ future.and_then(|body| {
 `AsyncHttpResponse` implements the async `Stream` trait so you can buffer out the raw response data.
 For more details see the [`responses`][responses-mod] module.
 
-[docs-bulk]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html
-[docs-search]: http://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html
-[docs-get]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html
-[docs-update]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html
-[docs-delete]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html
-[docs-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html
-[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping.html
-[docs-create-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html
-[docs-close-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
-[docs-open-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
-[docs-index-exists]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html
-[docs-delete-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html
+[docs-bulk]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html
+[docs-search]: http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html
+[docs-sql]: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-spec.html
+[docs-get]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
+[docs-update]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html
+[docs-delete]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html
+[docs-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html
+[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html
+[docs-create-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
+[docs-close-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html
+[docs-open-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html
+[docs-index-exists]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html
+[docs-delete-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html
 
 [tokio]: https://tokio.rs
 
@@ -474,9 +494,13 @@ For more details see the [`responses`][responses-mod] module.
 [SyncClientBuilder]: struct.SyncClientBuilder.html
 [AsyncClient]: type.AsyncClient.html
 [AsyncClientBuilder]: struct.AsyncClientBuilder.html
+[`Client`]: struct.Client.html
+[`DocumentClient`]: struct.DocumentClient.html
+[`IndexClient`]: struct.IndexClient.html
 [Client.request]: struct.Client.html#method.request
 [Client.bulk]: struct.Client.html#bulk-request
 [Client.search]: struct.Client.html#search-request
+[Client.sql]: struct.Client.html#sql-request
 [Client.document.search]: struct.DocumentClient.html#search-request
 [Client.document.get]: struct.DocumentClient.html#get-document-request
 [Client.document.update]: struct.DocumentClient.html#update-document-request
@@ -494,6 +518,7 @@ For more details see the [`responses`][responses-mod] module.
 [RequestBuilder.params]: requests/struct.RequestBuilder.html#method.params
 [RawRequestBuilder]: requests/type.RawRequestBuilder.html
 [SearchRequest]: requests/endpoints/struct.SearchRequest.html
+[SqlQueryRequest]: requests/endpoints/struct.SqlQueryRequest.html
 [BulkRequest]: requests/endpoints/struct.BulkRequest.html
 [GetRequest]: requests/endpoints/struct.GetRequest.html
 [UpdateRequest]: requests/endpoints/struct.UpdateRequest.html
@@ -508,13 +533,14 @@ For more details see the [`responses`][responses-mod] module.
 [PingRequest]: requests/endpoints/struct.PingRequest.html
 
 [responses-mod]: responses/index.html
-[SyncResponseBuilder]: responses/struct.SyncResponseBuilder.html
-[SyncResponseBuilder.into_response]: responses/struct.SyncResponseBuilder.html#method.into_response
-[SyncResponseBuilder.into_raw]: responses/struct.SyncResponseBuilder.html#method.into_raw
-[AsyncResponseBuilder]: responses/struct.AsyncResponseBuilder.html
-[AsyncResponseBuilder.into_response]: responses/struct.AsyncResponseBuilder.html#method.into_response
-[AsyncResponseBuilder.into_raw]: responses/struct.AsyncResponseBuilder.html#method.into_raw
+[SyncResponseBuilder]: ../http/receiver/struct.SyncResponseBuilder.html
+[SyncResponseBuilder.into_response]: ../http/receiver/struct.SyncResponseBuilder.html#method.into_response
+[SyncResponseBuilder.into_raw]: ../http/receiver/struct.SyncResponseBuilder.html#method.into_raw
+[AsyncResponseBuilder]: ../http/receiver/struct.AsyncResponseBuilder.html
+[AsyncResponseBuilder.into_response]: ../http/receiver/struct.AsyncResponseBuilder.html#method.into_response
+[AsyncResponseBuilder.into_raw]: ../http/receiver/struct.AsyncResponseBuilder.html#method.into_raw
 [SearchResponse]: responses/struct.SearchResponse.html
+[SqlQueryResponse]: responses/struct.SqlQueryResponse.html
 [BulkResponse]: responses/struct.BulkResponse.html
 [GetResponse]: responses/struct.GetResponse.html
 [UpdateResponse]: responses/struct.UpdateResponse.html
@@ -523,9 +549,8 @@ For more details see the [`responses`][responses-mod] module.
 [IndicesExistsResponse]: responses/struct.IndicesExistsResponse.html
 [PingResponse]: responses/struct.PingResponse.html
 [CommandResponse]: responses/struct.CommandResponse.html
-[SyncHttpResponse]: responses/struct.SyncHttpResponse.html
-[AsyncHttpResponse]: responses/struct.AsyncHttpResponse.html
-[response-types]: responses/parse/trait.IsOk.html#implementors
+[SyncHttpResponse]: ../http/receiver/struct.SyncHttpResponse.html
+[AsyncHttpResponse]: ../http/receiver/struct.AsyncHttpResponse.html
 
 [documents-mod]: ../types/documents/index.html
 */
diff --git a/src/elastic/src/client/requests/bulk/mod.rs b/src/elastic/src/client/requests/bulk/mod.rs
index ccfbd503d0..2da806771e 100644
--- a/src/elastic/src/client/requests/bulk/mod.rs
+++ b/src/elastic/src/client/requests/bulk/mod.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [bulk requests][docs-bulk].
 
-[docs-bulk]: https://www.elastic.co/guide/en/elasticsearch/reference/master/bulk.html
+[docs-bulk]: https://www.elastic.co/guide/en/elasticsearch/reference/current/bulk.html
 */
 
 use std::{
@@ -63,7 +63,7 @@ The `send` method will either send the request [synchronously][send-sync] or [as
 
 Call [`Client.bulk_stream`][Client.bulk_stream] to get a `BulkRequestBuilder` that can be used to stream bulk operations asynchronously.
 
-[docs-bulk]: https://www.elastic.co/guide/en/elasticsearch/reference/master/bulk.html
+[docs-bulk]: https://www.elastic.co/guide/en/elasticsearch/reference/current/bulk.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.bulk]: ../../struct.Client.html#bulk-request
@@ -150,7 +150,7 @@ where
     [send-async]: requests/bulk/type.BulkRequestBuilder.html#send-asynchronously
     [types-mod]: ../../types/index.html
     [documents-mod]: ../../types/document/index.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-query-string-query.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
     */
     pub fn bulk(&self) -> BulkRequestBuilder<TSender, Vec<u8>, BulkResponse> {
         RequestBuilder::initial(
@@ -238,7 +238,7 @@ impl Client<AsyncSender> {
     [send-async]: requests/bulk/type.BulkRequestBuilder.html#send-asynchronously
     [types-mod]: ../../types/index.html
     [documents-mod]: ../../types/document/index.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-query-string-query.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
     */
     pub fn bulk_stream<TDocument>(
         &self,
diff --git a/src/elastic/src/client/requests/bulk/operation.rs b/src/elastic/src/client/requests/bulk/operation.rs
index 100831433d..04c8353bad 100644
--- a/src/elastic/src/client/requests/bulk/operation.rs
+++ b/src/elastic/src/client/requests/bulk/operation.rs
@@ -195,6 +195,9 @@ where
     }
 }
 
+/**
+A builder for a bulk operation for a specific document type.
+*/
 pub struct BulkDocumentOperation<TDocument> {
     _marker: PhantomData<TDocument>,
 }
@@ -203,12 +206,18 @@ impl<TDocument> BulkDocumentOperation<TDocument>
 where
     TDocument: DocumentType,
 {
+    /**
+    Create a bulk operation.
+    */
     pub fn new() -> Self {
         BulkDocumentOperation {
             _marker: PhantomData,
         }
     }
 
+    /**
+    Create a bulk operation to index a document.
+    */
     pub fn index(self, doc: TDocument) -> BulkOperation<TDocument> {
         BulkOperation {
             action: Action::Index,
@@ -221,6 +230,9 @@ where
         }
     }
 
+    /**
+    Create a bulk operation to update a document.
+    */
     pub fn update(self, doc: TDocument) -> BulkOperation<Doc<TDocument>> {
         BulkOperation {
             action: Action::Update,
@@ -233,6 +245,9 @@ where
         }
     }
 
+    /**
+    Create a bulk operation to update a documennt with a script.
+    */
     pub fn update_script<TId, TScript>(
         self,
         id: TId,
@@ -253,6 +268,9 @@ where
         }
     }
 
+    /**
+    Update the bulk operation sctipt.
+    */
     pub fn update_script_fluent<TId, TScript, TBuilder, TParams>(
         self,
         id: TId,
@@ -276,6 +294,9 @@ where
         .script_fluent(builder)
     }
 
+    /**
+    Create a bulk operation to create a document.
+    */
     pub fn create(self, doc: TDocument) -> BulkOperation<TDocument> {
         BulkOperation {
             action: Action::Create,
@@ -288,6 +309,9 @@ where
         }
     }
 
+    /**
+    Create a bulk operation to delete a document.
+    */
     pub fn delete<TId>(self, id: TId) -> BulkOperation<()>
     where
         TId: Into<Id<'static>>,
@@ -304,6 +328,9 @@ where
     }
 }
 
+/**
+Create a builder for a bulk operation for a specific document type.
+*/
 pub fn bulk<TDocument>() -> BulkDocumentOperation<TDocument>
 where
     TDocument: DocumentType,
@@ -311,15 +338,24 @@ where
     BulkDocumentOperation::new()
 }
 
+/**
+A builder for a bulk operation.
+*/
 pub struct BulkRawOperation {
     _private: (),
 }
 
 impl BulkRawOperation {
+    /**
+    Create a bulk operation.
+    */
     pub fn new() -> Self {
         BulkRawOperation { _private: () }
     }
 
+    /**
+    Create a bulk operation to index a document.
+    */
     pub fn index<TDocument>(self, doc: TDocument) -> BulkOperation<TDocument> {
         BulkOperation {
             action: Action::Index,
@@ -332,6 +368,9 @@ impl BulkRawOperation {
         }
     }
 
+    /**
+    Create a bulk operation to update a document.
+    */
     pub fn update<TDocument>(self, doc: TDocument) -> BulkOperation<Doc<TDocument>> {
         BulkOperation {
             action: Action::Update,
@@ -344,6 +383,9 @@ impl BulkRawOperation {
         }
     }
 
+    /**
+    Create a bulk operation to update a document with a script.
+    */
     pub fn update_script<TScript>(self, script: TScript) -> BulkOperation<Script<DefaultParams>>
     where
         TScript: ToString,
@@ -359,6 +401,9 @@ impl BulkRawOperation {
         }
     }
 
+    /**
+    Update the bulk operation script.
+    */
     pub fn update_script_fluent<TId, TScript, TBuilder, TParams>(
         self,
         script: TScript,
@@ -380,6 +425,9 @@ impl BulkRawOperation {
         .script_fluent(builder)
     }
 
+    /**
+    Create a bulk operation to create a document.
+    */
     pub fn create<TDocument>(self, doc: TDocument) -> BulkOperation<TDocument> {
         BulkOperation {
             action: Action::Create,
@@ -392,6 +440,9 @@ impl BulkRawOperation {
         }
     }
 
+    /**
+    Create a bulk operation to delete a document.
+    */
     pub fn delete(self) -> BulkOperation<()> {
         BulkOperation {
             action: Action::Delete,
@@ -405,6 +456,9 @@ impl BulkRawOperation {
     }
 }
 
+/**
+Create a builder for a bulk operation.
+*/
 pub fn bulk_raw() -> BulkRawOperation {
     BulkRawOperation::new()
 }
diff --git a/src/elastic/src/client/requests/document_delete.rs b/src/elastic/src/client/requests/document_delete.rs
index 6118a50931..283247a0f8 100644
--- a/src/elastic/src/client/requests/document_delete.rs
+++ b/src/elastic/src/client/requests/document_delete.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [delete document requests][docs-delete].
 
-[docs-delete]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html
+[docs-delete]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html
 */
 
 use futures::{
@@ -45,7 +45,7 @@ A [delete document request][docs-delete] builder that can be configured before s
 Call [`Client.document.delete`][Client.document.delete] to get a `DeleteRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[docs-delete]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html
+[docs-delete]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.document.delete]: ../../struct.DocumentClient.html#delete-document-request
diff --git a/src/elastic/src/client/requests/document_get.rs b/src/elastic/src/client/requests/document_get.rs
index e5aab2d8f0..b538ef2222 100644
--- a/src/elastic/src/client/requests/document_get.rs
+++ b/src/elastic/src/client/requests/document_get.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [get document requests][docs-get].
 
-[docs-get]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html
+[docs-get]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
 */
 
 use futures::{
@@ -46,7 +46,7 @@ A [get document request][docs-get] builder that can be configured before sending
 Call [`Client.document.get`][Client.document.get] to get a `GetRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[docs-get]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html
+[docs-get]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.document.get]: ../../struct.DocumentClient.html#get-document-request
diff --git a/src/elastic/src/client/requests/document_index.rs b/src/elastic/src/client/requests/document_index.rs
index c9fbcd06c5..f6634f693c 100644
--- a/src/elastic/src/client/requests/document_index.rs
+++ b/src/elastic/src/client/requests/document_index.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [index requests][docs-index].
 
-[docs-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html
+[docs-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html
 */
 
 use futures::{
@@ -47,7 +47,7 @@ An [index request][docs-index] builder that can be configured before sending.
 Call [`Client.document.index`][Client.document.index] to get an `IndexRequest`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[docs-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html
+[docs-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.document.index]: ../../struct.DocumentClient.html#index-document-request
diff --git a/src/elastic/src/client/requests/document_put_mapping.rs b/src/elastic/src/client/requests/document_put_mapping.rs
index f4b53efd9f..513420a9d3 100644
--- a/src/elastic/src/client/requests/document_put_mapping.rs
+++ b/src/elastic/src/client/requests/document_put_mapping.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [put mapping requests][docs-mapping].
 
-[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping.html
+[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html
 */
 
 use futures::{
@@ -48,7 +48,7 @@ A [put mapping request][docs-mapping] builder that can be configured before send
 Call [`Client.document.put_mapping`][Client.document.put_mapping] to get a `PutMappingRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping.html
+[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.document.put_mapping]: ../../struct.DocumentClient.html#put-mapping-request
diff --git a/src/elastic/src/client/requests/document_update.rs b/src/elastic/src/client/requests/document_update.rs
index 2a328916fa..ce65f87b8b 100644
--- a/src/elastic/src/client/requests/document_update.rs
+++ b/src/elastic/src/client/requests/document_update.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [update document requests][docs-update].
 
-[docs-update]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html
+[docs-update]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html
 */
 
 use futures::{
@@ -57,7 +57,7 @@ An [update document request][docs-update] builder that can be configured before
 Call [`Client.document.update`][Client.document.update] to get an `UpdateRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[docs-update]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html
+[docs-update]: http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.document.update]: ../../struct.DocumentClient.html#update-document-request
@@ -446,7 +446,7 @@ where
     # }
     ```
 
-    [painless-lang]: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-painless.html
+    [painless-lang]: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting-painless.html
      */
     pub fn script<TScript, TParams>(
         self,
@@ -538,7 +538,7 @@ where
     # }
     ```
 
-    [painless-lang]: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-painless.html
+    [painless-lang]: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting-painless.html
     */
     pub fn script_fluent<TScript, TParams>(
         self,
diff --git a/src/elastic/src/client/requests/index_close.rs b/src/elastic/src/client/requests/index_close.rs
index 25f181978b..d66f8fce29 100644
--- a/src/elastic/src/client/requests/index_close.rs
+++ b/src/elastic/src/client/requests/index_close.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [close index requests][docs-close-index].
 
-[docs-close-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
+[docs-close-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html
 */
 
 use futures::{
@@ -38,7 +38,7 @@ A [close index request][docs-close-index] builder that can be configured before
 Call [`Client.index_close`][Client.index_close] to get an `IndexCloseRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was closed from.
 
-[docs-close-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
+[docs-close-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.index_close]: ../../struct.Client.html#close-index-request
diff --git a/src/elastic/src/client/requests/index_create.rs b/src/elastic/src/client/requests/index_create.rs
index 9c74b02b88..fb6c2ab83a 100644
--- a/src/elastic/src/client/requests/index_create.rs
+++ b/src/elastic/src/client/requests/index_create.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [create index requests][docs-create-index].
 
-[docs-create-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html
+[docs-create-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
 */
 
 use futures::{
@@ -38,7 +38,7 @@ A [create index request][docs-create-index] builder that can be configured befor
 Call [`Client.index_create`][Client.index_create] to get an `IndexCreateRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[docs-create-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html
+[docs-create-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.index_create]: ../../struct.Client.html#create-index-request
diff --git a/src/elastic/src/client/requests/index_delete.rs b/src/elastic/src/client/requests/index_delete.rs
index cffdb8e60e..cc95dd661a 100644
--- a/src/elastic/src/client/requests/index_delete.rs
+++ b/src/elastic/src/client/requests/index_delete.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [delete index requests][docs-delete-index].
 
-[docs-delete-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html
+[docs-delete-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html
 */
 
 use futures::{
@@ -34,7 +34,7 @@ A [delete index request][docs-delete-index] builder that can be configured befor
 Call [`Client.index_delete`][Client.index_delete] to get an `IndexDeleteRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was deleted from.
 
-[docs-delete-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html
+[docs-delete-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.index_delete]: ../../struct.Client.html#delete-index-request
diff --git a/src/elastic/src/client/requests/index_exists.rs b/src/elastic/src/client/requests/index_exists.rs
index 7bb75a093a..64c3f44103 100644
--- a/src/elastic/src/client/requests/index_exists.rs
+++ b/src/elastic/src/client/requests/index_exists.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [index exists requests][docs-index-exists].
 
-[docs-index-exists]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html
+[docs-index-exists]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html
 */
 
 use futures::{
@@ -34,7 +34,7 @@ An [index exists request][docs-index-exists] builder that can be configured befo
 Call [`Client.index_exists`][Client.index_exists] to get an `IndexExistsRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was opend from.
 
-[docs-index-exists]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html
+[docs-index-exists]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.index_exists]: ../../struct.Client.html#index-exists-request
diff --git a/src/elastic/src/client/requests/index_open.rs b/src/elastic/src/client/requests/index_open.rs
index ca8fdfde9a..b54a1e6b65 100644
--- a/src/elastic/src/client/requests/index_open.rs
+++ b/src/elastic/src/client/requests/index_open.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [open index requests][docs-open-index].
 
-[docs-open-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
+[docs-open-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html
 */
 
 use futures::{
@@ -38,7 +38,7 @@ An [open index request][docs-open-index] builder that can be configured before s
 Call [`Client.index_open`][Client.index_open] to get an `IndexOpenRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was opend from.
 
-[docs-open-index]: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html
+[docs-open-index]: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.index_open]: ../../struct.Client.html#open-index-request
diff --git a/src/elastic/src/client/requests/search.rs b/src/elastic/src/client/requests/search.rs
index 958a015fa1..733d975812 100644
--- a/src/elastic/src/client/requests/search.rs
+++ b/src/elastic/src/client/requests/search.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [search requests][docs-search].
 
-[docs-search]: https://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html
+[docs-search]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html
 */
 
 use futures::{
@@ -45,7 +45,7 @@ A [search request][docs-search] builder that can be configured before sending.
 Call [`Client.search`][Client.search] to get a `SearchRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[docs-search]: https://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html
+[docs-search]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.search]: ../../struct.Client.html#search-request
@@ -137,7 +137,7 @@ where
     [send-async]: requests/search/type.SearchRequestBuilder.html#send-asynchronously
     [types-mod]: ../types/index.html
     [documents-mod]: ../types/document/index.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-query-string-query.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
     */
     pub fn search<TDocument>(&self) -> SearchRequestBuilder<TSender, TDocument, DefaultBody>
     where
@@ -208,7 +208,7 @@ where
     [send-async]: requests/search/type.SearchRequestBuilder.html#send-asynchronously
     [types-mod]: ../../types/index.html
     [documents-mod]: ../../types/document/index.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-query-string-query.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
     */
     pub fn search(self) -> SearchRequestBuilder<TSender, TDocument, DefaultBody>
     where
@@ -342,7 +342,7 @@ where
 
     [SyncClient]: ../../type.SyncClient.html
     [documents-mod]: ../../../types/document/index.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-query-string-query.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
     */
     pub fn send(self) -> Result<SearchResponse<TDocument>, Error> {
         let req = self.inner.into_request();
@@ -398,7 +398,7 @@ where
 
     [AsyncClient]: ../../type.AsyncClient.html
     [documents-mod]: ../../../types/document/index.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/query-dsl-query-string-query.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
     */
     pub fn send(self) -> Pending<TDocument> {
         let req = self.inner.into_request();
diff --git a/src/elastic/src/client/requests/sql.rs b/src/elastic/src/client/requests/sql.rs
index 9bb2efb196..3faef6190c 100644
--- a/src/elastic/src/client/requests/sql.rs
+++ b/src/elastic/src/client/requests/sql.rs
@@ -1,7 +1,7 @@
 /*!
 Builders for [sql queries][sql].
 
-[sql]: https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-rest.html
+[sql]: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-rest.html
 */
 
 use futures::{
@@ -15,7 +15,7 @@ use crate::{
             raw::RawRequestInner,
             RequestBuilder,
         },
-        responses::SqlResponse,
+        responses::SqlQueryResponse,
         Client,
     },
     endpoints::SqlQueryRequest,
@@ -40,7 +40,7 @@ A [sql query request][sql] builder that can be configured before sending.
 Call [`Client.sql`][Client.sql] to get a `SqlRequestBuilder`.
 The `send` method will either send the request [synchronously][send-sync] or [asynchronously][send-async], depending on the `Client` it was created from.
 
-[sql]: https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-rest.html[docs-delete]: http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html
+[sql]: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-spec.html
 [send-sync]: #send-synchronously
 [send-async]: #send-asynchronously
 [Client.sql]: ../../struct.Client.html#sql-request
@@ -86,7 +86,7 @@ where
 
     // Iterate through the hits
     for row in response.rows() {
-        for column in row {
+        for column in row.columns() {
             println!("{:?}", column);
         }
     }
@@ -98,7 +98,7 @@ where
     [builder-methods]: requests/sql/type.SqlRequestBuilder.html#builder-methods
     [send-sync]: requests/sql/type.SqlRequestBuilder.html#send-synchronously
     [send-async]: requests/sql/type.SqlRequestBuilder.html#send-asynchronously
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-commands.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-commands.html
     */
     pub fn sql(&self) -> SqlRequestBuilder<TSender, DefaultBody> {
         RequestBuilder::initial(self.clone(), SqlRequestInner::new(empty_body()))
@@ -126,7 +126,7 @@ where
 
     // Iterate through the hits
     for row in response.rows() {
-        for column in row {
+        for column in row.columns() {
             println!("{:?}", column);
         }
     }
@@ -136,7 +136,7 @@ where
 
     [send-sync]: requests/sql/type.SqlRequestBuilder.html#send-synchronously
     [send-async]: requests/sql/type.SqlRequestBuilder.html#send-asynchronously
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-commands.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-commands.html
     */
     pub fn sql_query(&self, query: &str) -> SqlRequestBuilder<TSender, serde_json::Value> {
         self.sql().query(query)
@@ -218,7 +218,7 @@ where
 
     // Iterate through the hits
     for row in response.rows() {
-        for column in row {
+        for column in row.columns() {
             println!("{:?}", column);
         }
     }
@@ -227,9 +227,9 @@ where
     ```
 
     [SyncClient]: ../../type.SyncClient.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-commands.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-commands.html
      */
-    pub fn send(self) -> Result<SqlResponse, Error> {
+    pub fn send(self) -> Result<SqlQueryResponse, Error> {
         let req = self.inner.into_request();
 
         RequestBuilder::new(self.client, self.params_builder, RawRequestInner::new(req))
@@ -266,7 +266,7 @@ where
     future.and_then(|response| {
         // Iterate through the hits
         for row in response.rows() {
-            for column in row {
+            for column in row.columns() {
                 println!("{:?}", column);
             }
         }
@@ -278,7 +278,7 @@ where
     ```
 
     [AsyncClient]: ../../type.AsyncClient.html
-    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-commands.html
+    [docs-querystring]: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-commands.html
     */
 
     pub fn send(self) -> Pending {
@@ -295,13 +295,13 @@ where
 
 /** A future returned by calling `send`. */
 pub struct Pending {
-    inner: Box<dyn Future<Item = SqlResponse, Error = Error> + Send>,
+    inner: Box<dyn Future<Item = SqlQueryResponse, Error = Error> + Send>,
 }
 
 impl Pending {
     fn new<F>(fut: F) -> Self
     where
-        F: Future<Item = SqlResponse, Error = Error> + Send + 'static,
+        F: Future<Item = SqlQueryResponse, Error = Error> + Send + 'static,
     {
         Pending {
             inner: Box::new(fut),
@@ -310,7 +310,7 @@ impl Pending {
 }
 
 impl Future for Pending {
-    type Item = SqlResponse;
+    type Item = SqlQueryResponse;
     type Error = Error;
 
     fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
diff --git a/src/elastic/src/client/responses/bulk.rs b/src/elastic/src/client/responses/bulk.rs
index cc810080db..c6c787e0fe 100644
--- a/src/elastic/src/client/responses/bulk.rs
+++ b/src/elastic/src/client/responses/bulk.rs
@@ -1,5 +1,5 @@
 /*!
-Response types for a [bulk request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html).
+Response types for a [bulk request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html).
 */
 
 use super::common::{
@@ -31,7 +31,7 @@ use std::{
 type BulkError = Value;
 
 /**
-Response for a [bulk request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html).
+Response for a [bulk request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html).
 
 Individual bulk items are a `Result` of [`OkItem`](struct.OkItem.html) or [`ErrorItem`](struct.ErrorItem.html) and can be iterated over.
 Any individual bulk item may be an `Err(ErrorItem)`, so it's important to check them.
@@ -249,7 +249,7 @@ impl<'a, TIndex: 'a, TType: 'a, TId: 'a> Iterator for ResultIter<'a, TIndex, TTy
 }
 
 /**
-Response for a [bulk request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html).
+Response for a [bulk request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html).
 
 This type only accumulates bulk items that failed.
 It can be more efficient if you only care about errors.
@@ -549,12 +549,16 @@ where
 /** The bulk action being performed. */
 #[derive(Deserialize, Debug, Clone, Copy, PartialEq, Eq)]
 pub enum Action {
+    /** Index a document. */
     #[serde(rename = "index")]
     Index,
+    /** Create a new document. */
     #[serde(rename = "create")]
     Create,
+    /** U[date an existing document.] */
     #[serde(rename = "update")]
     Update,
+    /** Delete an existing document. */
     #[serde(rename = "delete")]
     Delete,
 }
diff --git a/src/elastic/src/client/responses/common.rs b/src/elastic/src/client/responses/common.rs
index b969a3995b..cf24a28743 100644
--- a/src/elastic/src/client/responses/common.rs
+++ b/src/elastic/src/client/responses/common.rs
@@ -1,3 +1,7 @@
+/*!
+Types that are common to many responses.
+*/
+
 /** A default type for allocated fields in responses. */
 pub(crate) type DefaultAllocatedField = String;
 
diff --git a/src/elastic/src/client/responses/document_delete.rs b/src/elastic/src/client/responses/document_delete.rs
index 4765a95245..f703f2ff25 100644
--- a/src/elastic/src/client/responses/document_delete.rs
+++ b/src/elastic/src/client/responses/document_delete.rs
@@ -1,5 +1,5 @@
 /*!
-Response types for a [delete document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html).
+Response types for a [delete document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html).
 */
 
 use crate::{
@@ -23,7 +23,7 @@ use crate::{
 
 use super::common::DocumentResult;
 
-/** Response for a [delete document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html). */
+/** Response for a [delete document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html). */
 #[derive(Deserialize, Debug)]
 pub struct DeleteResponse {
     #[serde(rename = "_index")]
diff --git a/src/elastic/src/client/responses/document_get.rs b/src/elastic/src/client/responses/document_get.rs
index 11f938d1a5..3ed99d5eb7 100644
--- a/src/elastic/src/client/responses/document_get.rs
+++ b/src/elastic/src/client/responses/document_get.rs
@@ -1,5 +1,5 @@
 /*!
-Response types for a [get document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html).
+Response types for a [get document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html).
 */
 
 use crate::http::StatusCode;
@@ -21,7 +21,7 @@ use crate::{
     },
 };
 
-/** Response for a [get document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html). */
+/** Response for a [get document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html). */
 #[derive(Deserialize, Debug)]
 pub struct GetResponse<T> {
     #[serde(rename = "_index")]
diff --git a/src/elastic/src/client/responses/document_index.rs b/src/elastic/src/client/responses/document_index.rs
index 8ebe029119..9dc6a609d3 100644
--- a/src/elastic/src/client/responses/document_index.rs
+++ b/src/elastic/src/client/responses/document_index.rs
@@ -1,5 +1,5 @@
 /*!
-Response types for an [index document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html).
+Response types for an [index document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html).
 */
 
 use super::common::{
@@ -16,7 +16,7 @@ use crate::{
     },
 };
 
-/** Response for an [index document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html). */
+/** Response for an [index document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html). */
 #[derive(Deserialize, Debug)]
 pub struct IndexResponse {
     #[serde(rename = "_index")]
diff --git a/src/elastic/src/client/responses/document_update.rs b/src/elastic/src/client/responses/document_update.rs
index b352522657..a5e3b3e464 100644
--- a/src/elastic/src/client/responses/document_update.rs
+++ b/src/elastic/src/client/responses/document_update.rs
@@ -1,5 +1,5 @@
 /*!
-Response types for a [update document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html).
+Response types for a [update document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html).
 */
 
 use super::common::DocumentResult;
@@ -13,7 +13,7 @@ use crate::{
     },
 };
 
-/** Response for a [update document request](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html). */
+/** Response for a [update document request](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html). */
 #[derive(Deserialize, Debug)]
 pub struct UpdateResponse {
     #[serde(rename = "_index")]
diff --git a/src/elastic/src/client/responses/index_exists.rs b/src/elastic/src/client/responses/index_exists.rs
index c83194a4ee..ce74dcffe9 100644
--- a/src/elastic/src/client/responses/index_exists.rs
+++ b/src/elastic/src/client/responses/index_exists.rs
@@ -1,5 +1,5 @@
 /*!
-Response types for an [index exists request](https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html).
+Response types for an [index exists request](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html).
 */
 
 use crate::http::{
@@ -14,7 +14,7 @@ use crate::http::{
     StatusCode,
 };
 
-/** Response for an [index exists request](https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html). */
+/** Response for an [index exists request](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html). */
 #[derive(Deserialize, Debug)]
 pub struct IndicesExistsResponse {
     exists: bool,
diff --git a/src/elastic/src/client/responses/mod.rs b/src/elastic/src/client/responses/mod.rs
index eb0329f3da..d4f3ff42d8 100644
--- a/src/elastic/src/client/responses/mod.rs
+++ b/src/elastic/src/client/responses/mod.rs
@@ -55,7 +55,7 @@ pub mod prelude {
         NodesInfoResponse,
         PingResponse,
         SearchResponse,
-        SqlResponse,
+        SqlQueryResponse,
         UpdateResponse,
     };
 }
diff --git a/src/elastic/src/client/responses/nodes_info.rs b/src/elastic/src/client/responses/nodes_info.rs
index 2bae0d8635..dce46f568b 100644
--- a/src/elastic/src/client/responses/nodes_info.rs
+++ b/src/elastic/src/client/responses/nodes_info.rs
@@ -15,7 +15,7 @@ use std::{
     vec::IntoIter,
 };
 
-/** Response for a [nodes info request](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-info.html). */
+/** Response for a [nodes info request](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html). */
 #[derive(Debug, PartialEq, Deserialize)]
 pub struct NodesInfoResponse {
     #[serde(deserialize_with = "deserialize_nodes")]
@@ -44,6 +44,11 @@ impl NodesInfoResponse {
     }
 }
 
+/**
+An iterator over node publish addresses.
+
+This is the result of calling [`NodesInfoResponse.iter_addrs()`](structNodesInfoResponse.html#method.iter_addrs).
+*/
 pub struct IterAddrs<'a>(Iter<'a, SniffedNode>);
 
 impl<'a> Iterator for IterAddrs<'a> {
@@ -64,6 +69,11 @@ impl<'a> Iterator for IterAddrs<'a> {
     }
 }
 
+/**
+An iterator over node publish addresses.
+
+This is the result of calling [`NodesInfoResponse.innto_iter_addrs()`](structNodesInfoResponse.html#method.innto_iter_addrs).
+*/
 pub struct IntoIterAddrs(IntoIter<SniffedNode>);
 
 impl Iterator for IntoIterAddrs {
diff --git a/src/elastic/src/client/responses/search.rs b/src/elastic/src/client/responses/search.rs
index ca50657e7c..48b97104fc 100644
--- a/src/elastic/src/client/responses/search.rs
+++ b/src/elastic/src/client/responses/search.rs
@@ -1,5 +1,5 @@
 /*!
-Response types for a [search request](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html).
+Response types for a [search request](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html).
 */
 
 use serde::de::DeserializeOwned;
@@ -60,9 +60,9 @@ for hit in response.hits() {
 # }
 ```
 
-[search-req]: https://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html
-[metric-aggs]: https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-metrics.html
-[stats-aggs]: https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-metrics-stats-aggregation.html
+[search-req]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html
+[metric-aggs]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics.html
+[stats-aggs]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-stats-aggregation.html
 */
 #[derive(Deserialize, Debug)]
 pub struct SearchResponse<T> {
diff --git a/src/elastic/src/client/responses/sql.rs b/src/elastic/src/client/responses/sql.rs
index f9f80d3d04..e821641778 100644
--- a/src/elastic/src/client/responses/sql.rs
+++ b/src/elastic/src/client/responses/sql.rs
@@ -1,29 +1,41 @@
 /*!
-Response types for a [sql request](https://www.elastic.co/guide/en/elasticsearch/reference/master/sql-rest.html)
+Response types for a [sql request](https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-rest.html).
 */
 
 use crate::http::receiver::IsOkOnSuccess;
 use serde_json::Value;
 
-/** Response for a [sql request][sql-request]. */
+/** Response for a [sql request](https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-rest.html). */
 #[derive(Deserialize, Debug)]
-pub struct SqlResponse {
+pub struct SqlQueryResponse {
     columns: Vec<SqlColumn>,
-    rows: Vec<Vec<Value>>,
+    rows: Vec<SqlRow>,
 }
 
-impl SqlResponse {
+impl SqlQueryResponse {
     /** Gets a reference to the result columns. */
     pub fn columns(&self) -> &[SqlColumn] {
         &self.columns
     }
 
-    /** Gets a reference to a vector of rows each a vector of a values. */
-    pub fn rows(&self) -> &Vec<Vec<Value>> {
+    /** Gets a reference to the result rows. */
+    pub fn rows(&self) -> &[SqlRow] {
         &self.rows
     }
 }
 
+/** A row in the result set. */
+#[derive(Deserialize, Debug)]
+pub struct SqlRow(Vec<Value>);
+
+impl SqlRow {
+    /** Gets a reference to the result columns. */
+    pub fn columns(&self) -> &[Value] {
+        &self.0
+    }
+}
+
+/** A column in the result set. */
 #[derive(Deserialize, Debug)]
 pub struct SqlColumn {
     name: String,
@@ -32,13 +44,15 @@ pub struct SqlColumn {
 }
 
 impl SqlColumn {
+    /** The name of the column. */
     pub fn name(&self) -> &str {
         &self.name
     }
 
+    /** The type of the column. */
     pub fn ty(&self) -> &str {
         &self.ty
     }
 }
 
-impl IsOkOnSuccess for SqlResponse {}
+impl IsOkOnSuccess for SqlQueryResponse {}
diff --git a/src/elastic/src/genned/mod.rs b/src/elastic/src/genned/mod.rs
index 74b4ebaaad..03a693bfdb 100644
--- a/src/elastic/src/genned/mod.rs
+++ b/src/elastic/src/genned/mod.rs
@@ -3,6 +3,7 @@ This code is automatically generated
 run the `tools/generate_requests.sh` script to update it
 */
 pub mod endpoints {
+    #![allow(missing_docs)]
     use super::{
         http::*,
         params::*,
@@ -38,7 +39,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_bulk`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html)"]
+    #[doc = "`Post: /_bulk`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html)"]
     pub struct BulkRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -101,7 +102,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/aliases`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html)"]
+    #[doc = "`Get: /_cat/aliases`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-alias.html)"]
     pub struct CatAliasesRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -150,7 +151,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/allocation`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html)"]
+    #[doc = "`Get: /_cat/allocation`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-allocation.html)"]
     pub struct CatAllocationRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -199,7 +200,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/count`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html)"]
+    #[doc = "`Get: /_cat/count`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-count.html)"]
     pub struct CatCountRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -248,7 +249,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/fielddata`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html)"]
+    #[doc = "`Get: /_cat/fielddata`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-fielddata.html)"]
     pub struct CatFielddataRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -290,7 +291,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/health`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html)"]
+    #[doc = "`Get: /_cat/health`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-health.html)"]
     pub struct CatHealthRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -323,7 +324,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html)"]
+    #[doc = "`Get: /_cat`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat.html)"]
     pub struct CatHelpRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -363,7 +364,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/indices`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html)"]
+    #[doc = "`Get: /_cat/indices`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html)"]
     pub struct CatIndicesRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -405,7 +406,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/master`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html)"]
+    #[doc = "`Get: /_cat/master`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-master.html)"]
     pub struct CatMasterRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -438,7 +439,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/nodeattrs`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html)"]
+    #[doc = "`Get: /_cat/nodeattrs`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodeattrs.html)"]
     pub struct CatNodeattrsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -471,7 +472,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/nodes`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html)"]
+    #[doc = "`Get: /_cat/nodes`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html)"]
     pub struct CatNodesRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -504,7 +505,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/pending_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html)"]
+    #[doc = "`Get: /_cat/pending_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-pending-tasks.html)"]
     pub struct CatPendingTasksRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -537,7 +538,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/plugins`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html)"]
+    #[doc = "`Get: /_cat/plugins`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-plugins.html)"]
     pub struct CatPluginsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -577,7 +578,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/recovery`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html)"]
+    #[doc = "`Get: /_cat/recovery`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html)"]
     pub struct CatRecoveryRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -619,7 +620,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/repositories`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html)"]
+    #[doc = "`Get: /_cat/repositories`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-repositories.html)"]
     pub struct CatRepositoriesRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -659,7 +660,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/segments`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html)"]
+    #[doc = "`Get: /_cat/segments`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-segments.html)"]
     pub struct CatSegmentsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -708,7 +709,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/shards`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html)"]
+    #[doc = "`Get: /_cat/shards`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-shards.html)"]
     pub struct CatShardsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -757,7 +758,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/snapshots`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html)"]
+    #[doc = "`Get: /_cat/snapshots`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-snapshots.html)"]
     pub struct CatSnapshotsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -799,7 +800,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html)"]
+    #[doc = "`Get: /_cat/tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html)"]
     pub struct CatTasksRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -839,7 +840,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/templates`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html)"]
+    #[doc = "`Get: /_cat/templates`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-templates.html)"]
     pub struct CatTemplatesRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -888,7 +889,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cat/thread_pool`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html)"]
+    #[doc = "`Get: /_cat/thread_pool`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-thread-pool.html)"]
     pub struct CatThreadPoolRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -939,7 +940,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /_search/scroll/{scroll_id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-scroll.html)"]
+    #[doc = "`Delete: /_search/scroll/{scroll_id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html)"]
     pub struct ClearScrollRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -986,7 +987,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_cluster/allocation/explain`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-allocation-explain.html)"]
+    #[doc = "`Post: /_cluster/allocation/explain`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-allocation-explain.html)"]
     pub struct ClusterAllocationExplainRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1021,7 +1022,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cluster/settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html)"]
+    #[doc = "`Get: /_cluster/settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html)"]
     pub struct ClusterGetSettingsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1061,7 +1062,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cluster/health`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-health.html)"]
+    #[doc = "`Get: /_cluster/health`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html)"]
     pub struct ClusterHealthRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1103,7 +1104,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cluster/pending_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-pending.html)"]
+    #[doc = "`Get: /_cluster/pending_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-pending.html)"]
     pub struct ClusterPendingTasksRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1136,7 +1137,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Put: /_cluster/settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html)"]
+    #[doc = "`Put: /_cluster/settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html)"]
     pub struct ClusterPutSettingsRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1171,7 +1172,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_remote/info`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-remote-info.html)"]
+    #[doc = "`Get: /_remote/info`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html)"]
     pub struct ClusterRemoteInfoRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1204,7 +1205,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_cluster/reroute`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-reroute.html)"]
+    #[doc = "`Post: /_cluster/reroute`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-reroute.html)"]
     pub struct ClusterRerouteRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1255,7 +1256,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cluster/state`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-state.html)"]
+    #[doc = "`Get: /_cluster/state`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html)"]
     pub struct ClusterStateRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1314,7 +1315,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_cluster/stats`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-stats.html)"]
+    #[doc = "`Get: /_cluster/stats`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-stats.html)"]
     pub struct ClusterStatsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1374,7 +1375,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_count`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-count.html)"]
+    #[doc = "`Post: /_count`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-count.html)"]
     pub struct CountRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1450,7 +1451,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_create/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html)"]
+    #[doc = "`Post: /{index}/_create/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html)"]
     pub struct CreateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1524,7 +1525,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /{index}/_doc/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html)"]
+    #[doc = "`Delete: /{index}/_doc/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html)"]
     pub struct DeleteRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1588,7 +1589,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_delete_by_query`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete-by-query.html)"]
+    #[doc = "`Post: /{index}/_delete_by_query`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html)"]
     pub struct DeleteByQueryRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1643,7 +1644,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_delete_by_query/{task_id}/_rethrottle`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete-by-query.html)"]
+    #[doc = "`Post: /_delete_by_query/{task_id}/_rethrottle`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html)"]
     pub struct DeleteByQueryRethrottleRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1686,7 +1687,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /_scripts/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html)"]
+    #[doc = "`Delete: /_scripts/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html)"]
     pub struct DeleteScriptRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1740,7 +1741,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Head: /{index}/_doc/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html)"]
+    #[doc = "`Head: /{index}/_doc/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html)"]
     pub struct ExistsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1808,7 +1809,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Head: /{index}/_source/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html)"]
+    #[doc = "`Head: /{index}/_source/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html)"]
     pub struct ExistsSourceRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -1876,7 +1877,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_explain/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-explain.html)"]
+    #[doc = "`Post: /{index}/_explain/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html)"]
     pub struct ExplainRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -1940,7 +1941,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_field_caps`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-field-caps.html)"]
+    #[doc = "`Post: /_field_caps`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-field-caps.html)"]
     pub struct FieldCapsRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2003,7 +2004,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /{index}/_doc/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html)"]
+    #[doc = "`Get: /{index}/_doc/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html)"]
     pub struct GetRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2056,7 +2057,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_scripts/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html)"]
+    #[doc = "`Get: /_scripts/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html)"]
     pub struct GetScriptRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2112,7 +2113,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /{index}/_source/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html)"]
+    #[doc = "`Get: /{index}/_source/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html)"]
     pub struct GetSourceRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2195,7 +2196,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_doc`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html)"]
+    #[doc = "`Post: /{index}/_doc`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html)"]
     pub struct IndexRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2280,7 +2281,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_analyze`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-analyze.html)"]
+    #[doc = "`Post: /_analyze`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-analyze.html)"]
     pub struct IndicesAnalyzeRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2333,7 +2334,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_cache/clear`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-clearcache.html)"]
+    #[doc = "`Post: /_cache/clear`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html)"]
     pub struct IndicesClearCacheRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2384,7 +2385,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_close`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html)"]
+    #[doc = "`Post: /{index}/_close`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html)"]
     pub struct IndicesCloseRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2427,7 +2428,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Put: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html)"]
+    #[doc = "`Put: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html)"]
     pub struct IndicesCreateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2470,7 +2471,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html)"]
+    #[doc = "`Delete: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html)"]
     pub struct IndicesDeleteRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2513,7 +2514,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /{index}/_alias/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html)"]
+    #[doc = "`Delete: /{index}/_alias/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html)"]
     pub struct IndicesDeleteAliasRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2555,7 +2556,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html)"]
+    #[doc = "`Delete: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html)"]
     pub struct IndicesDeleteTemplateRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2596,7 +2597,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Head: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html)"]
+    #[doc = "`Head: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html)"]
     pub struct IndicesExistsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2646,7 +2647,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Head: /_alias/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html)"]
+    #[doc = "`Head: /_alias/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html)"]
     pub struct IndicesExistsAliasRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2697,7 +2698,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Head: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html)"]
+    #[doc = "`Head: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html)"]
     pub struct IndicesExistsTemplateRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2740,7 +2741,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Head: /{index}/_mapping/{type}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-types-exists.html)"]
+    #[doc = "`Head: /{index}/_mapping/{type}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-types-exists.html)"]
     pub struct IndicesExistsTypeRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -2785,7 +2786,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_flush`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-flush.html)"]
+    #[doc = "`Post: /_flush`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html)"]
     pub struct IndicesFlushRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2838,7 +2839,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_flush/synced`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-synced-flush.html)"]
+    #[doc = "`Post: /_flush/synced`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-synced-flush.html)"]
     pub struct IndicesFlushSyncedRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2891,7 +2892,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_forcemerge`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-forcemerge.html)"]
+    #[doc = "`Post: /_forcemerge`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html)"]
     pub struct IndicesForcemergeRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -2941,7 +2942,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-index.html)"]
+    #[doc = "`Get: /{index}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html)"]
     pub struct IndicesGetRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3001,7 +3002,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_alias/`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html)"]
+    #[doc = "`Get: /_alias/`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html)"]
     pub struct IndicesGetAliasRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3097,7 +3098,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_mapping/field/{fields}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-field-mapping.html)"]
+    #[doc = "`Get: /_mapping/field/{fields}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-field-mapping.html)"]
     pub struct IndicesGetFieldMappingRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3198,7 +3199,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_mapping`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-mapping.html)"]
+    #[doc = "`Get: /_mapping`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html)"]
     pub struct IndicesGetMappingRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3283,7 +3284,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-settings.html)"]
+    #[doc = "`Get: /_settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html)"]
     pub struct IndicesGetSettingsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3351,7 +3352,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html)"]
+    #[doc = "`Get: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html)"]
     pub struct IndicesGetTemplateRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3401,7 +3402,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_upgrade`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-upgrade.html)"]
+    #[doc = "`Get: /_upgrade`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-upgrade.html)"]
     pub struct IndicesGetUpgradeRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3449,7 +3450,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_open`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html)"]
+    #[doc = "`Post: /{index}/_open`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html)"]
     pub struct IndicesOpenRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -3494,7 +3495,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_alias/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html)"]
+    #[doc = "`Post: /{index}/_alias/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html)"]
     pub struct IndicesPutAliasRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -3555,7 +3556,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/{type}/_mapping`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-put-mapping.html)"]
+    #[doc = "`Post: /{index}/{type}/_mapping`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html)"]
     pub struct IndicesPutMappingRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -3622,7 +3623,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Put: /_settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-update-settings.html)"]
+    #[doc = "`Put: /_settings`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html)"]
     pub struct IndicesPutSettingsRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -3672,7 +3673,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html)"]
+    #[doc = "`Post: /_template/{name}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html)"]
     pub struct IndicesPutTemplateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -3718,7 +3719,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_recovery`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-recovery.html)"]
+    #[doc = "`Get: /_recovery`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html)"]
     pub struct IndicesRecoveryRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3768,7 +3769,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_refresh`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-refresh.html)"]
+    #[doc = "`Post: /_refresh`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html)"]
     pub struct IndicesRefreshRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -3828,7 +3829,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{alias}/_rollover`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-rollover-index.html)"]
+    #[doc = "`Post: /{alias}/_rollover`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-index.html)"]
     pub struct IndicesRolloverRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -3889,7 +3890,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_segments`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-segments.html)"]
+    #[doc = "`Get: /_segments`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-segments.html)"]
     pub struct IndicesSegmentsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3939,7 +3940,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_shard_stores`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-shards-stores.html)"]
+    #[doc = "`Get: /_shard_stores`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shards-stores.html)"]
     pub struct IndicesShardStoresRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -3988,7 +3989,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_shrink/{target}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-shrink-index.html)"]
+    #[doc = "`Post: /{index}/_shrink/{target}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html)"]
     pub struct IndicesShrinkRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4034,7 +4035,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_split/{target}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-split-index.html)"]
+    #[doc = "`Post: /{index}/_split/{target}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html)"]
     pub struct IndicesSplitRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4097,7 +4098,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_stats`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-stats.html)"]
+    #[doc = "`Get: /_stats`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html)"]
     pub struct IndicesStatsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -4158,7 +4159,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_aliases`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html)"]
+    #[doc = "`Post: /_aliases`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html)"]
     pub struct IndicesUpdateAliasesRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4201,7 +4202,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_upgrade`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-upgrade.html)"]
+    #[doc = "`Post: /_upgrade`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-upgrade.html)"]
     pub struct IndicesUpgradeRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4264,7 +4265,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_validate/query`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-validate.html)"]
+    #[doc = "`Post: /_validate/query`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-validate.html)"]
     pub struct IndicesValidateQueryRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4358,7 +4359,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /_ingest/pipeline/{id}`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-pipeline-api.html)"]
+    #[doc = "`Delete: /_ingest/pipeline/{id}`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html)"]
     pub struct IngestDeletePipelineRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -4401,7 +4402,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_ingest/pipeline/{id}`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/get-pipeline-api.html)"]
+    #[doc = "`Get: /_ingest/pipeline/{id}`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-pipeline-api.html)"]
     pub struct IngestGetPipelineRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -4443,7 +4444,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_ingest/processor/grok`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/grok-processor.html#grok-processor-rest-get)"]
+    #[doc = "`Get: /_ingest/processor/grok`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html#grok-processor-rest-get)"]
     pub struct IngestProcessorGrokRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -4481,7 +4482,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Put: /_ingest/pipeline/{id}`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/put-pipeline-api.html)"]
+    #[doc = "`Put: /_ingest/pipeline/{id}`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html)"]
     pub struct IngestPutPipelineRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4527,7 +4528,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_ingest/pipeline/_simulate`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/simulate-pipeline-api.html)"]
+    #[doc = "`Post: /_ingest/pipeline/_simulate`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/simulate-pipeline-api.html)"]
     pub struct IngestSimulateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4590,7 +4591,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_mget`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-multi-get.html)"]
+    #[doc = "`Post: /_mget`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-get.html)"]
     pub struct MgetRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4664,7 +4665,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_msearch`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-multi-search.html)"]
+    #[doc = "`Post: /_msearch`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html)"]
     pub struct MsearchRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4738,7 +4739,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_msearch/template`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-multi-search.html)"]
+    #[doc = "`Post: /_msearch/template`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html)"]
     pub struct MsearchTemplateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4812,7 +4813,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_mtermvectors`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-multi-termvectors.html)"]
+    #[doc = "`Post: /_mtermvectors`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-termvectors.html)"]
     pub struct MtermvectorsRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -4876,7 +4877,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_nodes/hot_threads`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-hot-threads.html)"]
+    #[doc = "`Get: /_nodes/hot_threads`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-hot-threads.html)"]
     pub struct NodesHotThreadsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -4941,7 +4942,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_nodes`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-info.html)"]
+    #[doc = "`Get: /_nodes`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html)"]
     pub struct NodesInfoRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -5012,7 +5013,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_nodes/reload_secure_settings`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/secure-settings.html#reloadable-secure-settings)"]
+    #[doc = "`Post: /_nodes/reload_secure_settings`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/secure-settings.html#reloadable-secure-settings)"]
     pub struct NodesReloadSecureSettingsRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5108,7 +5109,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_nodes/stats`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-stats.html)"]
+    #[doc = "`Get: /_nodes/stats`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html)"]
     pub struct NodesStatsRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -5227,7 +5228,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_nodes/usage`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-usage.html)"]
+    #[doc = "`Get: /_nodes/usage`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-usage.html)"]
     pub struct NodesUsageRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -5368,7 +5369,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_scripts/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html)"]
+    #[doc = "`Post: /_scripts/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html)"]
     pub struct PutScriptRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5425,7 +5426,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_rank_eval`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-rank-eval.html)"]
+    #[doc = "`Post: /_rank_eval`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-rank-eval.html)"]
     pub struct RankEvalRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5470,7 +5471,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_reindex`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-reindex.html)"]
+    #[doc = "`Post: /_reindex`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html)"]
     pub struct ReindexRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5511,7 +5512,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_reindex/{task_id}/_rethrottle`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-reindex.html)"]
+    #[doc = "`Post: /_reindex/{task_id}/_rethrottle`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html)"]
     pub struct ReindexRethrottleRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5556,7 +5557,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_render/template`\n\n[Elasticsearch Documentation](http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-template.html)"]
+    #[doc = "`Post: /_render/template`\n\n[Elasticsearch Documentation](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-template.html)"]
     pub struct RenderSearchTemplateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5645,7 +5646,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_search/scroll`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-scroll.html)"]
+    #[doc = "`Post: /_search/scroll`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html)"]
     pub struct ScrollRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5708,7 +5709,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_search`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html)"]
+    #[doc = "`Get: /_search`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html)"]
     pub struct SimpleSearchRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -5778,7 +5779,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_search`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html)"]
+    #[doc = "`Post: /_search`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html)"]
     pub struct SearchRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5842,7 +5843,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_search_shards`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-shards.html)"]
+    #[doc = "`Post: /{index}/_search_shards`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-shards.html)"]
     pub struct SearchShardsRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5905,7 +5906,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_search/template`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-template.html)"]
+    #[doc = "`Post: /_search/template`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html)"]
     pub struct SearchTemplateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -5969,7 +5970,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_snapshot/{repository}/{snapshot}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Post: /_snapshot/{repository}/{snapshot}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotCreateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6021,7 +6022,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_snapshot/{repository}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Post: /_snapshot/{repository}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotCreateRepositoryRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6067,7 +6068,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /_snapshot/{repository}/{snapshot}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Delete: /_snapshot/{repository}/{snapshot}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotDeleteRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -6116,7 +6117,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Delete: /_snapshot/{repository}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Delete: /_snapshot/{repository}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotDeleteRepositoryRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -6160,7 +6161,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_snapshot/{repository}/{snapshot}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Get: /_snapshot/{repository}/{snapshot}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotGetRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -6208,7 +6209,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_snapshot`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Get: /_snapshot`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotGetRepositoryRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -6259,7 +6260,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_snapshot/{repository}/{snapshot}/_restore`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Post: /_snapshot/{repository}/{snapshot}/_restore`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotRestoreRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6325,7 +6326,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_snapshot/_status`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Get: /_snapshot/_status`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotStatusRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -6390,7 +6391,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_snapshot/{repository}/_verify`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html)"]
+    #[doc = "`Post: /_snapshot/{repository}/_verify`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)"]
     pub struct SnapshotVerifyRepositoryRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6471,7 +6472,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html)"]
+    #[doc = "`Post: /_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html)"]
     pub struct TasksCancelRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6521,7 +6522,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_tasks/{task_id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html)"]
+    #[doc = "`Get: /_tasks/{task_id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html)"]
     pub struct TasksGetRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -6557,7 +6558,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Get: /_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html)"]
+    #[doc = "`Get: /_tasks`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html)"]
     pub struct TasksListRequest<'a> {
         pub url: UrlPath<'a>,
     }
@@ -6628,7 +6629,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_termvectors/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-termvectors.html)"]
+    #[doc = "`Post: /{index}/_termvectors/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-termvectors.html)"]
     pub struct TermvectorsRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6725,7 +6726,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_update/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html)"]
+    #[doc = "`Post: /{index}/_update/{id}`\n\n[Elasticsearch Documentation](http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html)"]
     pub struct UpdateRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6797,7 +6798,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /{index}/_update_by_query`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update-by-query.html)"]
+    #[doc = "`Post: /{index}/_update_by_query`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html)"]
     pub struct UpdateByQueryRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6852,7 +6853,7 @@ pub mod endpoints {
         }
     }
     #[derive(Debug, Clone, PartialEq)]
-    #[doc = "`Post: /_update_by_query/{task_id}/_rethrottle`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update-by-query.html)"]
+    #[doc = "`Post: /_update_by_query/{task_id}/_rethrottle`\n\n[Elasticsearch Documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html)"]
     pub struct UpdateByQueryRethrottleRequest<'a, B> {
         pub url: UrlPath<'a>,
         pub body: B,
@@ -6881,6 +6882,7 @@ pub mod endpoints {
 }
 
 pub mod http {
+    #![allow(missing_docs)]
     pub use crate::http::Method;
     use std::{
         borrow::Cow,
@@ -6923,6 +6925,7 @@ pub mod http {
 }
 
 pub mod params {
+    #![allow(missing_docs)]
 
     include!("genned.params.rs");
 
diff --git a/src/elastic/src/http/mod.rs b/src/elastic/src/http/mod.rs
index d55bffad57..a36588d814 100644
--- a/src/elastic/src/http/mod.rs
+++ b/src/elastic/src/http/mod.rs
@@ -54,18 +54,30 @@ pub struct HttpRequest<TBody> {
 }
 
 impl<TBody> HttpRequest<TBody> {
+    /**
+    Get a mutable reference to the request url.
+    */
     pub fn url_mut(&mut self) -> &mut Url {
         &mut self.url
     }
 
+    /**
+    Get a mutable reference to the request method.
+    */
     pub fn method_mut(&mut self) -> &mut Method {
         &mut self.method
     }
 
+    /**
+    Get a mutable reference to the request headers.
+    */
     pub fn headers_mut(&mut self) -> &mut HeaderMap {
         Arc::make_mut(&mut self.headers)
     }
 
+    /**
+    Get a mutable reference to the request body.
+    */
     pub fn body_mut(&mut self) -> Option<&mut TBody> {
         self.body.as_mut()
     }
diff --git a/src/elastic/src/http/receiver/error.rs b/src/elastic/src/http/receiver/error.rs
index 2eb92f00ab..89391bb9d8 100644
--- a/src/elastic/src/http/receiver/error.rs
+++ b/src/elastic/src/http/receiver/error.rs
@@ -2,6 +2,8 @@
 Error types from Elasticsearch.
 */
 
+#![allow(missing_docs)]
+
 use serde::{
     Deserialize,
     Deserializer,
@@ -65,6 +67,9 @@ pub struct ParseError {
 }
 
 impl ParseError {
+    /**
+    Capture a standard error as a `ParseError`.
+    */
     pub fn new<E>(err: E) -> Self
     where
         E: StdError + Send + Sync + 'static,
diff --git a/src/elastic/src/http/receiver/parsing.rs b/src/elastic/src/http/receiver/parsing.rs
index 7adcc45f38..449889c6d8 100644
--- a/src/elastic/src/http/receiver/parsing.rs
+++ b/src/elastic/src/http/receiver/parsing.rs
@@ -24,7 +24,7 @@ pub struct Parse<T> {
     _marker: PhantomData<T>,
 }
 
-/*
+/**
 Try parse a http response into a concrete type.
 
 Parsing is split between two calls:
@@ -41,7 +41,8 @@ Provide an explicit response type in the `parse` function:
 
 ```no_run
 # use serde_json::Value;
-# use elastic::http::receiver::parse;
+# use elastic::http::{StatusCode, receiver::{parse, ParseError}};
+# use elastic::client::responses::*;
 # fn do_request() -> (StatusCode, Vec<u8>) { unimplemented!() }
 # fn main() {
 # let (response_status, response_body) = do_request();
@@ -53,11 +54,12 @@ Provide an explicit response type on the result ident:
 
 ```no_run
 # use serde_json::Value;
-# use elastic::http::receiver::parse;
+# use elastic::http::{StatusCode, receiver::{parse, ResponseError}};
+# use elastic::client::responses::*;
 # fn do_request() -> (StatusCode, Vec<u8>) { unimplemented!() }
 # fn main() {
 # let (response_status, response_body) = do_request();
-let get_response: Result<GetResponse<Value>, ParseError> = parse().from_slice(response_status, response_body);
+let get_response: Result<GetResponse<Value>, ResponseError> = parse().from_slice(response_status, response_body);
 # }
 ```
 
@@ -65,10 +67,11 @@ If Rust can infer the concrete response type then you can avoid specifying it at
 
 ```no_run
 # use serde_json::Value;
-# use elastic::http::receiver::parse;
+# use elastic::http::{StatusCode, receiver::{parse, ResponseError}};
+# use elastic::client::responses::*;
 # fn do_request() -> (StatusCode, Vec<u8>) { unimplemented!() }
 # fn main() {
-# fn parse_response() -> Result<GetResponse<Value>, ParseError> {
+# fn parse_response() -> Result<GetResponse<Value>, ResponseError> {
 # let (response_status, response_body) = do_request();
 let get_response = parse().from_slice(response_status, response_body);
 # get_response
@@ -374,8 +377,17 @@ pub enum MaybeBufferedResponse<B>
 where
     B: ResponseBody,
 {
+    /**
+    The response body has not been buffered.
+    */
     Unbuffered(B),
+    /**
+    The response body has been buffered.
+    */
     Buffered(B::Buffered),
+    /**
+    The response body has been deserialized.
+    */
     Value(Value),
 }
 
diff --git a/src/elastic/src/http/sender/mod.rs b/src/elastic/src/http/sender/mod.rs
index 974056f417..3dd72a254f 100644
--- a/src/elastic/src/http/sender/mod.rs
+++ b/src/elastic/src/http/sender/mod.rs
@@ -97,14 +97,14 @@ At some point in the future though this may be made more generic so you could re
 [Client]: struct.Client.html
 */
 pub trait Sender: private::Sealed + Clone {
-    /* The kind of request body this sender accepts. */
+    /** The kind of request body this sender accepts. */
     type Body;
-    /* The kind of response this sender produces. */
+    /** The kind of response this sender produces. */
     type Response;
-    /* The kind of request parameters this sender accepts. */
+    /** The kind of request parameters this sender accepts. */
     type Params;
 
-    /* Send a request. */
+    /** Send a request. */
     fn send<TEndpoint, TParams, TBody>(
         &self,
         request: SendableRequest<TEndpoint, TParams, TBody>,
@@ -123,14 +123,14 @@ The `NextParams` trait makes it possible to load balance requests between multip
 Out of the box `elastic` provides implementations for a static set of nodes or nodes sniffed from the [Nodes Stats API]().
 */
 pub trait NextParams: private::Sealed + Clone {
-    /*
+    /**
     The kind of parameters produces.
 
     This type is designed to link a `NextParams` implementation with a particular `Sender`.
     */
     type Params;
 
-    /* Get a set of request parameters. */
+    /** Get a set of request parameters. */
     fn next(&self) -> Self::Params;
 }
 
diff --git a/src/elastic/src/http/sender/params.rs b/src/elastic/src/http/sender/params.rs
index 28c84c389d..696cc22ead 100644
--- a/src/elastic/src/http/sender/params.rs
+++ b/src/elastic/src/http/sender/params.rs
@@ -19,6 +19,9 @@ use crate::http::{
     Method,
 };
 
+/**
+The default Elasticsearch address to connect to.
+*/
 pub const DEFAULT_NODE_ADDRESS: &'static str = "http://localhost:9200";
 
 /**
diff --git a/src/elastic/src/http/sender/sniffed_nodes.rs b/src/elastic/src/http/sender/sniffed_nodes.rs
index dc9fca2d7e..9949f77e0e 100644
--- a/src/elastic/src/http/sender/sniffed_nodes.rs
+++ b/src/elastic/src/http/sender/sniffed_nodes.rs
@@ -73,7 +73,7 @@ The base url for the node is obtained by the `http.publish_address` field on a [
 Nodes are refreshed on the next request after the specified timeout.
 If updating the nodes fails for some reason then the request itself will also fail.
 
-[node info request]: https://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-info.html
+[node info request]: https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html
 */
 #[derive(Clone)]
 pub struct SniffedNodes<TSender> {
diff --git a/src/elastic/src/http/sender/static_nodes.rs b/src/elastic/src/http/sender/static_nodes.rs
index 8fd3b8a73e..d669ebd52b 100644
--- a/src/elastic/src/http/sender/static_nodes.rs
+++ b/src/elastic/src/http/sender/static_nodes.rs
@@ -1,5 +1,7 @@
 /*! Multiple static nodes that can be load balanced by some strategy. */
 
+#![allow(missing_docs)]
+
 use crate::{
     error::{
         self,
diff --git a/src/elastic/src/lib.rs b/src/elastic/src/lib.rs
index 1b85bc987c..e39c7f851c 100644
--- a/src/elastic/src/lib.rs
+++ b/src/elastic/src/lib.rs
@@ -25,8 +25,8 @@ To get stated, add `elastic` to your `Cargo.toml`:
 
 ```ignore
 [dependencies]
-elastic = "~0.21.0-pre.4"
-elastic_derive = "~0.21.0-pre.4"
+elastic = "~0.21.0-pre.5"
+elastic_derive = "~0.21.0-pre.5"
 ```
 
 The following optional dependencies may also be useful:
@@ -124,7 +124,7 @@ struct MyType {
 # }
 ```
 
-Call [`Client.document().put_mapping`][Client.document.put_mapping] to ensure an index has the right mapping for your document types:
+Call [`Client.document().put_mapping()`][Client.document.put_mapping] to ensure an index has the right mapping for your document types:
 
 ```no_run
 # #[macro_use] extern crate serde_derive;
@@ -142,7 +142,7 @@ client.document::<MyType>()
 # }
 ```
 
-Then call [`Client.document().index`][Client.document.index] to index documents in Elasticsearch:
+Then call [`Client.document().index()`][Client.document.index] to index documents in Elasticsearch:
 
 ```no_run
 # #[macro_use] extern crate serde_derive;
@@ -170,7 +170,7 @@ let response = client.document()
 # }
 ```
 
-Call [`Client.document_get`][Client.document_get] to retrieve a single document from an index:
+Call [`Client.document().get()`][Client.document.get] to retrieve a single document from an index:
 
 ```no_run
 # #[macro_use] extern crate serde_derive;
@@ -200,7 +200,7 @@ For more details on document types, see the [`types`][types-mod] module.
 
 ### Searching documents
 
-Call [`Client.doument().search`][Client.document.search] to execute [Query DSL][docs-search] queries:
+Call [`Client.doument().search()`][Client.document.search] to execute [Query DSL][docs-search] queries:
 
 ```no_run
 # #[macro_use] extern crate serde_json;
@@ -231,16 +231,6 @@ for hit in response.hits() {
 # }
 ```
 
-# Crate design
-
-This crate is mostly a meta-package composed of a number of smaller pieces including:
-
-- `crate::client::requests::raw` API request builders
-- `elastic_responses` API response parsers
-- `elastic_types` tools for document and mapping APIs
-
-This crate glues these libraries together with some simple assumptions about how they're going to be used.
-
 # Links
 
 - [Elasticsearch Docs][docs-root]
@@ -252,25 +242,25 @@ This crate glues these libraries together with some simple assumptions about how
 [crates-io]: https://crates.io/crates/elastic
 [github]: https://github.com/elastic-rs/elastic
 
-[docs-root]: https://www.elastic.co/guide/en/elasticsearch/reference/master/index.html
-[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping.html
-[docs-search]: http://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html
+[docs-root]: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
+[docs-mapping]: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html
+[docs-search]: http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html
 
 [SyncClient]: client/type.SyncClient.html
 [SyncClientBuilder]: client/struct.SyncClientBuilder.html
 [AsyncClient]: client/type.AsyncClient.html
 [Client]: client/struct.Client.html
-[Client.document.put_mapping]: client/struct.Client.html#method.document_put_mapping
-[Client.document.index]: client/struct.Client.html#method.document_index
-[Client.document.get]: client/struct.Client.html#method.document_get
-[Client.document.search]: client/struct.Client.html#method.search
+[Client.document.put_mapping]: client/struct.DocumentClient.html#put-mapping-request
+[Client.document.index]: client/struct.DocumentClient.html#index-document-request
+[Client.document.get]: client/struct.DocumentClient.html#get-document-request
+[Client.document.search]: client/struct.DocumentClient.html#search-request
 [client-mod]: client/index.html
 [requests-mod]: client/requests/index.html
 [types-mod]: types/index.html
 [request-builders]: client/index.html#request-builders
 */
 
-//#![deny(warnings, missing_docs)]
+#![deny(warnings, missing_docs)]
 
 #[macro_use]
 extern crate error_chain;
diff --git a/src/elastic/src/types/boolean/mod.rs b/src/elastic/src/types/boolean/mod.rs
index cc1a9e8295..34d699d985 100644
--- a/src/elastic/src/types/boolean/mod.rs
+++ b/src/elastic/src/types/boolean/mod.rs
@@ -42,7 +42,7 @@ impl BooleanFieldType<DefaultBooleanMapping> for MyBooleanField {}
 
 # Links
 
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/boolean.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/boolean.html)
 */
 pub mod mapping;
 
diff --git a/src/elastic/src/types/date/formats.rs b/src/elastic/src/types/date/formats.rs
index 5fe50b8304..baf4f1009c 100644
--- a/src/elastic/src/types/date/formats.rs
+++ b/src/elastic/src/types/date/formats.rs
@@ -27,7 +27,7 @@ pub struct ChronoFormat;
 Format for `basic_date_time_no_millis`.
 
 # Links
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping-date-format.html#built-in-date-formats)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html#built-in-date-formats)
 */
 #[derive(ElasticDateFormat, PartialEq, Debug, Default, Clone, Copy)]
 #[elastic(crate_root = "crate::types")]
@@ -41,7 +41,7 @@ pub struct BasicDateTimeNoMillis;
 Format for `basic_date_time`.
 
 # Links
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping-date-format.html#built-in-date-formats)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html#built-in-date-formats)
 */
 #[derive(ElasticDateFormat, PartialEq, Debug, Default, Clone, Copy)]
 #[elastic(crate_root = "crate::types")]
@@ -58,7 +58,7 @@ Takes up to a 13 digit string of millis since the epoch and converts to a `DateT
 This is an efficient formatter, so is a good choice for storing timestamps.
 
 # Links
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping-date-format.html#built-in-date-formats)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html#built-in-date-formats)
 */
 #[derive(PartialEq, Debug, Default, Clone, Copy)]
 pub struct EpochMillis;
diff --git a/src/elastic/src/types/date/impls.rs b/src/elastic/src/types/date/impls.rs
index d2de239d08..55dbfa64d7 100644
--- a/src/elastic/src/types/date/impls.rs
+++ b/src/elastic/src/types/date/impls.rs
@@ -97,7 +97,7 @@ println!("{}/{}/{} {}:{}:{}.{}",
 
 # Links
 
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/date.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html)
 */
 #[derive(Debug, Clone, PartialEq)]
 pub struct Date<TMapping>
@@ -410,7 +410,7 @@ where
 }
 
 /**
-A [date math](https://www.elastic.co/guide/en/elasticsearch/reference/master/common-options.html#date-math) expression.
+A [date math](https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math) expression.
 
 Date math expressions start from an anchor date, like the literal `now` or `2017-05-06` and apply math operations to produce a new date value.
 
diff --git a/src/elastic/src/types/date/mod.rs b/src/elastic/src/types/date/mod.rs
index 7477800205..02ba4b0042 100644
--- a/src/elastic/src/types/date/mod.rs
+++ b/src/elastic/src/types/date/mod.rs
@@ -105,7 +105,7 @@ impl DateFormat for Rfc3339Format {
 ```
 
 # Links
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/date.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html)
 */
 
 pub mod mapping;
diff --git a/src/elastic/src/types/document/impls.rs b/src/elastic/src/types/document/impls.rs
index f3cdb372f2..c902396e89 100644
--- a/src/elastic/src/types/document/impls.rs
+++ b/src/elastic/src/types/document/impls.rs
@@ -59,6 +59,7 @@ pub trait DocumentType: ObjectFieldType {
 An indexable Elasticsearch type with a static index.
 */
 pub trait StaticIndex: DocumentType {
+    /** Get the statically known index this document belongs to. */
     fn static_index() -> Index<'static> {
         Self::partial_static_index().expect("missing static index")
     }
@@ -68,6 +69,7 @@ pub trait StaticIndex: DocumentType {
 An indexable Elasticsearch type with a static document type.
 */
 pub trait StaticType: DocumentType {
+    /** Get the statically known type this document belongs to. */
     fn static_ty() -> Type<'static> {
         Self::partial_static_ty().expect("missing static type")
     }
@@ -103,8 +105,8 @@ A wrapper type for serialising user types.
 
 Serialising `Document` will produce the mapping for the given type,
 suitable as the mapping for
-[Put Mapping](https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-put-mapping.html)
-or [Create Index](https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html).
+[Put Mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html)
+or [Create Index](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html).
 */
 pub struct IndexDocumentMapping<TMapping>
 where
diff --git a/src/elastic/src/types/document/mapping.rs b/src/elastic/src/types/document/mapping.rs
index eefb9d65de..31f961b92b 100644
--- a/src/elastic/src/types/document/mapping.rs
+++ b/src/elastic/src/types/document/mapping.rs
@@ -8,6 +8,7 @@ use serde::{
 
 /** A field that will be mapped as a nested document. */
 pub trait ObjectFieldType {
+    /** The type of mapping for a document. */
     type Mapping: ObjectMapping;
 }
 
diff --git a/src/elastic/src/types/document/mod.rs b/src/elastic/src/types/document/mod.rs
index f80228ac3f..e3f90e1df7 100644
--- a/src/elastic/src/types/document/mod.rs
+++ b/src/elastic/src/types/document/mod.rs
@@ -311,8 +311,8 @@ So you can't `#[derive(ElasticType)]` on `MyType<T>`.
 So you can't share `MyTypeMapping` between `MyType` and `MyOtherType`.
 
 # Links
-- [Field Types](https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping-types.html)
-- [Document Types](https://www.elastic.co/guide/en/elasticsearch/reference/master/mapping.html)
+- [Field Types](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html)
+- [Document Types](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html)
 */
 
 pub mod mapping;
diff --git a/src/elastic/src/types/geo/point/impls.rs b/src/elastic/src/types/geo/point/impls.rs
index 00c4958c54..2b1eeda7d7 100644
--- a/src/elastic/src/types/geo/point/impls.rs
+++ b/src/elastic/src/types/geo/point/impls.rs
@@ -59,7 +59,7 @@ println!("({},{})",
 ```
 
 # Links
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/geo-point.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html)
 */
 #[derive(Debug, Clone, PartialEq)]
 pub struct GeoPoint<TMapping>
diff --git a/src/elastic/src/types/geo/point/mod.rs b/src/elastic/src/types/geo/point/mod.rs
index b28dd1b1bd..19726793e0 100644
--- a/src/elastic/src/types/geo/point/mod.rs
+++ b/src/elastic/src/types/geo/point/mod.rs
@@ -51,7 +51,7 @@ impl GeoPointFieldType<DefaultGeoPointMapping<GeoPointObject>> for MyGeoPointFie
 
 # Links
 
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/geo-point.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html)
 */
 
 use geo::{
diff --git a/src/elastic/src/types/geo/shape/mod.rs b/src/elastic/src/types/geo/shape/mod.rs
index a963c3d0c0..a853060aef 100644
--- a/src/elastic/src/types/geo/shape/mod.rs
+++ b/src/elastic/src/types/geo/shape/mod.rs
@@ -49,7 +49,7 @@ impl GeoShapeFieldType<DefaultGeoShapeMapping> for MyGeoShapeField {}
 
 # Links
 
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/geo-shape.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html)
 */
 
 pub mod mapping;
diff --git a/src/elastic/src/types/ip/mod.rs b/src/elastic/src/types/ip/mod.rs
index 6488d1f141..2844ced84c 100644
--- a/src/elastic/src/types/ip/mod.rs
+++ b/src/elastic/src/types/ip/mod.rs
@@ -44,7 +44,7 @@ impl IpFieldType<DefaultIpMapping> for MyIpField {}
 
 # Links
 
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/ip.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/ip.html)
 */
 
 pub mod mapping;
diff --git a/src/elastic/src/types/number/mod.rs b/src/elastic/src/types/number/mod.rs
index ca94683b1f..88184aa2e6 100644
--- a/src/elastic/src/types/number/mod.rs
+++ b/src/elastic/src/types/number/mod.rs
@@ -56,7 +56,7 @@ impl IntegerFieldType<DefaultIntegerMapping> for MyIntegerField {}
 
 # Links
 
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/number.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/number.html)
 */
 
 pub mod mapping;
diff --git a/src/elastic/src/types/string/mapping.rs b/src/elastic/src/types/string/mapping.rs
index d11c7824cd..072474185a 100644
--- a/src/elastic/src/types/string/mapping.rs
+++ b/src/elastic/src/types/string/mapping.rs
@@ -100,7 +100,7 @@ impl Serialize for StringField {
     }
 }
 
-/** A multi-field string mapping for a [token count](https://www.elastic.co/guide/en/elasticsearch/reference/master/token-count.html). */
+/** A multi-field string mapping for a [token count](https://www.elastic.co/guide/en/elasticsearch/reference/current/token-count.html). */
 #[derive(Debug, Default, Clone, Copy)]
 pub struct ElasticTokenCountFieldMapping {
     /**
@@ -159,7 +159,7 @@ impl Serialize for ElasticTokenCountFieldMapping {
     }
 }
 
-/** A multi-field string mapping for a [completion suggester](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-suggesters-completion.html#search-suggesters-completion). */
+/** A multi-field string mapping for a [completion suggester](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html#search-suggesters-completion). */
 #[derive(Debug, Default, Clone, Copy)]
 pub struct ElasticCompletionFieldMapping {
     /**
diff --git a/src/elastic/src/types/string/mod.rs b/src/elastic/src/types/string/mod.rs
index d0044e3bf8..5317654e3d 100644
--- a/src/elastic/src/types/string/mod.rs
+++ b/src/elastic/src/types/string/mod.rs
@@ -70,7 +70,7 @@ impl KeywordFieldType<DefaultKeywordMapping> for MyKeywordField {}
 
 # Links
 
-- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/master/string.html)
+- [Elasticsearch Doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/string.html)
 */
 
 #[macro_use]
diff --git a/src/elastic_derive/Cargo.toml b/src/elastic_derive/Cargo.toml
index b533aaf224..992903b8ae 100644
--- a/src/elastic_derive/Cargo.toml
+++ b/src/elastic_derive/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "elastic_derive"
-version = "0.21.0-pre.4"
+version = "0.21.0-pre.5"
 authors = ["Ashley Mannix <ashleymannix@live.com.au>"]
 license = "MIT/Apache-2.0"
 description = "Compile-time code generation for Elasticsearch type implementations."
diff --git a/tools/generate_requests/spec/_common.json b/tools/generate_requests/spec/_common.json
index c4287280a0..69a1f8fb8c 100644
--- a/tools/generate_requests/spec/_common.json
+++ b/tools/generate_requests/spec/_common.json
@@ -1,6 +1,6 @@
 {
   "description": "Parameters that are accepted by all API endpoints.",
-  "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/common-options.html",
+  "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html",
   "params": {
     "pretty": {
       "type": "boolean",
diff --git a/tools/generate_requests/spec/bulk.json b/tools/generate_requests/spec/bulk.json
index a07f362bef..56b98e304e 100644
--- a/tools/generate_requests/spec/bulk.json
+++ b/tools/generate_requests/spec/bulk.json
@@ -1,6 +1,6 @@
 {
   "bulk": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html",
     "methods": ["POST", "PUT"],
     "url": {
       "path": "/_bulk",
diff --git a/tools/generate_requests/spec/cat.aliases.json b/tools/generate_requests/spec/cat.aliases.json
index d30c6ace6f..12159eda5f 100644
--- a/tools/generate_requests/spec/cat.aliases.json
+++ b/tools/generate_requests/spec/cat.aliases.json
@@ -1,6 +1,6 @@
 {
   "cat.aliases": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-alias.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/aliases",
diff --git a/tools/generate_requests/spec/cat.allocation.json b/tools/generate_requests/spec/cat.allocation.json
index 7c82689060..84d6d65e1b 100644
--- a/tools/generate_requests/spec/cat.allocation.json
+++ b/tools/generate_requests/spec/cat.allocation.json
@@ -1,6 +1,6 @@
 {
   "cat.allocation": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-allocation.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/allocation",
diff --git a/tools/generate_requests/spec/cat.count.json b/tools/generate_requests/spec/cat.count.json
index 4311d9a3be..991b8c6727 100644
--- a/tools/generate_requests/spec/cat.count.json
+++ b/tools/generate_requests/spec/cat.count.json
@@ -1,6 +1,6 @@
 {
   "cat.count": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-count.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/count",
diff --git a/tools/generate_requests/spec/cat.fielddata.json b/tools/generate_requests/spec/cat.fielddata.json
index 88c7eee126..307e64ce45 100644
--- a/tools/generate_requests/spec/cat.fielddata.json
+++ b/tools/generate_requests/spec/cat.fielddata.json
@@ -1,6 +1,6 @@
 {
   "cat.fielddata": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-fielddata.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/fielddata",
diff --git a/tools/generate_requests/spec/cat.health.json b/tools/generate_requests/spec/cat.health.json
index e858e83b46..5ce06e3d94 100644
--- a/tools/generate_requests/spec/cat.health.json
+++ b/tools/generate_requests/spec/cat.health.json
@@ -1,6 +1,6 @@
 {
   "cat.health": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-health.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/health",
diff --git a/tools/generate_requests/spec/cat.help.json b/tools/generate_requests/spec/cat.help.json
index e893fb1b04..d093146e24 100644
--- a/tools/generate_requests/spec/cat.help.json
+++ b/tools/generate_requests/spec/cat.help.json
@@ -1,6 +1,6 @@
 {
   "cat.help": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat",
diff --git a/tools/generate_requests/spec/cat.indices.json b/tools/generate_requests/spec/cat.indices.json
index 42a47253de..c306583df7 100644
--- a/tools/generate_requests/spec/cat.indices.json
+++ b/tools/generate_requests/spec/cat.indices.json
@@ -1,6 +1,6 @@
 {
   "cat.indices": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/indices",
diff --git a/tools/generate_requests/spec/cat.master.json b/tools/generate_requests/spec/cat.master.json
index ab87b2adb7..32928a6700 100644
--- a/tools/generate_requests/spec/cat.master.json
+++ b/tools/generate_requests/spec/cat.master.json
@@ -1,6 +1,6 @@
 {
   "cat.master": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-master.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/master",
diff --git a/tools/generate_requests/spec/cat.nodeattrs.json b/tools/generate_requests/spec/cat.nodeattrs.json
index 3d8a4a77a7..1f27c8a31b 100644
--- a/tools/generate_requests/spec/cat.nodeattrs.json
+++ b/tools/generate_requests/spec/cat.nodeattrs.json
@@ -1,6 +1,6 @@
 {
   "cat.nodeattrs": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodeattrs.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/nodeattrs",
diff --git a/tools/generate_requests/spec/cat.nodes.json b/tools/generate_requests/spec/cat.nodes.json
index 1b3c1266a6..e7f975034e 100644
--- a/tools/generate_requests/spec/cat.nodes.json
+++ b/tools/generate_requests/spec/cat.nodes.json
@@ -1,6 +1,6 @@
 {
   "cat.nodes": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/nodes",
diff --git a/tools/generate_requests/spec/cat.pending_tasks.json b/tools/generate_requests/spec/cat.pending_tasks.json
index 983b82482a..3c8b0e6a93 100644
--- a/tools/generate_requests/spec/cat.pending_tasks.json
+++ b/tools/generate_requests/spec/cat.pending_tasks.json
@@ -1,6 +1,6 @@
 {
   "cat.pending_tasks": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-pending-tasks.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/pending_tasks",
diff --git a/tools/generate_requests/spec/cat.plugins.json b/tools/generate_requests/spec/cat.plugins.json
index 93c7feabab..78a5286cf6 100644
--- a/tools/generate_requests/spec/cat.plugins.json
+++ b/tools/generate_requests/spec/cat.plugins.json
@@ -1,6 +1,6 @@
 {
   "cat.plugins": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-plugins.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/plugins",
diff --git a/tools/generate_requests/spec/cat.recovery.json b/tools/generate_requests/spec/cat.recovery.json
index 42f91cedfd..890ed90017 100644
--- a/tools/generate_requests/spec/cat.recovery.json
+++ b/tools/generate_requests/spec/cat.recovery.json
@@ -1,6 +1,6 @@
 {
   "cat.recovery": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/recovery",
diff --git a/tools/generate_requests/spec/cat.repositories.json b/tools/generate_requests/spec/cat.repositories.json
index c640a568fd..3198d09ebb 100644
--- a/tools/generate_requests/spec/cat.repositories.json
+++ b/tools/generate_requests/spec/cat.repositories.json
@@ -1,6 +1,6 @@
 {
   "cat.repositories": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-repositories.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/repositories",
diff --git a/tools/generate_requests/spec/cat.segments.json b/tools/generate_requests/spec/cat.segments.json
index 3306b2f753..e1dce22a91 100644
--- a/tools/generate_requests/spec/cat.segments.json
+++ b/tools/generate_requests/spec/cat.segments.json
@@ -1,6 +1,6 @@
 {
   "cat.segments": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-segments.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/segments",
diff --git a/tools/generate_requests/spec/cat.shards.json b/tools/generate_requests/spec/cat.shards.json
index 2ad714e722..8be9cd6e7e 100644
--- a/tools/generate_requests/spec/cat.shards.json
+++ b/tools/generate_requests/spec/cat.shards.json
@@ -1,6 +1,6 @@
 {
   "cat.shards": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-shards.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/shards",
diff --git a/tools/generate_requests/spec/cat.snapshots.json b/tools/generate_requests/spec/cat.snapshots.json
index eec22e2e04..8339db27e0 100644
--- a/tools/generate_requests/spec/cat.snapshots.json
+++ b/tools/generate_requests/spec/cat.snapshots.json
@@ -1,6 +1,6 @@
 {
   "cat.snapshots": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-snapshots.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/snapshots",
diff --git a/tools/generate_requests/spec/cat.tasks.json b/tools/generate_requests/spec/cat.tasks.json
index 1958843e60..e64280af08 100644
--- a/tools/generate_requests/spec/cat.tasks.json
+++ b/tools/generate_requests/spec/cat.tasks.json
@@ -1,6 +1,6 @@
 {
   "cat.tasks": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/tasks",
diff --git a/tools/generate_requests/spec/cat.templates.json b/tools/generate_requests/spec/cat.templates.json
index f0757c2d65..4ea17fce4a 100644
--- a/tools/generate_requests/spec/cat.templates.json
+++ b/tools/generate_requests/spec/cat.templates.json
@@ -1,6 +1,6 @@
 {
   "cat.templates": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-templates.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/templates",
diff --git a/tools/generate_requests/spec/cat.thread_pool.json b/tools/generate_requests/spec/cat.thread_pool.json
index 70a11000bb..638ea53d8b 100644
--- a/tools/generate_requests/spec/cat.thread_pool.json
+++ b/tools/generate_requests/spec/cat.thread_pool.json
@@ -1,6 +1,6 @@
 {
   "cat.thread_pool": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-thread-pool.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cat/thread_pool",
diff --git a/tools/generate_requests/spec/clear_scroll.json b/tools/generate_requests/spec/clear_scroll.json
index 6b82d1dc47..2a4d2e65ce 100644
--- a/tools/generate_requests/spec/clear_scroll.json
+++ b/tools/generate_requests/spec/clear_scroll.json
@@ -1,6 +1,6 @@
 {
   "clear_scroll": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-scroll.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/_search/scroll/{scroll_id}",
diff --git a/tools/generate_requests/spec/cluster.allocation_explain.json b/tools/generate_requests/spec/cluster.allocation_explain.json
index 26b24cfb69..4fbf1fb760 100644
--- a/tools/generate_requests/spec/cluster.allocation_explain.json
+++ b/tools/generate_requests/spec/cluster.allocation_explain.json
@@ -1,6 +1,6 @@
 {
   "cluster.allocation_explain": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-allocation-explain.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-allocation-explain.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_cluster/allocation/explain",
diff --git a/tools/generate_requests/spec/cluster.get_settings.json b/tools/generate_requests/spec/cluster.get_settings.json
index baba4e3436..b57fbb3a99 100644
--- a/tools/generate_requests/spec/cluster.get_settings.json
+++ b/tools/generate_requests/spec/cluster.get_settings.json
@@ -1,6 +1,6 @@
 {
   "cluster.get_settings": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cluster/settings",
diff --git a/tools/generate_requests/spec/cluster.health.json b/tools/generate_requests/spec/cluster.health.json
index ee32a87c92..7f25c41412 100644
--- a/tools/generate_requests/spec/cluster.health.json
+++ b/tools/generate_requests/spec/cluster.health.json
@@ -1,6 +1,6 @@
 {
   "cluster.health": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-health.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cluster/health",
diff --git a/tools/generate_requests/spec/cluster.pending_tasks.json b/tools/generate_requests/spec/cluster.pending_tasks.json
index fb5e1609ff..56036421ff 100644
--- a/tools/generate_requests/spec/cluster.pending_tasks.json
+++ b/tools/generate_requests/spec/cluster.pending_tasks.json
@@ -1,6 +1,6 @@
 {
   "cluster.pending_tasks": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-pending.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-pending.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cluster/pending_tasks",
diff --git a/tools/generate_requests/spec/cluster.put_settings.json b/tools/generate_requests/spec/cluster.put_settings.json
index 5fcf031028..fc211dd324 100644
--- a/tools/generate_requests/spec/cluster.put_settings.json
+++ b/tools/generate_requests/spec/cluster.put_settings.json
@@ -1,6 +1,6 @@
 {
   "cluster.put_settings": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html",
     "methods": ["PUT"],
     "url": {
       "path": "/_cluster/settings",
diff --git a/tools/generate_requests/spec/cluster.remote_info.json b/tools/generate_requests/spec/cluster.remote_info.json
index 3237853154..84a8beac78 100644
--- a/tools/generate_requests/spec/cluster.remote_info.json
+++ b/tools/generate_requests/spec/cluster.remote_info.json
@@ -1,6 +1,6 @@
 {
   "cluster.remote_info": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-remote-info.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-remote-info.html",
     "methods": ["GET"],
     "url": {
       "path": "/_remote/info",
diff --git a/tools/generate_requests/spec/cluster.reroute.json b/tools/generate_requests/spec/cluster.reroute.json
index 8bb85ca087..98b0930e26 100644
--- a/tools/generate_requests/spec/cluster.reroute.json
+++ b/tools/generate_requests/spec/cluster.reroute.json
@@ -1,6 +1,6 @@
 {
   "cluster.reroute": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-reroute.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-reroute.html",
     "methods": ["POST"],
     "url": {
       "path": "/_cluster/reroute",
diff --git a/tools/generate_requests/spec/cluster.state.json b/tools/generate_requests/spec/cluster.state.json
index fec3f45000..22c4dfcc2e 100644
--- a/tools/generate_requests/spec/cluster.state.json
+++ b/tools/generate_requests/spec/cluster.state.json
@@ -1,6 +1,6 @@
 {
   "cluster.state": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-state.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cluster/state",
diff --git a/tools/generate_requests/spec/cluster.stats.json b/tools/generate_requests/spec/cluster.stats.json
index 36400ed2f7..834e68704a 100644
--- a/tools/generate_requests/spec/cluster.stats.json
+++ b/tools/generate_requests/spec/cluster.stats.json
@@ -1,6 +1,6 @@
 {
   "cluster.stats": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-stats.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-stats.html",
     "methods": ["GET"],
     "url": {
       "path": "/_cluster/stats",
diff --git a/tools/generate_requests/spec/count.json b/tools/generate_requests/spec/count.json
index d14f4ab784..593704c760 100644
--- a/tools/generate_requests/spec/count.json
+++ b/tools/generate_requests/spec/count.json
@@ -1,6 +1,6 @@
 {
   "count": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-count.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-count.html",
     "methods": ["POST", "GET"],
     "url": {
       "path": "/_count",
diff --git a/tools/generate_requests/spec/create.json b/tools/generate_requests/spec/create.json
index 6a21620423..3c0a49fdc2 100644
--- a/tools/generate_requests/spec/create.json
+++ b/tools/generate_requests/spec/create.json
@@ -1,6 +1,6 @@
 {
   "create": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html",
     "methods": ["PUT","POST"],
     "url": {
       "path": "/{index}/_create/{id}",
diff --git a/tools/generate_requests/spec/delete.json b/tools/generate_requests/spec/delete.json
index 4b698b371a..d73d00c86f 100644
--- a/tools/generate_requests/spec/delete.json
+++ b/tools/generate_requests/spec/delete.json
@@ -1,6 +1,6 @@
 {
   "delete": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/{index}/_doc/{id}",
diff --git a/tools/generate_requests/spec/delete_by_query.json b/tools/generate_requests/spec/delete_by_query.json
index dfdc006808..f3605dfe56 100644
--- a/tools/generate_requests/spec/delete_by_query.json
+++ b/tools/generate_requests/spec/delete_by_query.json
@@ -1,6 +1,6 @@
 {
   "delete_by_query": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete-by-query.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html",
     "methods": ["POST"],
     "url": {
       "path": "/{index}/_delete_by_query",
diff --git a/tools/generate_requests/spec/delete_by_query_rethrottle.json b/tools/generate_requests/spec/delete_by_query_rethrottle.json
index 9847cdae71..f49af01cfc 100644
--- a/tools/generate_requests/spec/delete_by_query_rethrottle.json
+++ b/tools/generate_requests/spec/delete_by_query_rethrottle.json
@@ -1,6 +1,6 @@
 {
   "delete_by_query_rethrottle": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete-by-query.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html",
     "methods": ["POST"],
     "url": {
       "path": "/_delete_by_query/{task_id}/_rethrottle",
diff --git a/tools/generate_requests/spec/delete_script.json b/tools/generate_requests/spec/delete_script.json
index 83bb690cc0..d0bd3f4e5b 100644
--- a/tools/generate_requests/spec/delete_script.json
+++ b/tools/generate_requests/spec/delete_script.json
@@ -1,6 +1,6 @@
 {
   "delete_script": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/_scripts/{id}",
diff --git a/tools/generate_requests/spec/exists.json b/tools/generate_requests/spec/exists.json
index 1d3749a5d8..e284d15ca7 100644
--- a/tools/generate_requests/spec/exists.json
+++ b/tools/generate_requests/spec/exists.json
@@ -1,6 +1,6 @@
 {
   "exists": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html",
     "methods": ["HEAD"],
     "url": {
       "path": "/{index}/_doc/{id}",
diff --git a/tools/generate_requests/spec/exists_source.json b/tools/generate_requests/spec/exists_source.json
index a3edff1d11..8203e2773d 100644
--- a/tools/generate_requests/spec/exists_source.json
+++ b/tools/generate_requests/spec/exists_source.json
@@ -1,6 +1,6 @@
 {
   "exists_source": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html",
     "methods": ["HEAD"],
     "url": {
       "path": "/{index}/_source/{id}",
diff --git a/tools/generate_requests/spec/explain.json b/tools/generate_requests/spec/explain.json
index 005cbadccb..f85ad8ea2d 100644
--- a/tools/generate_requests/spec/explain.json
+++ b/tools/generate_requests/spec/explain.json
@@ -1,6 +1,6 @@
 {
   "explain": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-explain.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/{index}/_explain/{id}",
diff --git a/tools/generate_requests/spec/field_caps.json b/tools/generate_requests/spec/field_caps.json
index 3ba09ca314..07e2d2a68d 100644
--- a/tools/generate_requests/spec/field_caps.json
+++ b/tools/generate_requests/spec/field_caps.json
@@ -1,6 +1,6 @@
 {
   "field_caps": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-field-caps.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-field-caps.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_field_caps",
@@ -37,4 +37,4 @@
     },
     "body": null
   }
-}
\ No newline at end of file
+}
diff --git a/tools/generate_requests/spec/get.json b/tools/generate_requests/spec/get.json
index 0fd17b791b..2dde4e8b88 100644
--- a/tools/generate_requests/spec/get.json
+++ b/tools/generate_requests/spec/get.json
@@ -1,6 +1,6 @@
 {
   "get": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html",
     "methods": ["GET"],
     "url": {
       "path": "/{index}/_doc/{id}",
diff --git a/tools/generate_requests/spec/get_script.json b/tools/generate_requests/spec/get_script.json
index 0b2d6c5a5b..3903461351 100644
--- a/tools/generate_requests/spec/get_script.json
+++ b/tools/generate_requests/spec/get_script.json
@@ -1,6 +1,6 @@
 {
   "get_script": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html",
     "methods": ["GET"],
     "url": {
       "path": "/_scripts/{id}",
@@ -21,4 +21,4 @@
     },
     "body": null
   }
-}
\ No newline at end of file
+}
diff --git a/tools/generate_requests/spec/get_source.json b/tools/generate_requests/spec/get_source.json
index cd737e32d6..a894d4db74 100644
--- a/tools/generate_requests/spec/get_source.json
+++ b/tools/generate_requests/spec/get_source.json
@@ -1,6 +1,6 @@
 {
   "get_source": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html",
     "methods": ["GET"],
     "url": {
       "path": "/{index}/_source/{id}",
diff --git a/tools/generate_requests/spec/index.json b/tools/generate_requests/spec/index.json
index dcba05f6a3..749ced84e5 100644
--- a/tools/generate_requests/spec/index.json
+++ b/tools/generate_requests/spec/index.json
@@ -1,6 +1,6 @@
 {
   "index": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html",
     "methods": ["POST", "PUT"],
     "url": {
       "path": "/{index}/_doc",
diff --git a/tools/generate_requests/spec/indices.analyze.json b/tools/generate_requests/spec/indices.analyze.json
index c340ccd2f3..d608ba4e78 100644
--- a/tools/generate_requests/spec/indices.analyze.json
+++ b/tools/generate_requests/spec/indices.analyze.json
@@ -1,6 +1,6 @@
 {
   "indices.analyze": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-analyze.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-analyze.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_analyze",
diff --git a/tools/generate_requests/spec/indices.clear_cache.json b/tools/generate_requests/spec/indices.clear_cache.json
index 7e62371dd6..12a348253e 100644
--- a/tools/generate_requests/spec/indices.clear_cache.json
+++ b/tools/generate_requests/spec/indices.clear_cache.json
@@ -1,6 +1,6 @@
 {
   "indices.clear_cache": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-clearcache.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html",
     "methods": ["POST"],
     "url": {
       "path": "/_cache/clear",
diff --git a/tools/generate_requests/spec/indices.close.json b/tools/generate_requests/spec/indices.close.json
index 4eaa93030e..3351995735 100644
--- a/tools/generate_requests/spec/indices.close.json
+++ b/tools/generate_requests/spec/indices.close.json
@@ -1,6 +1,6 @@
 {
   "indices.close": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html",
     "methods": ["POST"],
     "url": {
       "path": "/{index}/_close",
diff --git a/tools/generate_requests/spec/indices.create.json b/tools/generate_requests/spec/indices.create.json
index d4a16e576e..d05d95bc59 100644
--- a/tools/generate_requests/spec/indices.create.json
+++ b/tools/generate_requests/spec/indices.create.json
@@ -1,6 +1,6 @@
 {
   "indices.create": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html",
     "methods": ["PUT"],
     "url": {
       "path": "/{index}",
diff --git a/tools/generate_requests/spec/indices.delete.json b/tools/generate_requests/spec/indices.delete.json
index c391242e9d..18f7877fe3 100644
--- a/tools/generate_requests/spec/indices.delete.json
+++ b/tools/generate_requests/spec/indices.delete.json
@@ -1,6 +1,6 @@
 {
   "indices.delete": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/{index}",
diff --git a/tools/generate_requests/spec/indices.delete_alias.json b/tools/generate_requests/spec/indices.delete_alias.json
index 30a32fbfef..b93393603f 100644
--- a/tools/generate_requests/spec/indices.delete_alias.json
+++ b/tools/generate_requests/spec/indices.delete_alias.json
@@ -1,6 +1,6 @@
 {
   "indices.delete_alias": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/{index}/_alias/{name}",
diff --git a/tools/generate_requests/spec/indices.delete_template.json b/tools/generate_requests/spec/indices.delete_template.json
index b311c9bbda..ed4e1ce1c3 100644
--- a/tools/generate_requests/spec/indices.delete_template.json
+++ b/tools/generate_requests/spec/indices.delete_template.json
@@ -1,6 +1,6 @@
 {
   "indices.delete_template": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/_template/{name}",
diff --git a/tools/generate_requests/spec/indices.exists.json b/tools/generate_requests/spec/indices.exists.json
index 7f04f00b40..8538f5ea9b 100644
--- a/tools/generate_requests/spec/indices.exists.json
+++ b/tools/generate_requests/spec/indices.exists.json
@@ -1,6 +1,6 @@
 {
   "indices.exists": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-exists.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-exists.html",
     "methods": [ "HEAD" ],
     "url": {
       "path": "/{index}",
diff --git a/tools/generate_requests/spec/indices.exists_alias.json b/tools/generate_requests/spec/indices.exists_alias.json
index aea20b2b63..836aec4a36 100644
--- a/tools/generate_requests/spec/indices.exists_alias.json
+++ b/tools/generate_requests/spec/indices.exists_alias.json
@@ -1,6 +1,6 @@
 {
   "indices.exists_alias": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html",
     "methods": ["HEAD"],
     "url": {
       "path": "/_alias/{name}",
diff --git a/tools/generate_requests/spec/indices.exists_template.json b/tools/generate_requests/spec/indices.exists_template.json
index 3fb9d1e207..969c7c26f5 100644
--- a/tools/generate_requests/spec/indices.exists_template.json
+++ b/tools/generate_requests/spec/indices.exists_template.json
@@ -1,6 +1,6 @@
 {
   "indices.exists_template": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html",
     "methods": ["HEAD"],
     "url": {
       "path": "/_template/{name}",
diff --git a/tools/generate_requests/spec/indices.exists_type.json b/tools/generate_requests/spec/indices.exists_type.json
index d793199bc2..cf581bb304 100644
--- a/tools/generate_requests/spec/indices.exists_type.json
+++ b/tools/generate_requests/spec/indices.exists_type.json
@@ -1,6 +1,6 @@
 {
   "indices.exists_type": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-types-exists.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-types-exists.html",
     "methods": ["HEAD"],
     "url": {
       "path": "/{index}/_mapping/{type}",
diff --git a/tools/generate_requests/spec/indices.flush.json b/tools/generate_requests/spec/indices.flush.json
index 77d9e03716..0098edddc2 100644
--- a/tools/generate_requests/spec/indices.flush.json
+++ b/tools/generate_requests/spec/indices.flush.json
@@ -1,6 +1,6 @@
 {
   "indices.flush": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-flush.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html",
     "methods": ["POST", "GET"],
     "url": {
       "path": "/_flush",
diff --git a/tools/generate_requests/spec/indices.flush_synced.json b/tools/generate_requests/spec/indices.flush_synced.json
index 08488eae86..f8d6e544e4 100644
--- a/tools/generate_requests/spec/indices.flush_synced.json
+++ b/tools/generate_requests/spec/indices.flush_synced.json
@@ -1,6 +1,6 @@
 {
   "indices.flush_synced": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-synced-flush.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-synced-flush.html",
     "methods": ["POST", "GET"],
     "url": {
       "path": "/_flush/synced",
diff --git a/tools/generate_requests/spec/indices.forcemerge.json b/tools/generate_requests/spec/indices.forcemerge.json
index d87ce2a445..d964ae41d4 100644
--- a/tools/generate_requests/spec/indices.forcemerge.json
+++ b/tools/generate_requests/spec/indices.forcemerge.json
@@ -1,6 +1,6 @@
 {
   "indices.forcemerge": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-forcemerge.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html",
     "methods": ["POST"],
     "url": {
       "path": "/_forcemerge",
diff --git a/tools/generate_requests/spec/indices.get.json b/tools/generate_requests/spec/indices.get.json
index 76e6ed00fe..283e71c657 100644
--- a/tools/generate_requests/spec/indices.get.json
+++ b/tools/generate_requests/spec/indices.get.json
@@ -1,6 +1,6 @@
 {
   "indices.get":{
-    "documentation":"http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-index.html",
+    "documentation":"http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html",
     "methods":[ "GET" ],
     "url":{
       "path":"/{index}",
diff --git a/tools/generate_requests/spec/indices.get_alias.json b/tools/generate_requests/spec/indices.get_alias.json
index b68d7c527f..07f371fa9b 100644
--- a/tools/generate_requests/spec/indices.get_alias.json
+++ b/tools/generate_requests/spec/indices.get_alias.json
@@ -1,6 +1,6 @@
 {
   "indices.get_alias": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html",
     "methods": ["GET"],
     "url": {
       "path": "/_alias/",
diff --git a/tools/generate_requests/spec/indices.get_field_mapping.json b/tools/generate_requests/spec/indices.get_field_mapping.json
index 3ce610153b..56732cc384 100644
--- a/tools/generate_requests/spec/indices.get_field_mapping.json
+++ b/tools/generate_requests/spec/indices.get_field_mapping.json
@@ -1,6 +1,6 @@
 {
   "indices.get_field_mapping": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-field-mapping.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-field-mapping.html",
     "methods": ["GET"],
     "url": {
       "path": "/_mapping/field/{fields}",
diff --git a/tools/generate_requests/spec/indices.get_mapping.json b/tools/generate_requests/spec/indices.get_mapping.json
index d9016ec402..99cf0f8214 100644
--- a/tools/generate_requests/spec/indices.get_mapping.json
+++ b/tools/generate_requests/spec/indices.get_mapping.json
@@ -1,6 +1,6 @@
 {
   "indices.get_mapping": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-mapping.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html",
     "methods": ["GET"],
     "url": {
       "path": "/_mapping",
diff --git a/tools/generate_requests/spec/indices.get_settings.json b/tools/generate_requests/spec/indices.get_settings.json
index ed22cc837d..bcc51745d4 100644
--- a/tools/generate_requests/spec/indices.get_settings.json
+++ b/tools/generate_requests/spec/indices.get_settings.json
@@ -1,6 +1,6 @@
 {
   "indices.get_settings": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-get-settings.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html",
     "methods": ["GET"],
     "url": {
       "path": "/_settings",
diff --git a/tools/generate_requests/spec/indices.get_template.json b/tools/generate_requests/spec/indices.get_template.json
index e2aae3b744..72cbbc9e25 100644
--- a/tools/generate_requests/spec/indices.get_template.json
+++ b/tools/generate_requests/spec/indices.get_template.json
@@ -1,6 +1,6 @@
 {
   "indices.get_template": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html",
     "methods": ["GET"],
     "url": {
       "path": "/_template/{name}",
diff --git a/tools/generate_requests/spec/indices.get_upgrade.json b/tools/generate_requests/spec/indices.get_upgrade.json
index 3c114a450e..60e3acfafb 100644
--- a/tools/generate_requests/spec/indices.get_upgrade.json
+++ b/tools/generate_requests/spec/indices.get_upgrade.json
@@ -1,6 +1,6 @@
 {
   "indices.get_upgrade": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-upgrade.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-upgrade.html",
     "methods": ["GET"],
     "url": {
       "path": "/_upgrade",
diff --git a/tools/generate_requests/spec/indices.open.json b/tools/generate_requests/spec/indices.open.json
index 86c39988e1..2171dac6fc 100644
--- a/tools/generate_requests/spec/indices.open.json
+++ b/tools/generate_requests/spec/indices.open.json
@@ -1,6 +1,6 @@
 {
   "indices.open": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html",
     "methods": ["POST"],
     "url": {
       "path": "/{index}/_open",
diff --git a/tools/generate_requests/spec/indices.put_alias.json b/tools/generate_requests/spec/indices.put_alias.json
index da53d5ac44..8997e8495a 100644
--- a/tools/generate_requests/spec/indices.put_alias.json
+++ b/tools/generate_requests/spec/indices.put_alias.json
@@ -1,6 +1,6 @@
 {
   "indices.put_alias": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/{index}/_alias/{name}",
diff --git a/tools/generate_requests/spec/indices.put_mapping.json b/tools/generate_requests/spec/indices.put_mapping.json
index cc55ffccdd..63d2a9a802 100644
--- a/tools/generate_requests/spec/indices.put_mapping.json
+++ b/tools/generate_requests/spec/indices.put_mapping.json
@@ -1,6 +1,6 @@
 {
   "indices.put_mapping": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-put-mapping.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/{index}/{type}/_mapping",
diff --git a/tools/generate_requests/spec/indices.put_settings.json b/tools/generate_requests/spec/indices.put_settings.json
index 3055cb8e32..16856398e3 100644
--- a/tools/generate_requests/spec/indices.put_settings.json
+++ b/tools/generate_requests/spec/indices.put_settings.json
@@ -1,6 +1,6 @@
 {
   "indices.put_settings": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-update-settings.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html",
     "methods": ["PUT"],
     "url": {
       "path": "/_settings",
diff --git a/tools/generate_requests/spec/indices.put_template.json b/tools/generate_requests/spec/indices.put_template.json
index 65aa9506ff..0f234d3a7f 100644
--- a/tools/generate_requests/spec/indices.put_template.json
+++ b/tools/generate_requests/spec/indices.put_template.json
@@ -1,6 +1,6 @@
 {
   "indices.put_template": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/_template/{name}",
diff --git a/tools/generate_requests/spec/indices.recovery.json b/tools/generate_requests/spec/indices.recovery.json
index 80b7f1a000..dc654a4381 100644
--- a/tools/generate_requests/spec/indices.recovery.json
+++ b/tools/generate_requests/spec/indices.recovery.json
@@ -1,6 +1,6 @@
 {
     "indices.recovery" : {
-        "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-recovery.html",
+        "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html",
         "methods": ["GET"],
         "url": {
             "path": "/_recovery",
@@ -26,4 +26,4 @@
         },
         "body": null
     }
-}
\ No newline at end of file
+}
diff --git a/tools/generate_requests/spec/indices.refresh.json b/tools/generate_requests/spec/indices.refresh.json
index a32974d017..e421ea75a0 100644
--- a/tools/generate_requests/spec/indices.refresh.json
+++ b/tools/generate_requests/spec/indices.refresh.json
@@ -1,6 +1,6 @@
 {
   "indices.refresh": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-refresh.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html",
     "methods": ["POST", "GET"],
     "url": {
       "path": "/_refresh",
diff --git a/tools/generate_requests/spec/indices.rollover.json b/tools/generate_requests/spec/indices.rollover.json
index 7bf1513969..6ae3f7754a 100644
--- a/tools/generate_requests/spec/indices.rollover.json
+++ b/tools/generate_requests/spec/indices.rollover.json
@@ -1,6 +1,6 @@
 {
   "indices.rollover": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-rollover-index.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-index.html",
     "methods": ["POST"],
     "url": {
       "path": "/{alias}/_rollover",
diff --git a/tools/generate_requests/spec/indices.segments.json b/tools/generate_requests/spec/indices.segments.json
index 3ecf1b23aa..1d852f10c3 100644
--- a/tools/generate_requests/spec/indices.segments.json
+++ b/tools/generate_requests/spec/indices.segments.json
@@ -1,6 +1,6 @@
 {
   "indices.segments": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-segments.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-segments.html",
     "methods": ["GET"],
     "url": {
       "path": "/_segments",
diff --git a/tools/generate_requests/spec/indices.shard_stores.json b/tools/generate_requests/spec/indices.shard_stores.json
index ecdaa75a3a..f405e46d1d 100644
--- a/tools/generate_requests/spec/indices.shard_stores.json
+++ b/tools/generate_requests/spec/indices.shard_stores.json
@@ -1,6 +1,6 @@
 {
   "indices.shard_stores": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-shards-stores.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shards-stores.html",
     "methods": ["GET"],
     "url": {
       "path": "/_shard_stores",
diff --git a/tools/generate_requests/spec/indices.shrink.json b/tools/generate_requests/spec/indices.shrink.json
index f92421b79a..958bea6bbd 100644
--- a/tools/generate_requests/spec/indices.shrink.json
+++ b/tools/generate_requests/spec/indices.shrink.json
@@ -1,6 +1,6 @@
 {
   "indices.shrink": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-shrink-index.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/{index}/_shrink/{target}",
diff --git a/tools/generate_requests/spec/indices.split.json b/tools/generate_requests/spec/indices.split.json
index 2c14fced28..700f6a1e57 100644
--- a/tools/generate_requests/spec/indices.split.json
+++ b/tools/generate_requests/spec/indices.split.json
@@ -1,6 +1,6 @@
 {
   "indices.split": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-split-index.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/{index}/_split/{target}",
diff --git a/tools/generate_requests/spec/indices.stats.json b/tools/generate_requests/spec/indices.stats.json
index 223e5a14ff..0e4e025c45 100644
--- a/tools/generate_requests/spec/indices.stats.json
+++ b/tools/generate_requests/spec/indices.stats.json
@@ -1,6 +1,6 @@
 {
   "indices.stats": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-stats.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html",
     "methods": ["GET"],
     "url": {
       "path": "/_stats",
diff --git a/tools/generate_requests/spec/indices.update_aliases.json b/tools/generate_requests/spec/indices.update_aliases.json
index 30c369e410..d270128663 100644
--- a/tools/generate_requests/spec/indices.update_aliases.json
+++ b/tools/generate_requests/spec/indices.update_aliases.json
@@ -1,6 +1,6 @@
 {
   "indices.update_aliases": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html",
     "methods": ["POST"],
     "url": {
       "path": "/_aliases",
diff --git a/tools/generate_requests/spec/indices.upgrade.json b/tools/generate_requests/spec/indices.upgrade.json
index 1e2413ee72..fd3bede8f3 100644
--- a/tools/generate_requests/spec/indices.upgrade.json
+++ b/tools/generate_requests/spec/indices.upgrade.json
@@ -1,6 +1,6 @@
 {
   "indices.upgrade": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-upgrade.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-upgrade.html",
     "methods": ["POST"],
     "url": {
       "path": "/_upgrade",
diff --git a/tools/generate_requests/spec/indices.validate_query.json b/tools/generate_requests/spec/indices.validate_query.json
index 2f9aac0543..849faa5a7a 100644
--- a/tools/generate_requests/spec/indices.validate_query.json
+++ b/tools/generate_requests/spec/indices.validate_query.json
@@ -1,6 +1,6 @@
 {
   "indices.validate_query": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-validate.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-validate.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_validate/query",
diff --git a/tools/generate_requests/spec/ingest.delete_pipeline.json b/tools/generate_requests/spec/ingest.delete_pipeline.json
index c3b51de862..5c2125b15b 100644
--- a/tools/generate_requests/spec/ingest.delete_pipeline.json
+++ b/tools/generate_requests/spec/ingest.delete_pipeline.json
@@ -1,6 +1,6 @@
 {
   "ingest.delete_pipeline": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-pipeline-api.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html",
     "methods": [ "DELETE" ],
     "url": {
       "path": "/_ingest/pipeline/{id}",
diff --git a/tools/generate_requests/spec/ingest.get_pipeline.json b/tools/generate_requests/spec/ingest.get_pipeline.json
index 16a07e072b..6aa7341ea0 100644
--- a/tools/generate_requests/spec/ingest.get_pipeline.json
+++ b/tools/generate_requests/spec/ingest.get_pipeline.json
@@ -1,6 +1,6 @@
 {
   "ingest.get_pipeline": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-pipeline-api.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/get-pipeline-api.html",
     "methods": [ "GET" ],
     "url": {
       "path": "/_ingest/pipeline/{id}",
diff --git a/tools/generate_requests/spec/ingest.processor_grok.json b/tools/generate_requests/spec/ingest.processor_grok.json
index bf40be853e..73bd9692a2 100644
--- a/tools/generate_requests/spec/ingest.processor_grok.json
+++ b/tools/generate_requests/spec/ingest.processor_grok.json
@@ -1,6 +1,6 @@
 {
   "ingest.processor_grok": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/grok-processor.html#grok-processor-rest-get",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html#grok-processor-rest-get",
     "methods": [ "GET" ],
     "url": {
       "path": "/_ingest/processor/grok",
diff --git a/tools/generate_requests/spec/ingest.put_pipeline.json b/tools/generate_requests/spec/ingest.put_pipeline.json
index 1ea77901d8..55cb4cc88f 100644
--- a/tools/generate_requests/spec/ingest.put_pipeline.json
+++ b/tools/generate_requests/spec/ingest.put_pipeline.json
@@ -1,6 +1,6 @@
 {
   "ingest.put_pipeline": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-pipeline-api.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html",
     "methods": [ "PUT" ],
     "url": {
       "path": "/_ingest/pipeline/{id}",
diff --git a/tools/generate_requests/spec/ingest.simulate.json b/tools/generate_requests/spec/ingest.simulate.json
index c16008ad6b..6bd2985a69 100644
--- a/tools/generate_requests/spec/ingest.simulate.json
+++ b/tools/generate_requests/spec/ingest.simulate.json
@@ -1,6 +1,6 @@
 {
   "ingest.simulate": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/simulate-pipeline-api.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/simulate-pipeline-api.html",
     "methods": [ "GET", "POST" ],
     "url": {
       "path": "/_ingest/pipeline/_simulate",
diff --git a/tools/generate_requests/spec/mget.json b/tools/generate_requests/spec/mget.json
index 62fbb59a4e..f2273d8bb3 100644
--- a/tools/generate_requests/spec/mget.json
+++ b/tools/generate_requests/spec/mget.json
@@ -1,6 +1,6 @@
 {
   "mget": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-multi-get.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-get.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_mget",
diff --git a/tools/generate_requests/spec/msearch.json b/tools/generate_requests/spec/msearch.json
index 398dcbd295..9ccac71d89 100644
--- a/tools/generate_requests/spec/msearch.json
+++ b/tools/generate_requests/spec/msearch.json
@@ -1,6 +1,6 @@
 {
   "msearch": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-multi-search.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_msearch",
diff --git a/tools/generate_requests/spec/msearch_template.json b/tools/generate_requests/spec/msearch_template.json
index 45a96ed913..e89f96e069 100644
--- a/tools/generate_requests/spec/msearch_template.json
+++ b/tools/generate_requests/spec/msearch_template.json
@@ -1,6 +1,6 @@
 {
   "msearch_template": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-multi-search.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_msearch/template",
diff --git a/tools/generate_requests/spec/mtermvectors.json b/tools/generate_requests/spec/mtermvectors.json
index 58978b7d19..008c7f051e 100644
--- a/tools/generate_requests/spec/mtermvectors.json
+++ b/tools/generate_requests/spec/mtermvectors.json
@@ -1,6 +1,6 @@
 {
   "mtermvectors" : {
-    "documentation" : "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-multi-termvectors.html",
+    "documentation" : "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-termvectors.html",
     "methods" : ["GET", "POST"],
     "url" : {
       "path" : "/_mtermvectors",
diff --git a/tools/generate_requests/spec/nodes.hot_threads.json b/tools/generate_requests/spec/nodes.hot_threads.json
index 854cde1a9e..0a57efe4b8 100644
--- a/tools/generate_requests/spec/nodes.hot_threads.json
+++ b/tools/generate_requests/spec/nodes.hot_threads.json
@@ -1,6 +1,6 @@
 {
   "nodes.hot_threads": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-hot-threads.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-hot-threads.html",
     "methods": ["GET"],
     "url": {
       "path": "/_nodes/hot_threads",
diff --git a/tools/generate_requests/spec/nodes.info.json b/tools/generate_requests/spec/nodes.info.json
index c86d35dc1a..79ee87c49a 100644
--- a/tools/generate_requests/spec/nodes.info.json
+++ b/tools/generate_requests/spec/nodes.info.json
@@ -1,6 +1,6 @@
 {
   "nodes.info": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-info.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html",
     "methods": ["GET"],
     "url": {
       "path": "/_nodes",
diff --git a/tools/generate_requests/spec/nodes.reload_secure_settings.json b/tools/generate_requests/spec/nodes.reload_secure_settings.json
index 0a566df35b..b1b0ba0bed 100644
--- a/tools/generate_requests/spec/nodes.reload_secure_settings.json
+++ b/tools/generate_requests/spec/nodes.reload_secure_settings.json
@@ -1,6 +1,6 @@
 {
   "nodes.reload_secure_settings": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/secure-settings.html#reloadable-secure-settings",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/secure-settings.html#reloadable-secure-settings",
     "methods": ["POST"],
     "url": {
       "path": "/_nodes/reload_secure_settings",
diff --git a/tools/generate_requests/spec/nodes.stats.json b/tools/generate_requests/spec/nodes.stats.json
index 7b426d0391..97dffc09f8 100644
--- a/tools/generate_requests/spec/nodes.stats.json
+++ b/tools/generate_requests/spec/nodes.stats.json
@@ -1,6 +1,6 @@
 {
   "nodes.stats": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-stats.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html",
     "methods": ["GET"],
     "url": {
       "path": "/_nodes/stats",
diff --git a/tools/generate_requests/spec/nodes.usage.json b/tools/generate_requests/spec/nodes.usage.json
index 97c3f201f6..dee375d677 100644
--- a/tools/generate_requests/spec/nodes.usage.json
+++ b/tools/generate_requests/spec/nodes.usage.json
@@ -1,6 +1,6 @@
 {
   "nodes.usage": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-usage.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-usage.html",
     "methods": ["GET"],
     "url": {
       "path": "/_nodes/usage",
@@ -30,4 +30,4 @@
     },
     "body": null
   }
-}
\ No newline at end of file
+}
diff --git a/tools/generate_requests/spec/put_script.json b/tools/generate_requests/spec/put_script.json
index 34bd4f63c2..8b9a559ea1 100644
--- a/tools/generate_requests/spec/put_script.json
+++ b/tools/generate_requests/spec/put_script.json
@@ -1,6 +1,6 @@
 {
   "put_script": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/_scripts/{id}",
diff --git a/tools/generate_requests/spec/rank_eval.json b/tools/generate_requests/spec/rank_eval.json
index 5c9cebf741..ae06213e59 100644
--- a/tools/generate_requests/spec/rank_eval.json
+++ b/tools/generate_requests/spec/rank_eval.json
@@ -1,6 +1,6 @@
 {
   "rank_eval": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/search-rank-eval.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-rank-eval.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_rank_eval",
diff --git a/tools/generate_requests/spec/reindex.json b/tools/generate_requests/spec/reindex.json
index e85eadb5bc..30c94e36d5 100644
--- a/tools/generate_requests/spec/reindex.json
+++ b/tools/generate_requests/spec/reindex.json
@@ -1,6 +1,6 @@
 {
   "reindex": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-reindex.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html",
     "methods": ["POST"],
     "url": {
       "path": "/_reindex",
diff --git a/tools/generate_requests/spec/reindex_rethrottle.json b/tools/generate_requests/spec/reindex_rethrottle.json
index 2763eb8983..b735b79141 100644
--- a/tools/generate_requests/spec/reindex_rethrottle.json
+++ b/tools/generate_requests/spec/reindex_rethrottle.json
@@ -1,6 +1,6 @@
 {
   "reindex_rethrottle": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-reindex.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html",
     "methods": ["POST"],
     "url": {
       "path": "/_reindex/{task_id}/_rethrottle",
diff --git a/tools/generate_requests/spec/render_search_template.json b/tools/generate_requests/spec/render_search_template.json
index 8f27c12b81..103241dcab 100644
--- a/tools/generate_requests/spec/render_search_template.json
+++ b/tools/generate_requests/spec/render_search_template.json
@@ -1,6 +1,6 @@
 {
   "render_search_template": {
-    "documentation": "http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-template.html",
+    "documentation": "http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-template.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_render/template",
diff --git a/tools/generate_requests/spec/scroll.json b/tools/generate_requests/spec/scroll.json
index fc04caeb80..450d241c36 100644
--- a/tools/generate_requests/spec/scroll.json
+++ b/tools/generate_requests/spec/scroll.json
@@ -1,6 +1,6 @@
 {
   "scroll": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-scroll.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_search/scroll",
diff --git a/tools/generate_requests/spec/search.json b/tools/generate_requests/spec/search.json
index f44c0f74b2..af30defcb3 100644
--- a/tools/generate_requests/spec/search.json
+++ b/tools/generate_requests/spec/search.json
@@ -1,6 +1,6 @@
 {
   "search": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_search",
diff --git a/tools/generate_requests/spec/search_shards.json b/tools/generate_requests/spec/search_shards.json
index b3de107b79..5015fecfd8 100644
--- a/tools/generate_requests/spec/search_shards.json
+++ b/tools/generate_requests/spec/search_shards.json
@@ -1,6 +1,6 @@
 {
   "search_shards": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-shards.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-shards.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/{index}/_search_shards",
diff --git a/tools/generate_requests/spec/search_template.json b/tools/generate_requests/spec/search_template.json
index 63e564af51..24b7fa135b 100644
--- a/tools/generate_requests/spec/search_template.json
+++ b/tools/generate_requests/spec/search_template.json
@@ -1,6 +1,6 @@
 {
   "search_template": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-template.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html",
     "methods": ["GET", "POST"],
     "url": {
       "path": "/_search/template",
diff --git a/tools/generate_requests/spec/snapshot.create.json b/tools/generate_requests/spec/snapshot.create.json
index 29ae2206c8..900e5bbe6e 100644
--- a/tools/generate_requests/spec/snapshot.create.json
+++ b/tools/generate_requests/spec/snapshot.create.json
@@ -1,6 +1,6 @@
 {
   "snapshot.create": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/_snapshot/{repository}/{snapshot}",
diff --git a/tools/generate_requests/spec/snapshot.create_repository.json b/tools/generate_requests/spec/snapshot.create_repository.json
index 7a73f6abc3..215f232707 100644
--- a/tools/generate_requests/spec/snapshot.create_repository.json
+++ b/tools/generate_requests/spec/snapshot.create_repository.json
@@ -1,6 +1,6 @@
 {
   "snapshot.create_repository": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["PUT", "POST"],
     "url": {
       "path": "/_snapshot/{repository}",
diff --git a/tools/generate_requests/spec/snapshot.delete.json b/tools/generate_requests/spec/snapshot.delete.json
index 6668289f44..6e7b69cbab 100644
--- a/tools/generate_requests/spec/snapshot.delete.json
+++ b/tools/generate_requests/spec/snapshot.delete.json
@@ -1,6 +1,6 @@
 {
   "snapshot.delete": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/_snapshot/{repository}/{snapshot}",
diff --git a/tools/generate_requests/spec/snapshot.delete_repository.json b/tools/generate_requests/spec/snapshot.delete_repository.json
index 4f0c43b8f0..6ca00dee7e 100644
--- a/tools/generate_requests/spec/snapshot.delete_repository.json
+++ b/tools/generate_requests/spec/snapshot.delete_repository.json
@@ -1,6 +1,6 @@
 {
   "snapshot.delete_repository": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["DELETE"],
     "url": {
       "path": "/_snapshot/{repository}",
diff --git a/tools/generate_requests/spec/snapshot.get.json b/tools/generate_requests/spec/snapshot.get.json
index 02f5259bc2..fee87ae687 100644
--- a/tools/generate_requests/spec/snapshot.get.json
+++ b/tools/generate_requests/spec/snapshot.get.json
@@ -1,6 +1,6 @@
 {
   "snapshot.get": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["GET"],
     "url": {
       "path": "/_snapshot/{repository}/{snapshot}",
diff --git a/tools/generate_requests/spec/snapshot.get_repository.json b/tools/generate_requests/spec/snapshot.get_repository.json
index bf6a660146..7e4fbbecbb 100644
--- a/tools/generate_requests/spec/snapshot.get_repository.json
+++ b/tools/generate_requests/spec/snapshot.get_repository.json
@@ -1,6 +1,6 @@
 {
   "snapshot.get_repository": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["GET"],
     "url": {
       "path": "/_snapshot",
diff --git a/tools/generate_requests/spec/snapshot.restore.json b/tools/generate_requests/spec/snapshot.restore.json
index bdd265799c..fed3f19ce8 100644
--- a/tools/generate_requests/spec/snapshot.restore.json
+++ b/tools/generate_requests/spec/snapshot.restore.json
@@ -1,6 +1,6 @@
 {
   "snapshot.restore": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["POST"],
     "url": {
       "path": "/_snapshot/{repository}/{snapshot}/_restore",
diff --git a/tools/generate_requests/spec/snapshot.status.json b/tools/generate_requests/spec/snapshot.status.json
index cba488de79..a3c79fbcaf 100644
--- a/tools/generate_requests/spec/snapshot.status.json
+++ b/tools/generate_requests/spec/snapshot.status.json
@@ -1,6 +1,6 @@
 {
   "snapshot.status": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
     "methods": ["GET"],
     "url": {
       "path": "/_snapshot/_status",
diff --git a/tools/generate_requests/spec/snapshot.verify_repository.json b/tools/generate_requests/spec/snapshot.verify_repository.json
index 0d9a97c108..d697ae2fd3 100644
--- a/tools/generate_requests/spec/snapshot.verify_repository.json
+++ b/tools/generate_requests/spec/snapshot.verify_repository.json
@@ -1,6 +1,6 @@
 {
     "snapshot.verify_repository": {
-        "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html",
+        "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html",
         "methods": ["POST"],
         "url": {
             "path": "/_snapshot/{repository}/_verify",
diff --git a/tools/generate_requests/spec/tasks.cancel.json b/tools/generate_requests/spec/tasks.cancel.json
index 244ca986f9..614a0acaf9 100644
--- a/tools/generate_requests/spec/tasks.cancel.json
+++ b/tools/generate_requests/spec/tasks.cancel.json
@@ -1,6 +1,6 @@
 {
   "tasks.cancel": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html",
     "methods": ["POST"],
     "url": {
       "path": "/_tasks",
diff --git a/tools/generate_requests/spec/tasks.get.json b/tools/generate_requests/spec/tasks.get.json
index 3fefdb8f96..1ec4bd19f6 100644
--- a/tools/generate_requests/spec/tasks.get.json
+++ b/tools/generate_requests/spec/tasks.get.json
@@ -1,6 +1,6 @@
 {
   "tasks.get": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html",
     "methods": ["GET"],
     "url": {
       "path": "/_tasks/{task_id}",
diff --git a/tools/generate_requests/spec/tasks.list.json b/tools/generate_requests/spec/tasks.list.json
index f16967eafe..0f1f009a20 100644
--- a/tools/generate_requests/spec/tasks.list.json
+++ b/tools/generate_requests/spec/tasks.list.json
@@ -1,6 +1,6 @@
 {
   "tasks.list": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html",
     "methods": ["GET"],
     "url": {
       "path": "/_tasks",
diff --git a/tools/generate_requests/spec/termvectors.json b/tools/generate_requests/spec/termvectors.json
index 3485c7a6cc..89e82b3bdb 100644
--- a/tools/generate_requests/spec/termvectors.json
+++ b/tools/generate_requests/spec/termvectors.json
@@ -1,6 +1,6 @@
 {
   "termvectors" : {
-    "documentation" : "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-termvectors.html",
+    "documentation" : "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-termvectors.html",
     "methods" : ["GET", "POST"],
     "url" : {
       "path" : "/{index}/_termvectors/{id}",
diff --git a/tools/generate_requests/spec/update.json b/tools/generate_requests/spec/update.json
index 106b29b252..153b45f48b 100644
--- a/tools/generate_requests/spec/update.json
+++ b/tools/generate_requests/spec/update.json
@@ -1,6 +1,6 @@
 {
   "update": {
-    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html",
+    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html",
     "methods": ["POST"],
     "url": {
       "path": "/{index}/_update/{id}",
diff --git a/tools/generate_requests/spec/update_by_query.json b/tools/generate_requests/spec/update_by_query.json
index 427a7e04ad..672b683e6b 100644
--- a/tools/generate_requests/spec/update_by_query.json
+++ b/tools/generate_requests/spec/update_by_query.json
@@ -1,6 +1,6 @@
 {
   "update_by_query": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update-by-query.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html",
     "methods": ["POST"],
     "url": {
       "path": "/{index}/_update_by_query",
diff --git a/tools/generate_requests/spec/update_by_query_rethrottle.json b/tools/generate_requests/spec/update_by_query_rethrottle.json
index b2bee77bb0..9ec2540b43 100644
--- a/tools/generate_requests/spec/update_by_query_rethrottle.json
+++ b/tools/generate_requests/spec/update_by_query_rethrottle.json
@@ -1,6 +1,6 @@
 {
   "update_by_query_rethrottle": {
-    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update-by-query.html",
+    "documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html",
     "methods": ["POST"],
     "url": {
       "path": "/_update_by_query/{task_id}/_rethrottle",
diff --git a/tools/generate_requests/src/main.rs b/tools/generate_requests/src/main.rs
index 31158e03b9..5eca5ce86d 100644
--- a/tools/generate_requests/src/main.rs
+++ b/tools/generate_requests/src/main.rs
@@ -196,12 +196,14 @@ fn endpoints_mod(
     let mut http_mod_tokens = Tokens::new();
     http_mod_tokens.append(http_mod);
 
-    let uses = quote!(
+    let header = quote!(
+        #![allow(missing_docs)]
+
         use super:: #http_mod_tokens ::*;
         use super::params::*;
     );
 
-    tokens.append(uses.to_string());
+    tokens.append(header);
     tokens.append("\n\n");
 
     for e in endpoints {
@@ -236,7 +238,9 @@ fn http_mod(tokens: &mut Tokens) {
 
     let body_tokens = gen::http::body::tokens();
 
-    let uses = quote!(
+    let header = quote!(
+        #![allow(missing_docs)]
+
         use std::borrow::Cow;
         use std::ops::Deref;
 
@@ -245,7 +249,7 @@ fn http_mod(tokens: &mut Tokens) {
 
     let http_req_item = gen::http::endpoint::tokens();
 
-    tokens.append(uses.to_string());
+    tokens.append(header);
 
     tokens.append("\n\n");
 
@@ -253,6 +257,12 @@ fn http_mod(tokens: &mut Tokens) {
 }
 
 fn params_mod(tokens: &mut Tokens, params_to_emit: BTreeMap<String, bool>) {
+    let header = quote!(
+        #![allow(missing_docs)]
+    );
+
+    tokens.append(header);
+
     tokens.append("\n\n");
 
     tokens.append(r#"include!("genned.params.rs");"#);
diff --git a/tools/generate_requests/src/parse/mod.rs b/tools/generate_requests/src/parse/mod.rs
index 9a83ebd829..ee93386c87 100644
--- a/tools/generate_requests/src/parse/mod.rs
+++ b/tools/generate_requests/src/parse/mod.rs
@@ -633,7 +633,7 @@ mod tests {
         fn deserialise_endpoint() {
             let ser = json!({
                 "search": {
-                    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html",
+                    "documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html",
                     "methods": ["GET", "POST"],
                     "url": {
                         "path": "/_search",
@@ -651,7 +651,7 @@ mod tests {
             expected.insert(
                 "search".to_string(),
                 Endpoint {
-                    documentation: "http://www.elastic.co/guide/en/elasticsearch/reference/master/search-search.html".to_string(),
+                    documentation: "http://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html".to_string(),
                     methods: vec![Method::Get, Method::Post],
                     url: Url {
                         path: Path("/_search".to_string()),


Test patch:
diff --git a/tests/derive_compile_test/Cargo.toml b/tests/derive_compile_test/Cargo.toml
index ec3c3ea852..ef06a37f67 100644
--- a/tests/derive_compile_test/Cargo.toml
+++ b/tests/derive_compile_test/Cargo.toml
@@ -6,5 +6,5 @@ authors = ["Ashley Mannix <ashleymannix@live.com.au>"]
 publish = false
 
 [dependencies]
-elastic = { version = "~0.21.0-pre.4", path = "../../src/elastic" }
-elastic_derive = { version = "~0.21.0-pre.4", path = "../../src/elastic_derive" }
+elastic = { version = "~0.21.0-pre.5", path = "../../src/elastic" }
+elastic_derive = { version = "~0.21.0-pre.5", path = "../../src/elastic_derive" }
diff --git a/tests/integration/Cargo.toml b/tests/integration/Cargo.toml
index f6abf06ffb..db5ee1ac61 100644
--- a/tests/integration/Cargo.toml
+++ b/tests/integration/Cargo.toml
@@ -6,8 +6,8 @@ authors = ["Ashley Mannix <ashleymannix@live.com.au>"]
 publish = false
 
 [dependencies]
-elastic = { version = "~0.21.0-pre.4", path = "../../src/elastic" }
-elastic_derive = { version = "~0.21.0-pre.4", path = "../../src/elastic_derive" }
+elastic = { version = "~0.21.0-pre.5", path = "../../src/elastic" }
+elastic_derive = { version = "~0.21.0-pre.5", path = "../../src/elastic_derive" }
 
 serde = "~1"
 serde_derive = "~1"
diff --git a/tests/integration/src/tests/sql/invalid_query.rs b/tests/integration/src/tests/sql/invalid_query.rs
index d9a5303beb..2398a53432 100644
--- a/tests/integration/src/tests/sql/invalid_query.rs
+++ b/tests/integration/src/tests/sql/invalid_query.rs
@@ -12,7 +12,7 @@ const INDEX: &'static str = "no_sql_index_idx";
 test! {
     const description: &'static str = "invalid query";
 
-    type Response = SqlResponse;
+    type Response = SqlQueryResponse;
 
     // Ensure the index doesn't exist
     fn prepare(&self, client: AsyncClient) -> Box<dyn Future<Item = (), Error = Error>> {
diff --git a/tests/integration/src/tests/sql/invalid_syntax.rs b/tests/integration/src/tests/sql/invalid_syntax.rs
index c37d6053a3..d49548e709 100644
--- a/tests/integration/src/tests/sql/invalid_syntax.rs
+++ b/tests/integration/src/tests/sql/invalid_syntax.rs
@@ -13,7 +13,7 @@ use futures::{
 test! {
     const description: &'static str = "invalid syntax";
 
-    type Response = SqlResponse;
+    type Response = SqlQueryResponse;
 
     // Ensure the index doesn't exist
     fn prepare(&self, _client: AsyncClient) -> Box<dyn Future<Item = (), Error = Error>> {
diff --git a/tests/integration/src/tests/sql/select_all.rs b/tests/integration/src/tests/sql/select_all.rs
index 1d77dfb355..b2716759f2 100644
--- a/tests/integration/src/tests/sql/select_all.rs
+++ b/tests/integration/src/tests/sql/select_all.rs
@@ -25,7 +25,7 @@ fn doc(i: i32) -> Doc {
 test! {
     const description: &'static str = "select all documents";
 
-    type Response = SqlResponse;
+    type Response = SqlQueryResponse;
 
     // Ensure the index doesn't exist
     fn prepare(&self, client: AsyncClient) -> Box<dyn Future<Item = (), Error = Error>> {