---
title: "Update a whole control plane"
method: PUT
path: "/v1/mesh/control-planes/{cpId}"
tags: ["Mesh"]
---

# Update a whole control plane

`PUT /v1/mesh/control-planes/{cpId}`

Update a whole control plane

## Request body

- PutMeshControlPlaneRequest — a payload to update the whole control plane
  - `name` string, required — The name of the control plane.
  - `description` string
  - `labels` MeshControlPlaneNonNullableLabels, nullable — Labels to facilitate tagged search on control planes. Keys must be of length 1-63 characters.

## Response `200`

A response to updating a control plane.

- MeshControlPlane — a control plane
  - `id` string, uuid, required — ID of the control plane.
  - `name` string, required — The name of the control plane.
  - `description` string
  - `labels` MeshControlPlaneLabels, nullable — Labels to facilitate tagged search on control planes. Keys must be of length 1-63 characters.
  - `features` MeshControlPlaneFeature[]
    - `type` 'MeshCreation' | 'HostnameGeneratorCreation', required
    - `hostnameGeneratorCreation` MeshControlPlaneFeatureHostnameGenerationCreation
      - `enabled` boolean, required
    - `meshCreation` MeshControlPlaneFeatureMeshCreation
      - `enabled` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400` — Validation Error
- `401` — Unauthorized Error
- `403` — Permission denied
- `404` — Not found

## Changes

- **2025-10-29** `19e869275e28` — 1 warning
  - added the new `type` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
- **2025-08-22** `96118a9cd7f4` — 5 breaking
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterChoiceItem]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterDependentItem]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMaximumLength]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMinimumLength]/source` became nullable for the status `400`
  - …1 more
- **2025-04-15** `fc6abbc537f3` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kong/apis/konnect-api/changes/v1/mesh/control-planes/:cpId/put.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api.md) · [All operations](https://skmtc.dev/kong/apis/konnect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kong/konnect-api/revisions/72502a676a92/schema)
