---
title: "Upgrade a cluster"
method: POST
path: "/cluster/{clusterId}/upgrade"
tags: ["Clusters"]
---

# Upgrade a cluster

`POST /cluster/{clusterId}/upgrade`

## Request

- Base URL: `https://api.qovery.com`
- URL: `https://api.qovery.com/cluster/{clusterId}/upgrade`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/qovery/apis/qovery-api/docs/cluster/:clusterId/upgrade/post.ts> (a function with typed inputs; its response is checked against the schema)

allows to upgrade a cluster to next available kubernetes version

## Path parameters

- `clusterId` string, uuid, required

## Response `201`

Upgrade cluster

- ClusterStatus
  - `cluster_id` string, uuid
  - `status` 'BUILDING' | 'BUILD_ERROR' | 'CANCELED' | 'CANCELING' | 'DELETED' | 'DELETE_ERROR' | 'DELETE_QUEUED' | 'DELETING' | 'DEPLOYED' | 'DEPLOYING' | 'DEPLOYMENT_ERROR' | 'DEPLOYMENT_QUEUED' | 'DRY_RUN' | 'QUEUED' | 'READY' | 'STOPPED' | 'STOPPING' | 'STOP_ERROR' | 'STOP_QUEUED' | 'RESTART_QUEUED' | 'RESTARTING' | 'RESTARTED' | 'RESTART_ERROR' | 'INVALID_CREDENTIALS'
  - `is_deployed` boolean
  - `next_k8s_available_version` string, nullable
  - `last_execution_id` string
  - `cluster_lock` ClusterLock
    - `reason` string, required
    - `ttl_in_days` integer
    - `cluster_id` string, uuid, required
    - `locked_at` string, date-time, required
    - `owner_name` string, required
  - `last_deployment_date` string, date-time

## Other responses

- `400`: Bad request
- `401`: Access token is missing or invalid
- `403`: Access forbidden
- `404`: Resource not found

---

[API](https://skmtc.dev/qovery/apis/qovery-api.md) - [All operations](https://skmtc.dev/qovery/apis/qovery-api/llms.txt) - [OpenAPI document](https://skmtc.dev/qovery/apis/qovery-api/revisions/93c4960a44ba?raw)
