# Running queries created by Kibana using Java API?

**URL:** <https://discuss.elastic.co/t/running-queries-created-by-kibana-using-java-api/1313>\
**Category:** Elasticsearch\
**Created:** [May 26, 2015, 1:20pm UTC](https://discuss.elastic.co/t/running-queries-created-by-kibana-using-java-api/1313 "2015-05-26T13:20:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aymen\_Zaghouani](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@Aymen\_Zaghouani](https://discuss.elastic.co/u/Aymen_Zaghouani)\
**Post date:** [May 26, 2015, 1:20pm UTC](https://discuss.elastic.co/t/running-queries-created-by-kibana-using-java-api/1313/1 "2015-05-26T13:20:00Z")

</div>

Is it feasible to run queries created by Kibana using Java API? I mean get a ready queries from Kibana dashboards that are created by users dynamically, and pass like a parameter in Java ?

this is an example of a query coming from Kibana dashboards :

{  
"size": 0,  
"query": {  
"filtered": {  
"query": {  
"query\_string": {  
"analyze\_wildcard": true,  
"query": "\*"  
}  
},  
"filter": {  
"bool": {  
"must": [  
{  
"range": {  
"@timestamp": {  
"gte": 1274879129857,  
"lte": 1432645529858  
}  
}  
}  
],  
"must\_not": []  
}  
}  
}  
},  
"aggs": {  
"3": {  
"terms": {  
"field": "ruleid",  
"size": 20,  
"order": {  
"\_count": "desc"  
}  
}  
}  
}  
}r

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 27, 2015, 12:22am UTC](https://discuss.elastic.co/t/running-queries-created-by-kibana-using-java-api/1313/2 "2015-05-27T00:22:00Z")

</div>

Sure is. The KB queries are the same as any other that are passed to to ES.

---

<div class="post-metadata">

**Author:** ![Aymen\_Zaghouani](https://avatars.discourse-cdn.com/v4/letter/a/ecccb3/32.png) [@Aymen\_Zaghouani](https://discuss.elastic.co/u/Aymen_Zaghouani)\
**Post date:** [May 27, 2015, 7:13am UTC](https://discuss.elastic.co/t/running-queries-created-by-kibana-using-java-api/1313/3 "2015-05-27T07:13:08Z")

</div>

Thank you for your answer, but how can i do it in java API with this query, i mean the same ?

---

<div class="post-metadata">

**Author:** ![Sarwar](https://avatars.discourse-cdn.com/v4/letter/s/7c8e57/32.png) [@Sarwar](https://discuss.elastic.co/u/Sarwar)\
**Post date:** [May 27, 2015, 5:15pm UTC](https://discuss.elastic.co/t/running-queries-created-by-kibana-using-java-api/1313/4 "2015-05-27T17:15:50Z")

</div>

[https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/search.html](https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/search.html)

Check the example in the link above.

It is building up a query using a fluent style API. You will see the query built by QueryBuilders and filter built by FilterBuilders also using a fluent style api.

The other option of course is to use a java http client with the JSON you got from Kibana. Of course, then you have to parse the response yourself so I wouldn't suggest this necessarily over the first option.

---

<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:** [July 6, 2017, 12:11am UTC](https://discuss.elastic.co/t/running-queries-created-by-kibana-using-java-api/1313/5 "2017-07-06T00:11:31Z")

</div>


