# Run multiple templated searches **POST /{index}/_msearch/template** **All methods and paths for this operation:**
GET /_msearch/template
POST /_msearch/template
GET /{index}/_msearch/template
POST /{index}/_msearch/template
Run multiple templated searches with a single request. If you are providing a text file or text input to `curl`, use the `--data-binary` flag instead of `-d` to preserve newlines. For example: ``` $ cat requests { "index": "my-index" } { "id": "my-search-template", "params": { "query_string": "hello world", "from": 0, "size": 10 }} { "index": "my-other-index" } { "id": "my-other-search-template", "params": { "query_type": "match_all" }} $ curl -H "Content-Type: application/x-ndjson" -XGET localhost:9200/_msearch/template --data-binary "@requests"; echo ``` ## Required authorization * Index privileges: `read` [More about searching templates](https://www.elastic.co/docs/solutions/search/search-templates) ## Servers - http://api.example.com: http://api.example.com () ## Authentication methods - Api key auth - Basic auth - Bearer auth ## Parameters ### Path parameters - **index** (string | array[string]) A comma-separated list of data streams, indices, and aliases to search. It supports wildcards (`*`). To search all data streams and indices, omit this parameter or use `*`. ### Query parameters - **ccs_minimize_roundtrips** (boolean) If `true`, network round-trips are minimized for cross-cluster search requests. - **max_concurrent_searches** (number) The maximum number of concurrent searches the API can run. - **search_type** (string) The type of the search operation. Supported values include: - `query_then_fetch`: Documents are scored using local term and document frequencies for the shard. This is usually faster but less accurate. - `dfs_query_then_fetch`: Documents are scored using global term and document frequencies across all shards. This is usually slower but more accurate. - **rest_total_hits_as_int** (boolean) If `true`, the response returns `hits.total` as an integer. If `false`, it returns `hits.total` as an object. - **typed_keys** (boolean) If `true`, the response prefixes aggregation and suggester names with their respective types. ### Body: application/json (array[object]) ## Responses ### 200 #### Body: application/json (object) - **took** (number) - **responses** (array[object]) [Powered by Bump.sh](https://bump.sh)