# ElasticsearchError(error: "Routing Error. The path you have requested is invalid.", status: nil)

**URL:** <https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977>\
**Category:** Elasticsearch\
**Created:** [February 23, 2022, 7:01am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977 "2022-02-23T07:01:30Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [February 23, 2022, 7:01am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/1 "2022-02-23T07:01:30Z")

</div>

Hi, I am trying to send query with Swift, but it returns error below.

`Routing Error. The path you have requested is invalid.`

My code is below  
(Using ElasticSwift)

```auto

           let host = "myEndPoint"
        
        let cred = BasicClientCredential(username: "elastic", password: "myPasswordHere")
        let settings = Settings(forHost: host, withCredentials: cred,
                                adaptorConfig: URLSessionAdaptorConfiguration.default)
        client = ElasticClient(settings: settings)

            let queryBuilder = QueryBuilders.boolQuery()
            let match = try QueryBuilders.matchQuery()
                    .set(field: "name")
                    .set(value: "")
                    .build()
            queryBuilder.must(query: match)

            let query = try queryBuilder.build()

            let request = try SearchRequestBuilder()
                    .set(indices: "my-index-000001")
                    .set(query: query)
                    .build()

            client.search(request, completionHandler: handler)

```

I've changed parameters, password, username... but nothing seems to be working...

Thank you in advance for your support.

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 23, 2022, 8:52am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/2 "2022-02-23T08:52:14Z")

</div>

Hey,

are you able to share the full HTTP request and response from Elasticsearch in order to debug this further?

Thanks!

--Alex

---

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [February 24, 2022, 12:38am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/3 "2022-02-24T00:38:46Z")

</div>

Hi, Alex!

Thank you for a response!  
Here is the full response from Elasticsearch.

`success(ElasticSwiftCore.HTTPResponse(request: ElasticSwiftCore.HTTPRequest(version: HTTP/1.1, method: NIOHTTP1.HTTPMethod.POST, headers: [("Accept", "application/json"), ("Content-Type", "application/json; charset=utf-8"), ("Authorization", "Basic ZWxhc3RpYzo4OTdaejdCeDBKVDRlZHZPOHFTWlZQTGs=")], body: Optional(61 bytes), path: "my-index-000001/_search", queryParams: []), status: NIOHTTP1.HTTPResponseStatus.notFound, headers: [("x-runtime", "0.011705"), ("x-cloud-request-id", "4RAAb5q7RBe87MjkUOJVZw"), ("referrer-policy", "strict-origin-when-cross-origin"), ("x-permitted-cross-domain-policies", "none"), ("x-frame-options", "SAMEORIGIN"), ("x-content-type-options", "nosniff"), ("Content-Length", "66"), ("x-found-handling-instance", "instance-0000000000"), ("x-request-id", "4RAAb5q7RBe87MjkUOJVZw"), ("Content-Type", "application/json;charset=utf-8"), ("Date", "Thu, 24 Feb 2022 00:36:20 GMT"), ("Server", "Jetty(9.4.43.v20210629)"), ("x-xss-protection", "1; mode=block"), ("x-found-handling-cluster", "88a9300b70ec4e009f1795a3b833abf2"), ("x-download-options", "noopen")], body: {"error":"Routing Error. The path you have requested is invalid."}))`

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 24, 2022, 8:54am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/4 "2022-02-24T08:54:11Z")

</div>

I assume that the `my-index-000001` index does not exist. Did you create it?

---

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [February 24, 2022, 12:17pm UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/5 "2022-02-24T12:17:23Z")

</div>

I've created the index following this page before.

> **[Create index API | Elasticsearch Guide \[8.0\] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html)**

I've checked again.

 ![スクリーンショット 2022-02-24 20.09.13](https://us1.discourse-cdn.com/elastic/original/3X/3/c/3c8a2c2a7e4e77a48569155491f3dcca0d5b0708.jpeg)

It seems it does exist. Am I missing some steps perhaps?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 24, 2022, 1:46pm UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/6 "2022-02-24T13:46:25Z")

</div>

Is it also readable for the user you tried to connect with?

---

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [February 25, 2022, 12:00am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/7 "2022-02-25T00:00:21Z")

</div>

Not sure.  
How do I make it readable?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 25, 2022, 9:40am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/8 "2022-02-25T09:40:58Z")

</div>

By setting the correct privileges for the user account you are trying to run the request as.

Alternatively you can try and go with the same user/passwrod that you used to login with Kibana.

---

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [February 25, 2022, 10:23am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/9 "2022-02-25T10:23:24Z")

</div>

Is that here?  
I've tried all the privileges, but still not working...

 ![スクリーンショット 2022-02-25 19.21.52](https://us1.discourse-cdn.com/elastic/original/3X/a/7/a77232b6babaebb4694dd72e0a6e91301f5e5cea.jpeg)

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 25, 2022, 10:31am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/10 "2022-02-25T10:31:49Z")

</div>

Just to reiterate, you are using the same username/password when logging into Kibana as you are using for your code example?

Running `GET my-index-000001/_search` works in kibana console?

---

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [February 25, 2022, 10:51am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/11 "2022-02-25T10:51:32Z")

</div>

```auto
GET my-index-000001/_search

```

gave attached result.

 ![スクリーンショット 2022-02-25 19.44.23](https://us1.discourse-cdn.com/elastic/original/3X/6/b/6bef60d9223981dd96cacf028ea940bb41717c98.jpeg)

I go to Kibana by logging into Elastic with my google account.  
(Sorry if that's not what you are asking..)

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 3, 2022, 8:48am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/12 "2022-03-03T08:48:39Z")

</div>

Which user are you logged in Kibana as (You can check by hovering over the top right icon)? Does that user have the same privileges than the user you are using in your code snippet?

---

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [March 3, 2022, 9:40am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/13 "2022-03-03T09:40:54Z")

</div>

Thank you for the reply!  
I am logging in as [tenna.churiki@gmail.com](mailto:tenna.churiki@gmail.com).  
I was not able to check the privileges for the account, could you tell me where can I check that?

 ![スクリーンショット 2022-03-03 18.28.45](https://us1.discourse-cdn.com/elastic/original/3X/6/5/6504b8d20bfe451060081c16d5d2200cacb57f37.jpeg)

 ![スクリーンショット 2022-03-03 18.29.36](https://us1.discourse-cdn.com/elastic/original/3X/0/0/006b5e53b180ef3ba69c519b12d40e0c013738aa.jpeg)  
El9NccP2C8gFlZ4bLqbTxI4HJ.jpeg)

I have set a password and tried below.

```auto
let cred = BasicClientCredential(username: "tenna.churiki@gmail.com", password: <my password>)

```

But same result ( **Routing Error. The path you have requested is invalid.** ) returned..

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [March 3, 2022, 9:54am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/14 "2022-03-03T09:54:26Z")

</div>

When you are trying to use curl or another command line HTTP client against the endpoint specified in your script,does that work?

---

<div class="post-metadata">

**Author:** ![tenna.churiki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tenna.churiki/32/101799_2.png) [@tenna.churiki](https://discuss.elastic.co/u/tenna.churiki)\
**Post date:** [March 4, 2022, 1:59am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/15 "2022-03-04T01:59:17Z")

</div>

I've looked into the http request of script below,

```auto
let queryBuilder = QueryBuilders.boolQuery()
            let match = try QueryBuilders.matchQuery()
                    .set(field: "name")
                    .set(value: "")
                    .build()
            queryBuilder.must(query: match)

            let query = try queryBuilder.build()

            let request = try SearchRequestBuilder()
                    .set(indices: "my-index-000001")
                    .set(query: query)
                    .build()

            client.search(request, completionHandler: handler)

```

The request body was

```auto
{"query":{"bool":{"must":[{"match":{"name":{"query":""}}}]}}}

```

So I entered to curl like below, then it showed successful result.

 ![スクリーンショット 2022-03-04 10.57.23](https://us1.discourse-cdn.com/elastic/original/3X/0/3/0386ddde0df2289a7cee824169cc0273fcff1570.jpeg)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 1, 2022, 1:59am UTC](https://discuss.elastic.co/t/elasticsearcherror-error-routing-error-the-path-you-have-requested-is-invalid-status-nil/297977/16 "2022-04-01T01:59:57Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
