# 400-Bad request

**URL:** <https://discuss.elastic.co/t/400-bad-request/381344>\
**Category:** Elasticsearch\
**Tags:** docker, vector-search\
**Created:** [August 26, 2025, 10:29am UTC](https://discuss.elastic.co/t/400-bad-request/381344 "2025-08-26T10:29:27Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tarun-ghcp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tarun-ghcp/32/144783_2.png) [@tarun-ghcp](https://discuss.elastic.co/u/tarun-ghcp)\
**Post date:** [August 26, 2025, 10:29am UTC](https://discuss.elastic.co/t/400-bad-request/381344/1 "2025-08-26T10:29:27Z")

</div>

Below is my payload but it works only when query\_body is empty. I couldn’t figure out whats wrong inside it. I have a Docker container for the MCP server and it throws Bad Request every time.  
payload = {  
"jsonrpc": "2.0",  
"id": 11,  
"method": "tools/call",  
"params": {  
"name": "search",  
"arguments": {  
"index": "chunking\_test",  
"query\_body": {  
"size": 10,  
"query": {  
"bool": {  
"must\_not": [{"term": {"type.keyword": {"value": "Image"}}}]  
}  
},  
"knn": {  
"field": "embedding",  
"query\_vector": query\_vector,  
"k": k,  
"num\_candidates": k\*10  
}  
}  
}  
}  
}

---

<div class="post-metadata">

**Author:** ![Tortoise](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tortoise/32/147587_2.png) [@Tortoise](https://discuss.elastic.co/u/Tortoise)\
**Post date:** [August 27, 2025, 3:24am UTC](https://discuss.elastic.co/t/400-bad-request/381344/2 "2025-08-27T03:24:08Z")

</div>

> [@tarun-ghcp](#):
>
> "must\_not": [{"term": {"type.keyword": {"value": "Image"}}}]

Hello @tarun-ghcp

Welcome to the Community!!

Could you please check once below line :

```auto
"must_not": [{"term": {"type.keyword": {"value": "Image"}}}]

```

I am not sure if we need to use value in the query as per the documentation

> **[kNN search | Elastic Docs](https://www.elastic.co/docs/solutions/search/vector/knn)**
>
> A k-nearest neighbor (kNN) search finds the k nearest vectors to a query vector, as measured by a similarity metric. Common use cases for kNN include:...

```auto
 "bool": {
            "must_not": [
              { "term": { "type.keyword": "Image" } }
            ]
          }

```

Thanks!!

---

<div class="post-metadata">

**Author:** ![tarun-ghcp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tarun-ghcp/32/144783_2.png) [@tarun-ghcp](https://discuss.elastic.co/u/tarun-ghcp)\
**Post date:** [August 27, 2025, 9:35am UTC](https://discuss.elastic.co/t/400-bad-request/381344/3 "2025-08-27T09:35:03Z")

</div>

This is my updated payload. But still same issue that if not keeping anything inside query\_body, it gives me the result….

payload = {  
"jsonrpc": "2.0",  
"id": 11,  
"method": "tools/call",  
"params": {  
"name": "search",  
"arguments": {  
"index": "chunking\_test",  
"query\_body": {  
"knn": {  
"field": "embedding",  
"query\_vector": query\_vector,  
"k": k,  
"num\_candidates": k\*10  
},  
"query": {  
"fields": ["text.document.documentTitle", "text.document.fileName"],  
"must\_not": [  
{"term": {"type.keyword": {"value": "Image"}}}  
]  
},  
"size":10  
}  
}  
}  
}
