---
title: "Update Transit Gateway"
method: PATCH
path: "/v2/cloud-gateways/networks/{networkId}/transit-gateways/{transitGatewayId}"
tags: ["Transit Gateways"]
---

# Update Transit Gateway

`PATCH /v2/cloud-gateways/networks/{networkId}/transit-gateways/{transitGatewayId}`

Updates a transit gateway by ID. Supports updating CIDR blocks on an AWS Transit Gateway, or updating
the resource endpoint configuration on an AWS Resource Endpoint gateway.

## Path parameters

- `networkId` string, uuid, required — The network ID to operate on. For serverless.v1 kind of cloud gateways, this field should be omitted.
- `transitGatewayId` string, uuid, required

## Request body

- union — Request schema for updating a transit gateway.
  - object — Request schema for updating AWS Resource Endpoint.
    - `transit_gateway_attachment_config` object, required
      - `kind` 'aws-resource-endpoint-attachment', required
      - `resource_config` object[], required — List of unique resource config mapping for aws resource endpoint.
        - `resource_config_id` string, required — Resource Config ID to uniquely identify a resource configuration.
        - `domain_name` string, required — Domain Name to uniquely identify a resource configuration.
  - object — Request schema for updating AWS Transit Gateway
    - `cidr_blocks` string[], required — CIDR blocks for constructing a route table for the transit gateway, when attaching to the owning network.

## Response `200`

Response format for updating a transit gateway.

- union
  - AwsResourceEndpointGatewayResponse
    - `name` string, required — Human-readable name of the transit gateway.
    - `dns_config` object[], required — List of mappings from remote DNS server IP address sets to proxied internal domains, for a transit gateway attachment.
      - `remote_dns_server_ip_addresses` string[], required — Remote DNS Server IP Addresses to connect to for resolving internal DNS via a transit gateway.
      - `domain_proxy_list` string[], required — Internal domain names to proxy for DNS resolution from the listed remote DNS server IP addresses, for a transit gateway.
    - `transit_gateway_attachment_config` AwsResourceEndpointAttachmentConfigResponse, required
      - `kind` 'aws-resource-endpoint-attachment', required
      - `ram_share_arn` string, required — Resource Share ARN to verify request to create transit gateway attachment.
      - `resource_config` object[], required — List of unique resource config mapping for aws resource endpoint.
        - `resource_config_id` string, required — Resource Config ID to uniquely identify a resource configuration.
        - `domain_name` string, required — Domain Name to uniquely identify a resource configuration.
        - `state` 'initializing' | 'missing' | 'ready' | 'error' | 'terminating', required — The current state of the resource config in AWS Resource Endpoint. Possible values: - `initializing` - The config is in the process of being initialized and is setting up necessary resources. - `missing` - The config is missing and is no longer accepting new traffic. - `ready` - The config is fully operational and can route traffic as configured. - `error` - The config is in an error state, and is not operational. - `terminating` - The config is in the process of being deleted and is no longer accepting new traffic.
    - `id` string, uuid, required
    - `state` 'created' | 'initializing' | 'pending-acceptance' | 'pending-user-action' | 'ready' | 'terminating' | 'terminated' | 'error', required — The current state of the Transit Gateway. Possible values: - `created` - The attachment has been created but is not attached to transit gateway. - `initializing` - The attachment is in the process of being initialized and is setting up necessary resources. - `pending-acceptance` The attachment request is awaiting acceptance in customer VPC. - `pending-user-action` The attachment request is awaiting user action in customer VPC. - `ready` - The transit gateway attachment is fully operational and can route traffic as configured. - `terminating` - The attachment is in the process of being deleted and is no longer accepting new traffic. - `terminated` - The attachment has been fully deleted and is no longer available. - `error` - The attachment is in an error state.
    - `state_metadata` object — Metadata describing the backing state of the transit gateway and why it may be in an erroneous state.
      - `reported_status` string — Reported status of the transit gateway from backing infrastructure.
      - `reason` string — Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure.
    - `entity_version` integer, required — Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway.
    - `created_at` string, date-time, required — An RFC-3339 timestamp representation of transit gateway creation date.
    - `updated_at` string, date-time, required — An RFC-3339 timestamp representation of transit gateway update date.
  - AwsTransitGatewayResponse
    - `name` string, required — Human-readable name of the transit gateway.
    - `dns_config` object[], required — List of mappings from remote DNS server IP address sets to proxied internal domains, for a transit gateway attachment.
      - `remote_dns_server_ip_addresses` string[], required — Remote DNS Server IP Addresses to connect to for resolving internal DNS via a transit gateway.
      - `domain_proxy_list` string[], required — Internal domain names to proxy for DNS resolution from the listed remote DNS server IP addresses, for a transit gateway.
    - `cidr_blocks` string[], required — CIDR blocks for constructing a route table for the transit gateway, when attaching to the owning network.
    - `transit_gateway_attachment_config` AwsTransitGatewayAttachmentConfigForResponse, required
      - `kind` 'aws-transit-gateway-attachment', required
      - `transit_gateway_id` string, required — AWS Transit Gateway ID to create attachment to.
      - `ram_share_arn` string, required — Resource Share ARN to verify request to create transit gateway attachment.
      - `attachment_id` string, nullable — ID of the AWS Transit Gateway attachment.
    - `id` string, uuid, required
    - `state` 'created' | 'initializing' | 'pending-acceptance' | 'pending-user-action' | 'ready' | 'terminating' | 'terminated' | 'error', required — The current state of the Transit Gateway. Possible values: - `created` - The attachment has been created but is not attached to transit gateway. - `initializing` - The attachment is in the process of being initialized and is setting up necessary resources. - `pending-acceptance` The attachment request is awaiting acceptance in customer VPC. - `pending-user-action` The attachment request is awaiting user action in customer VPC. - `ready` - The transit gateway attachment is fully operational and can route traffic as configured. - `terminating` - The attachment is in the process of being deleted and is no longer accepting new traffic. - `terminated` - The attachment has been fully deleted and is no longer available. - `error` - The attachment is in an error state.
    - `state_metadata` object — Metadata describing the backing state of the transit gateway and why it may be in an erroneous state.
      - `reported_status` string — Reported status of the transit gateway from backing infrastructure.
      - `reason` string — Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure.
    - `entity_version` integer, required — Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway.
    - `created_at` string, date-time, required — An RFC-3339 timestamp representation of transit gateway creation date.
    - `updated_at` string, date-time, required — An RFC-3339 timestamp representation of transit gateway update date.

## Other responses

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

## Changes

- **2026-03-12** `c7956e473770` — 1 info
  - added the optional property `oneOf[subschema #2: AWS Transit Gateway]/transit_gateway_attachment_config/attachment_id` to the response with the `200` status
- **2026-01-13** `ad02b4e24eb2` — 1 info
  - endpoint added
- **2025-10-09** `dcc482e2b1ee` — 1 breaking
  - api removed without deprecation
- **2025-09-16** `f03059016622` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kong/apis/konnect-api/changes/v2/cloud-gateways/networks/:networkId/transit-gateways/:transitGatewayId/patch.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)
