# Shrink an index
**POST /{index}/_shrink/{target}**
**All methods and paths for this operation:**
PUT
/{index}/_shrink/{target}
POST
/{index}/_shrink/{target}
Shrink an index into a new index with fewer primary shards.
Before you can shrink an index:
* The index must be read-only.
* A copy of every shard in the index must reside on the same node.
* The index must have a green health status.
To make shard allocation easier, we recommend you also remove the index's replica shards.
You can later re-add replica shards as part of the shrink operation.
The requested number of primary shards in the target index must be a factor of the number of shards in the source index.
For example an index with 8 primary shards can be shrunk into 4, 2 or 1 primary shards or an index with 15 primary shards can be shrunk into 5, 3 or 1.
If the number of shards in the index is a prime number it can only be shrunk into a single primary shard
Before shrinking, a (primary or replica) copy of every shard in the index must be present on the same node.
The current write index on a data stream cannot be shrunk. In order to shrink the current write index, the data stream must first be rolled over so that a new write index is created and then the previous write index can be shrunk.
A shrink operation:
* Creates a new target index with the same definition as the source index, but with a smaller number of primary shards.
* Hard-links segments from the source index into the target index. If the file system does not support hard-linking, then all segments are copied into the new index, which is a much more time consuming process. Also if using multiple data paths, shards on different data paths require a full copy of segment files if they are not on the same disk since hardlinks do not work across disks.
* Recovers the target index as though it were a closed index which had just been re-opened. Recovers shards to the `.routing.allocation.initial_recovery._id` index setting.
IMPORTANT: Indices can only be shrunk if they satisfy the following requirements:
* The target index must not exist.
* The source index must have more primary shards than the target index.
* The number of primary shards in the target index must be a factor of the number of primary shards in the source index. The source index must have more primary shards than the target index.
* The index must not contain more than 2,147,483,519 documents in total across all shards that will be shrunk into a single shard on the target index as this is the maximum number of docs that can fit into a single shard.
* The node handling the shrink process must have sufficient free disk space to accommodate a second copy of the existing index.
## Required authorization
* Index privileges: `manage`
## Servers
- http://api.example.com: http://api.example.com ()
## Authentication methods
- Api key auth
- Basic auth
- Bearer auth
## Parameters
### Path parameters
- **index** (string)
Name of the source index to shrink.
- **target** (string)
Name of the target index to create.
### Query parameters
- **master_timeout** (string)
Period to wait for a connection to the master node.
If no response is received before the timeout expires, the request fails and returns an error.
- **timeout** (string)
Period to wait for a response.
If no response is received before the timeout expires, the request fails and returns an error.
- **wait_for_active_shards** (number | string)
The number of shard copies that must be active before proceeding with the operation.
Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`).
### Body: application/json (object)
- **aliases** (object)
The key is the alias name.
Index alias names support date math.
- **settings** (object)
Configuration options for the target index.
## Responses
### 200
#### Body: application/json (object)
- **acknowledged** (boolean)
- **shards_acknowledged** (boolean)
- **index** (string)
[Powered by Bump.sh](https://bump.sh)