# Search rolled-up data **POST /{index}/_rollup_search** **All methods and paths for this operation:**
GET /{index}/_rollup_search
POST /{index}/_rollup_search
The rollup search endpoint is needed because, internally, rolled-up documents utilize a different document structure than the original data. It rewrites standard Query DSL into a format that matches the rollup documents then takes the response and rewrites it back to what a client would expect given the original query. The request body supports a subset of features from the regular search API. The following functionality is not available: `size`: Because rollups work on pre-aggregated data, no search hits can be returned and so size must be set to zero or omitted entirely. `highlighter`, `suggestors`, `post_filter`, `profile`, `explain`: These are similarly disallowed. For more detailed examples of using the rollup search API, including querying rolled-up data only or combining rolled-up and live data, refer to the External documentation. [External documentation](https://www.elastic.co/docs/manage-data/lifecycle/rollup/getting-started-api#historical-only-search-example) ## 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 and indices used to limit the request. This parameter has the following rules: * At least one data stream, index, or wildcard expression must be specified. This target can include a rollup or non-rollup index. For data streams, the stream's backing indices can only serve as non-rollup indices. Omitting the parameter or using `_all` are not permitted. * Multiple non-rollup indices may be specified. * Only one rollup index may be specified. If more than one are supplied, an exception occurs. * Wildcard expressions (`*`) may be used. If they match more than one rollup index, an exception occurs. However, you can use an expression to match multiple non-rollup indices or data streams. #### Query parameters - **rest_total_hits_as_int** (boolean) Indicates whether hits.total should be rendered as an integer or an object in the rest search response - **typed_keys** (boolean) Specify whether aggregation and suggester names should be prefixed by their respective types in the response ## Body parameters Content-type: application/json - **aggregations** (object) Specifies aggregations. - **query** (object) Specifies a DSL query that is subject to some limitations. - **size** (number) Must be zero if set, as rollups work on pre-aggregated data. ## Responses ### 200: #### Body Parameters: application/json (object) - **took** (number) - **timed_out** (boolean) - **terminated_early** (boolean) - **_shards** (object) - **hits** (object) - **aggregations** (object) [Powered by Bump.sh](https://bump.sh)