diff --git a/api/server/router/swarm/cluster_routes.go b/api/server/router/swarm/cluster_routes.go
index 944616bf4b..911284b40d 100644
--- a/api/server/router/swarm/cluster_routes.go
+++ b/api/server/router/swarm/cluster_routes.go
@@ -67,11 +67,23 @@ func (sr *swarmRouter) updateCluster(ctx context.Context, w http.ResponseWriter,
 	}
 
 	var flags types.UpdateFlags
-	if r.URL.Query().Get("rotate_worker_token") == "true" {
-		flags.RotateWorkerToken = true
+
+	if value := r.URL.Query().Get("rotateWorkerToken"); value != "" {
+		rot, err := strconv.ParseBool(value)
+		if err != nil {
+			return fmt.Errorf("invalid value for rotateWorkerToken: %s", value)
+		}
+
+		flags.RotateWorkerToken = rot
 	}
-	if r.URL.Query().Get("rotate_manager_token") == "true" {
-		flags.RotateManagerToken = true
+
+	if value := r.URL.Query().Get("rotateManagerToken"); value != "" {
+		rot, err := strconv.ParseBool(value)
+		if err != nil {
+			return fmt.Errorf("invalid value for rotateManagerToken: %s", value)
+		}
+
+		flags.RotateManagerToken = rot
 	}
 
 	if err := sr.backend.Update(version, swarm, flags); err != nil {
diff --git a/docs/reference/api/docker_remote_api_v1.24.md b/docs/reference/api/docker_remote_api_v1.24.md
index 82264d0d1a..0589f5f964 100644
--- a/docs/reference/api/docker_remote_api_v1.24.md
+++ b/docs/reference/api/docker_remote_api_v1.24.md
@@ -3755,8 +3755,8 @@ Update a Swarm
 
 - **version** – The version number of the swarm object being updated. This is
   required to avoid conflicting writes.
-- **rotate_worker_token** - Set to `true` to rotate the worker join token.
-- **rotate_manager_token** - Set to `true` to rotate the manager join token.
+- **rotateWorkerToken** - Set to `true` (or `1`) to rotate the worker join token.
+- **rotateManagerToken** - Set to `true` (or `1`) to rotate the manager join token.
 
 **Status codes**:
 
diff --git a/docs/reference/api/docker_remote_api_v1.25.md b/docs/reference/api/docker_remote_api_v1.25.md
index 3b6aceffc7..8e7eaad871 100644
--- a/docs/reference/api/docker_remote_api_v1.25.md
+++ b/docs/reference/api/docker_remote_api_v1.25.md
@@ -3756,8 +3756,8 @@ Update a Swarm
 
 - **version** – The version number of the swarm object being updated. This is
   required to avoid conflicting writes.
-- **rotate_worker_token** - Set to `true` to rotate the worker join token.
-- **rotate_manager_token** - Set to `true` to rotate the manager join token.
+- **rotateWorkerToken** - Set to `true` (or `1`) to rotate the worker join token.
+- **rotateManagerToken** - Set to `true` (or `1`) to rotate the manager join token.
 
 **Status codes**:
 
diff --git a/integration-cli/daemon_swarm.go b/integration-cli/daemon_swarm.go
index bb557fc8a1..a05acafaab 100644
--- a/integration-cli/daemon_swarm.go
+++ b/integration-cli/daemon_swarm.go
@@ -270,7 +270,7 @@ func (d *SwarmDaemon) rotateTokens(c *check.C) {
 	c.Assert(status, checker.Equals, http.StatusOK, check.Commentf("output: %q", string(out)))
 	c.Assert(json.Unmarshal(out, &sw), checker.IsNil)
 
-	url := fmt.Sprintf("/swarm/update?version=%d&rotate_worker_token=true&rotate_manager_token=true", sw.Version.Index)
+	url := fmt.Sprintf("/swarm/update?version=%d&rotateWorkerToken=true&rotateManagerToken=true", sw.Version.Index)
 	status, out, err = d.SockRequest("POST", url, sw.Spec)
 	c.Assert(err, checker.IsNil)
 	c.Assert(status, checker.Equals, http.StatusOK, check.Commentf("output: %q", string(out)))