---
title: "Create Control Plane"
method: POST
path: "/v2/control-planes"
tags: ["Control Planes"]
---

# Create Control Plane

`POST /v2/control-planes`

Create a control plane in the Konnect Organization.

## Request body

- CreateControlPlaneRequest — The request schema for the create control plane request.
  - `name` string, required — The name of the control plane.
  - `description` string — The description of the control plane in Konnect.
  - `cluster_type` 'CLUSTER_TYPE_CONTROL_PLANE' | 'CLUSTER_TYPE_K8S_INGRESS_CONTROLLER' | 'CLUSTER_TYPE_CONTROL_PLANE_GROUP' | 'CLUSTER_TYPE_SERVERLESS' | 'CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY' | 'CLUSTER_TYPE_SERVERLESS_V1' — The ClusterType value of the cluster associated with the Control Plane.
  - `auth_type` 'pinned_client_certs' | 'pki_client_certs' — The auth type value of the cluster associated with the Runtime Group.
  - `cloud_gateway` boolean — Whether this control-plane can be used for cloud-gateways.
  - `proxy_urls` ProxyURL[] — Array of proxy URLs associated with reaching the data-planes connected to a control-plane.
    - `host` string, required — Hostname of the proxy URL.
    - `port` integer, required — Port of the proxy URL.
    - `protocol` string, required — Protocol of the proxy URL.
  - `labels` Labels — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".

## Response `201`

A response to creating a control plane.

- ControlPlane — The control plane object contains information about a Kong control plane.
  - `id` string, uuid, required — The control plane ID.
  - `name` string, required — The name of the control plane.
  - `description` string, required — The description of the control plane in Konnect.
  - `labels` Labels, required — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - `config` object, required — CP configuration object for related access endpoints.
    - `control_plane_endpoint` string, url, required — Control Plane Endpoint.
    - `telemetry_endpoint` string, url, required — Telemetry Endpoint.
    - `cluster_type` 'CLUSTER_TYPE_CONTROL_PLANE' | 'CLUSTER_TYPE_K8S_INGRESS_CONTROLLER' | 'CLUSTER_TYPE_CONTROL_PLANE_GROUP' | 'CLUSTER_TYPE_SERVERLESS' | 'CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY' | 'CLUSTER_TYPE_SERVERLESS_V1', required — The ClusterType value of the cluster associated with the Control Plane.
    - `auth_type` 'pinned_client_certs' | 'pki_client_certs', required — The auth type value of the cluster associated with the Runtime Group.
    - `cloud_gateway` boolean, required — Whether the Control Plane can be used for cloud-gateways.
    - `proxy_urls` ProxyURL[], required — Array of proxy URLs associated with reaching the data-planes connected to a control-plane.
      - `host` string, required — Hostname of the proxy URL.
      - `port` integer, required — Port of the proxy URL.
      - `protocol` string, required — Protocol of the proxy URL.
  - `created_at` string, date-time, required — An ISO-8604 timestamp representation of control plane creation date.
  - `updated_at` string, date-time, required — An ISO-8604 timestamp representation of control plane update date.

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Permission denied
- `409` — Conflict
- `500` — Internal Server Error
- `503` — Service Unavailable

## Changes

- **2026-06-23** `bb5e056b7c6d` — 3 breaking, 5 warning
  - the `name` request property's minLength was increased from `0` to `2`
  - the `proxy_urls/items/host` request property's minLength was increased from `0` to `1`
  - the `proxy_urls/items/protocol` request property's minLength was increased from `0` to `1`
  - the `description` request property's maxLength was set to `2048`
  - …4 more
- **2026-05-05** `9296070059c5` — 3 info
  - the response property `config/proxy_urls` became required for the status `201`
  - the response property `description` became required for the status `201`
  - the response property `labels` became required for the status `201`
- **2026-03-16** `377981ac9f14` — 1 warning, 1 info
  - added the new `CLUSTER_TYPE_SERVERLESS_V1` enum value to the `config/cluster_type` response property for the response status `201`
  - added the new `CLUSTER_TYPE_SERVERLESS_V1` enum value to the request property `cluster_type`
- **2025-10-23** `8ab3ec3ed301` — 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`
- …earlier changes not shown

[Full history](https://skmtc.dev/kong/apis/konnect-api-go-sdk/changes/v2/control-planes/post.md)

---

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