Adding Nodes to Clusters

Nodes are added to clusters with the POST /controller/addNode HTTP method and URI.


This request adds a server node to the cluster. One or more services can be specified to run on the added node. These are kv (data), index (index), n1ql (query), eventing (eventing), fts (search), and cbas (analytics). If no services are specified, the Data Service is enabled by default. The node is added with the /controller/addNode URI. The administrative username and password must be specified.

curl -u [admin]:[password]
  -d hostname=[IPaddress] user=[admin] password=[password] services=[kv|index|n1ql|fts|cbas|eventing]

After adding a node to the cluster, remember to rebalance the cluster. See Rebalancing Nodes for details.

HTTP method and URI

POST /controller/addNode


The following example adds a server node,, to the cluster at, establishing the Data, Query, and Index Services on the new node. The POST method, controller/addNode, IP address for the new server, and administrative credentials are provided. Since the POST method is the default, it is not required in the request.

curl -u Administrator:password \ \
  -d 'hostname=,n1ql,index'


If successful, Couchbase Server responds as follows, identifying the node that has been added:

HTTP/1.1 200 OK