[role="xpack"] [testenv="platinum"] [[ccr-put-follow]] === Create follower API ++++ Create follower ++++ Creates a follower index. ==== Description This API creates a new follower index that is configured to follow the referenced leader index. When this API returns, the follower index exists, and {ccr} starts replicating operations from the leader index to the follower index. ==== Request ////////////////////////// [source,js] -------------------------------------------------- POST /follower_index/_ccr/pause_follow -------------------------------------------------- // CONSOLE // TEARDOWN ////////////////////////// [source,js] -------------------------------------------------- PUT //_ccr/follow?wait_for_active_shards=1 { "remote_cluster" : "", "leader_index" : "" } -------------------------------------------------- // CONSOLE // TEST[setup:remote_cluster_and_leader_index] // TEST[s//follower_index/] // TEST[s//remote_cluster/] // TEST[s//leader_index/] The `wait_for_active_shards` parameter specifies the number of shards to wait on being active before responding. This defaults to waiting on none of the shards to be active. A shard must be restored from the leader index being active. Restoring a follower shard requires transferring all the remote Lucene segment files to the follower index. ==== Path Parameters `follower_index` (required):: (string) the name of the follower index ==== Request Body `remote_cluster` (required):: (string) the <> containing the leader index `leader_index` (required):: (string) the name of the index in the leader cluster to follow include::../follow-request-body.asciidoc[] ==== Authorization If the {es} {security-features} are enabled, you must have `write`, `monitor`, and `manage_follow_index` index privileges for the follower index. You must have `read` and `monitor` index privileges for the leader index. You must also have `manage_ccr` cluster privileges on the cluster that contains the follower index. For more information, see {stack-ov}/security-privileges.html[Security privileges]. ==== Example This example creates a follower index named `follower_index`: [source,js] -------------------------------------------------- PUT /follower_index/_ccr/follow?wait_for_active_shards=1 { "remote_cluster" : "remote_cluster", "leader_index" : "leader_index", "max_read_request_operation_count" : 1024, "max_outstanding_read_requests" : 16, "max_read_request_size" : "1024k", "max_write_request_operation_count" : 32768, "max_write_request_size" : "16k", "max_outstanding_write_requests" : 8, "max_write_buffer_count" : 512, "max_write_buffer_size" : "512k", "max_retry_delay" : "10s", "read_poll_timeout" : "30s" } -------------------------------------------------- // CONSOLE // TEST[setup:remote_cluster_and_leader_index] The API returns the following result: [source,js] -------------------------------------------------- { "follow_index_created" : true, "follow_index_shards_acked" : true, "index_following_started" : true } -------------------------------------------------- // TESTRESPONSE