WildCard in Exists API does not work as expected

Dear all,
I've tried the Exists API for indices and data-streams ( Exists API | Elasticsearch Guide [8.3] | Elastic).
If I understand it correction I can use wildcards in the target parameter. However, when using * the call always returns 200 OK, doesn't matter with which string i combine it.

Example:
Imagine we have a data-stream called "abc-logs-new".
When using the Exists API by sending a HEAD request to "localhost:9200/abc-logs-*" I get an 200 OK. This is fine.
Now I send a HEAD request to "localhost:9200/abc-def-*" and also get the answer 200 OK and not 404 NOT FOUND.
When removing the * from the request URL and using an absolute name, it works and I get a 200 OK for "localhost:9200/abc-logs-new" and a 404 NOT FOUND for "localhost:9200/abc-def-new".

Am I using it wrongly? Thanks for your help.

All the best,
Thorsten

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

Since this is the top search result for "elasticsearch exists API wildcard 200", I wanted to mention that this behavior is confusing but intended.

To get 404 Not Found with wildcards, you need to pass ?allow_no_indices=true, as documented in Exists API | Elasticsearch Guide [8.16] | Elastic.