---
title: "Create Configuration"
method: PUT
path: "/v2/cloud-gateways/configurations"
tags: ["Data-Plane Group Configurations"]
---

# Create Configuration

`PUT /v2/cloud-gateways/configurations`

Creates or replaces the Cloud Gateway configuration for a control plane and geo. The request fully describes
the desired state — Kong diffs it against the current configuration, then adds, removes, or updates data plane
groups to match. Any network referenced in the request that is currently `offline` automatically transitions
to `initializing`.

Use `kind: dedicated.v0` (default) for dedicated Cloud Gateways — `version`, `cloud_gateway_network_id`, and
`autoscale` are required. Use `kind: serverless.v1` for serverless Cloud Gateways — those three fields must
be omitted.

## Request body

- CreateConfigurationRequest — Describes the desired state of a control plane's Cloud Gateway deployment. Submitting this request replaces the current configuration; Kong reconciles running data plane groups to match. Use `kind: dedicated.v0` for Dedicated Cloud Gateways or `kind: serverless.v1` for Serverless — the required fields differ by kind.
  - `control_plane_id` string, uuid, required — ID of the Konnect control plane. Can be retrieved from the Control Planes API or the Konnect UI.
  - `control_plane_geo` 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg', required — Geographic region of the control plane. Supported values: - `us` — United States - `eu` — Europe - `au` — Australia - `me` — Middle East - `in` — India - `sg` — Singapore
  - `version` string — Supported gateway version. For serverless.v1 kind of cloud gateways, this field should be omitted.
  - `dataplane_groups` CreateConfigurationDataPlaneGroup[], required — List of data-plane groups that describe where to deploy instances, along with how many instances.
    - `provider` 'aws' | 'azure' | 'gcp', required — Name of cloud provider.
    - `region` string, required — Region ID for cloud provider region.
    - `cloud_gateway_network_id` string, uuid — The network ID to operate on. For serverless.v1 kind of cloud gateways, this field should be omitted.
    - `autoscale` union
      - ConfigurationDataPlaneGroupAutoscaleStatic — Object that describes the static autoscaling strategy. Deprecated in favor of the autopilot autoscaling strategy. Static autoscaling will be removed in a future version. For serverless.v1 kind of cloud gateways, this field should be omitted.
        - `kind` 'static', required
        - `instance_type` 'small' | 'medium' | 'large', required — Instance type name to indicate capacity.
        - `requested_instances` integer, required — Number of data-planes the deployment target will contain.
      - ConfigurationDataPlaneGroupAutoscaleAutopilot — Object that describes the autopilot autoscaling strategy. For serverless.v1 kind of cloud gateways, this field should be omitted.
        - `kind` 'autopilot', required
        - `base_rps` integer, required — Base number of requests per second that the deployment target should support.
        - `max_rps` integer — Max number of requests per second that the deployment target should support. If not set, this defaults to 10x base_rps. This field is deprecated and shouldn't be used in new configurations as it will be removed in a future version. max_rps is now calculated as 10x base_rps.
    - `environment` ConfigurationDataPlaneGroupEnvironmentField[] — Array of environment variables to set for a data-plane group.
      - `name` string, ^(KONG|OTEL)_[a-zA-Z_]+[a-zA-Z0-9_]*, required — Name of the environment variable field to set for the data-plane group. Must be prefixed by KONG_ or OTEL_.
      - `value` string, required — Value assigned to the environment variable field for the data-plane group.
  - `kind` 'dedicated.v0' | 'serverless.v1' — **Pre-release Feature** This feature is currently in beta and is subject to change. Kind of the Cloud Gateway deployment. If serverless.v1 is specified, the following fields should be omitted (will be ignored if provided): autoscale, cloud_gateway_network_id, version.
  - `api_access` 'private' | 'public' | 'private+public' — Controls how data planes in a configuration are exposed. Supported values: - `private` — data planes are accessible only within the VPC network; no public internet exposure - `public` — data planes are accessible from the public internet - `private+public` — equivalent to `public`; data planes are accessible from the public internet (default)

## Response `200`

Response format for creating a configuration.

- ConfigurationManifest — Object containing information about a control-plane's cloud-gateways configuration.
  - `id` string, uuid, required
  - `version` string — Supported gateway version. For serverless.v1 kind of cloud gateways, this field should be omitted.
  - `api_access` 'private' | 'public' | 'private+public' — Controls how data planes in a configuration are exposed. Supported values: - `private` — data planes are accessible only within the VPC network; no public internet exposure - `public` — data planes are accessible from the public internet - `private+public` — equivalent to `public`; data planes are accessible from the public internet (default)
  - `dataplane_group_config` ConfigurationDataPlaneGroupConfig[], required — Object that describes where data-planes will be deployed to, along with how many instances.
    - `provider` 'aws' | 'azure' | 'gcp', required — Name of cloud provider.
    - `region` string, required — Region ID for cloud provider region.
    - `cloud_gateway_network_id` string, uuid — The network ID to operate on. For serverless.v1 kind of cloud gateways, this field should be omitted.
    - `autoscale` union
      - ConfigurationDataPlaneGroupAutoscaleStatic — Object that describes the static autoscaling strategy. Deprecated in favor of the autopilot autoscaling strategy. Static autoscaling will be removed in a future version. For serverless.v1 kind of cloud gateways, this field should be omitted.
        - `kind` 'static', required
        - `instance_type` 'small' | 'medium' | 'large', required — Instance type name to indicate capacity.
        - `requested_instances` integer, required — Number of data-planes the deployment target will contain.
      - ConfigurationDataPlaneGroupAutoscaleAutopilot — Object that describes the autopilot autoscaling strategy. For serverless.v1 kind of cloud gateways, this field should be omitted.
        - `kind` 'autopilot', required
        - `base_rps` integer, required — Base number of requests per second that the deployment target should support.
        - `max_rps` integer — Max number of requests per second that the deployment target should support. If not set, this defaults to 10x base_rps. This field is deprecated and shouldn't be used in new configurations as it will be removed in a future version. max_rps is now calculated as 10x base_rps.
    - `environment` ConfigurationDataPlaneGroupEnvironmentField[] — Array of environment variables to set for a data-plane group.
      - `name` string, ^(KONG|OTEL)_[a-zA-Z_]+[a-zA-Z0-9_]*, required — Name of the environment variable field to set for the data-plane group. Must be prefixed by KONG_ or OTEL_.
      - `value` string, required — Value assigned to the environment variable field for the data-plane group.
  - `dataplane_groups` ConfigurationDataPlaneGroup[], required — List of data-plane groups that describe where data-planes will be deployed to, along with how many instances.
    - `id` string, uuid, required — ID of the data-plane group that represents a deployment target for a set of data-planes.
    - `provider` 'aws' | 'azure' | 'gcp', required — Name of cloud provider.
    - `region` string, required — Region ID for cloud provider region.
    - `autoscale` union
      - ConfigurationDataPlaneGroupAutoscaleStatic — Object that describes the static autoscaling strategy. Deprecated in favor of the autopilot autoscaling strategy. Static autoscaling will be removed in a future version. For serverless.v1 kind of cloud gateways, this field should be omitted.
        - `kind` 'static', required
        - `instance_type` 'small' | 'medium' | 'large', required — Instance type name to indicate capacity.
        - `requested_instances` integer, required — Number of data-planes the deployment target will contain.
      - ConfigurationDataPlaneGroupAutoscaleAutopilot — Object that describes the autopilot autoscaling strategy. For serverless.v1 kind of cloud gateways, this field should be omitted.
        - `kind` 'autopilot', required
        - `base_rps` integer, required — Base number of requests per second that the deployment target should support.
        - `max_rps` integer — Max number of requests per second that the deployment target should support. If not set, this defaults to 10x base_rps. This field is deprecated and shouldn't be used in new configurations as it will be removed in a future version. max_rps is now calculated as 10x base_rps.
    - `environment` ConfigurationDataPlaneGroupEnvironmentField[] — Array of environment variables to set for a data-plane group.
      - `name` string, ^(KONG|OTEL)_[a-zA-Z_]+[a-zA-Z0-9_]*, required — Name of the environment variable field to set for the data-plane group. Must be prefixed by KONG_ or OTEL_.
      - `value` string, required — Value assigned to the environment variable field for the data-plane group.
    - `cloud_gateway_network_id` string, uuid — The network ID to operate on. For serverless.v1 kind of cloud gateways, this field should be omitted.
    - `state` 'created' | 'initializing' | 'ready' | 'terminating' | 'terminated', required — State of the data-plane group.
    - `state_metadata` object — Metadata describing the backing state of the dataplane group and why it may be in an erroneous state.
      - `reported_status` string — Reported status of the dataplane group from backing infrastructure.
      - `reason` string — Reason why the dataplane group may be in an erroneous state, reported from backing infrastructure.
    - `private_ip_addresses` string[] — List of private IP addresses of the internal load balancer that proxies traffic to this data-plane group.
    - `egress_ip_addresses` string[] — List of egress IP addresses for the network that this data-plane group runs on.
    - `hostnames` string[] — List of hostnames for proxying to the data-plane group.
    - `created_at` string, date-time, required — An RFC-3339 timestamp representation of data-plane group creation date.
    - `updated_at` string, date-time, required — An RFC-3339 timestamp representation of data-plane group update date.
  - `kind` 'dedicated.v0' | 'serverless.v1' — **Pre-release Feature** This feature is currently in beta and is subject to change. Kind of the Cloud Gateway deployment. If serverless.v1 is specified, the following fields should be omitted (will be ignored if provided): autoscale, cloud_gateway_network_id, version.
  - `entity_version` number, required — Positive, monotonically increasing version integer, to serialize configuration changes.
  - `created_at` string, date-time, required — An RFC-3339 timestamp representation of configuration creation date.
  - `updated_at` string, date-time, required — An RFC-3339 timestamp representation of configuration update date.
  - `control_plane_id` string, uuid, required — ID of the Konnect control plane. Can be retrieved from the Control Planes API or the Konnect UI.
  - `control_plane_geo` 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg', required — Geographic region of the control plane. Supported values: - `us` — United States - `eu` — Europe - `au` — Australia - `me` — Middle East - `in` — India - `sg` — Singapore

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict

---

[API](https://skmtc.net/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-go-sdk/versions/0261aef4b1e2/schema)
