---
title: "Trigger a rolling action on a cluster"
method: POST
path: "/api/clusters/{clusterName}/actions/rolling/{action}"
tags: ["ClusterMaintenance"]
---

# Trigger a rolling action on a cluster

`POST /api/clusters/{clusterName}/actions/rolling/{action}`

## Request

- The document declares no server URL.
- Auth: none declared. Required headers: `Authorization`

Triggers one of: restart, reprov, upgrade, jobs-upgrade.
reprov and upgrade are long-running and return 202 Accepted immediately; the operation runs in the background.

## Path parameters

- `clusterName` string, required
- `action` 'restart' | 'reprov' | 'upgrade' | 'jobs-upgrade', required

## Query parameters

- `target` 'patch' | 'next-minor' | 'next-lts' | 'next-major' | 'last-lts' | 'previous-minor' | 'previous-major' | 'version'
- `version` string

## Headers

- `Authorization` string, required

## Response `200`

Action triggered successfully

- string

## Other responses

- `202`: Long-running action started in background (reprov, upgrade)
- `400`: Unknown rolling action
- `403`: No valid ACL
- `500`: No cluster

## Changes

- **2026-10-12** `d4e4c5013f0c`: 2 info
  - added the new optional `query` request parameter `target`
  - added the new optional `query` request parameter `version`
- **2026-07-17** `7465ea0ee21a`: 1 info
  - endpoint added
- **2023-03-31** `b57fc7b9446e`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/changes/api/clusters/:clusterName/actions/rolling/:action/post.md)

---

[API](https://skmtc.dev/signal18/apis/signal-18-dashboard-api.md) - [All operations](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signal18/apis/signal-18-dashboard-api/revisions/8ee8a1e31294?raw)
