--- layout: default title: Shrink index parent: Index APIs grand_parent: REST API reference nav_order: 50 --- # Shrink index The shrink index API operation moves all of your data in an existing index into a new index with fewer primary shards. ## Example ```json POST /my-old-index/_shrink/my-new-index { "settings": { "index.number_of_replicas": 4, "index.number_of_shards": 3 }, "aliases":{ "new-index-alias": {} } } ``` ## Path and HTTP methods ``` POST //_shrink/ ``` When creating new indices with this operation, remember that OpenSearch indices have the following naming restrictions: - All letters must be lowercase. - Index names can't begin with underscores (`_`) or hyphens (`-`). - Index names can't contain spaces, commas, or the following characters: `:`, `"`, `*`, `+`, `/`, `\`, `|`, `?`, `#`, `>`, or `<` ## URL parameters The shrink index API operation requires you to specify both the source index and the target index. All other parameters are optional. Parameter | Type | description :--- | :--- | :--- <index-name> | String | The index to shrink. <target-index> | String | The target index to shrink the source index into. wait_for_active_shards | String | Specifies the number of active shards that must be available before OpenSearch processes the request. Default is 1 (only the primary shard). Set to all or a positive integer. Values greater than 1 require replicas. For example, if you specify a value of 3, the index must have two replicas distributed across two additional nodes for the request to succeed. master_timeout | Time | How long to wait for a connection to the master node. Default is `30s`. timeout | Time | How long to wait for the request to return. Default is `30s`. ## Request body You can use the request body to configure some index settings for the target index. All fields are optional. Field | Type | Description alias | Object | Sets an alias for the target index. Can have the fields `filter`, `index_routing`, `is_hidden`, `is_write_index`, `routing`, and `search_routing`. See [index aliases]({{site.url}}{{site.baseurl}}/opensearch/rest-api/alias/#request-body). settings | Object | Index settings you can apply to your target index. See [index settings]({{site.url}}{{site.baseurl}}/opensearch/rest-api/index-apis/create-index/#index-settings). max_primary_shard_size | Bytes | Sets the maximum size of a primary shard in the target index. For example, if this field is set to 100gb, and the source index's primary shards total to 300gb, then the target index has 3 primary shards of 100gb each.