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

# Create Configuration

`PUT /v2/cloud-gateways/configurations`

Creates a new configuration for a control-plane (restricted by permitted control-plane permissions for
configurations). This request will replace any existing configuration for the requested control_plane_id and
control_plane_geo by performing a diff. From this diff, new resources detected in the requested configuration
will be added, resources not found in the request configuration but in the previous will be deleted, and
resources found in both will be updated to the requested configuration. Networks referenced in this request that
are in an offline state will automatically initialize (i.e. move to an initializing state).

## Request body

- CreateConfigurationRequest — Request schema for creating a configuration.
  - `control_plane_id` string, uuid, required
  - `control_plane_geo` 'us' | 'eu' | 'au' | 'me' | 'in', required — Set of control-plane geos supported for deploying cloud-gateways configurations.
  - `version` string, required — Supported gateway version.
  - `dataplane_groups` CreateConfigurationDataPlaneGroup[], required — List of data-plane groups that describe where to deploy instances, along with how many instances.
    - `provider` 'aws' | 'azure', required — Name of cloud provider.
    - `region` string, required — Region ID for cloud provider region.
    - `cloud_gateway_network_id` string, uuid, required
    - `autoscale` union, required
      - 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.
        - `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.
        - `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_[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_.
      - `value` string, required — Value assigned to the environment variable field for the data-plane group.
  - `api_access` 'private' | 'public' | 'private+public' — Type of API access data-plane groups will support for a configuration.

## 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, required — Supported gateway version.
  - `api_access` 'private' | 'public' | 'private+public' — Type of API access data-plane groups will support for a configuration.
  - `dataplane_group_config` ConfigurationDataPlaneGroupConfig[], required — Object that describes where data-planes will be deployed to, along with how many instances.
    - `provider` 'aws' | 'azure', required — Name of cloud provider.
    - `region` string, required — Region ID for cloud provider region.
    - `cloud_gateway_network_id` string, uuid, required
    - `autoscale` union, required
      - 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.
        - `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.
        - `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_[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_.
      - `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', required — Name of cloud provider.
    - `region` string, required — Region ID for cloud provider region.
    - `autoscale` union, required
      - 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.
        - `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.
        - `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_[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_.
      - `value` string, required — Value assigned to the environment variable field for the data-plane group.
    - `cloud_gateway_network_id` string, uuid, required
    - `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.
    - `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.
  - `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
  - `control_plane_geo` 'us' | 'eu' | 'au' | 'me' | 'in', required — Set of control-plane geos supported for deploying cloud-gateways configurations.

## Other responses

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

## Changes

- **2025-06-19** `60ce7598bbd0` — 3 info
  - request property `dataplane_groups/items/autoscale/oneOf[subschema #1: Configuration Autoscale Static]/` deprecated
  - response property `dataplane_group_config/items/autoscale/oneOf[subschema #1: Configuration Autoscale Static]/` deprecated
  - response property `dataplane_groups/items/autoscale/oneOf[subschema #1: Configuration Autoscale Static]/` deprecated
- **2025-05-21** `69704304ad5f` — 3 info
  - request property `dataplane_groups/items/autoscale/oneOf[subschema #2: Configuration Autoscale Autopilot]/max_rps` deprecated
  - response property `dataplane_group_config/items/autoscale/oneOf[subschema #2: Configuration Autoscale Autopilot]/max_rps` deprecated
  - response property `dataplane_groups/items/autoscale/oneOf[subschema #2: Configuration Autoscale Autopilot]/max_rps` deprecated
- **2025-05-13** `e1da8b58f715` — 1 info
  - added the optional property `dataplane_groups/items/state_metadata` to the response with the `200` status
- **2025-04-15** `fc6abbc537f3` — 2 info
  - removed the pattern `^(\d)+(\.(\d)+)?$` from the request property `version`
  - the `version` response's property pattern `^(\d)+(\.(\d)+)?$` was removed for the status `200`
- **2025-02-10** `d833d4dbb1fa` — 1 warning
  - added the new `missing_reference` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`

[Full history](https://skmtc.dev/kong/apis/konnect-api/changes/v2/cloud-gateways/configurations/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/2c77aeaee5fb/schema)
