---
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 — 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-11** `c5d7b6bc7ab1` — 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-07** `41f50b46b442` — 2 warning
  - added the new `error` enum value to the `oneOf[subschema #1: AWS Resource Endpoint Gateway]/state` response property for the response status `200`
  - added the new `error` enum value to the `oneOf[subschema #2: AWS Transit Gateway]/state` response property for the response status `200`
- **2025-12-03** `581456e3279f` — 1 info
  - added `#/components/schemas/PatchAwsTransitGateway` to the request body `oneOf` list
- **2025-11-05** `ab25dca3c161` — 1 breaking
  - added `#/components/schemas/AwsTransitGatewayResponse` to the response body `oneOf` list for the response status `200`
- **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`

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