Amazon EC2 Ec2 Transit Gateway API

The Ec2 Transit Gateway API from Amazon EC2 — 4 operation(s) for ec2 transit gateway.

Business capability
IT Infrastructure Management BC-600.50

Operations 4

POST /?Action=CreateTransitGateway Create Transit Gateway #
POST /?Action=DeleteTransitGateway Delete Transit Gateway #
POST /?Action=DescribeTransitGateways Describe Transit Gateways #
POST /?Action=ModifyTransitGateway Modify Transit Gateway #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-ec2:amazon-ec2-transit-gateway-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-ec2-transit-gateway-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon Elastic Compute Cloud Transit Gateway API
  version: '2016-11-15'
  description: Generated from AWS's published Smithy model for Amazon Elastic Compute Cloud. 4 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://ec2.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Transit Gateway
paths:
  /?Action=CreateTransitGateway:
    post:
      operationId: CreateTransitGateway
      summary: Create Transit Gateway
      description: Creates a transit gateway. You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the available state, you can attach your VPCs and VPN connections to the transit gateway. To attach your VPCs, use CreateTransitGatewayVpcAttachment. To attach a VPN connection, use CreateCustomerGateway to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to CreateVpnConnection. When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use CreateTransitGatewayRouteTable to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CreateTransitGatewayResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: CreateTransitGateway
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/CreateTransitGatewayRequest'
      tags:
      - Transit Gateway
  /?Action=DeleteTransitGateway:
    post:
      operationId: DeleteTransitGateway
      summary: Delete Transit Gateway
      description: Deletes the specified transit gateway.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DeleteTransitGatewayResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: DeleteTransitGateway
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/DeleteTransitGatewayRequest'
      tags:
      - Transit Gateway
  /?Action=DescribeTransitGateways:
    post:
      operationId: DescribeTransitGateways
      summary: Describe Transit Gateways
      description: Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can filter the results.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DescribeTransitGatewaysResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: DescribeTransitGateways
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/DescribeTransitGatewaysRequest'
      tags:
      - Transit Gateway
  /?Action=ModifyTransitGateway:
    post:
      operationId: ModifyTransitGateway
      summary: Modify Transit Gateway
      description: Modifies the specified transit gateway. When you modify a transit gateway, the modified options are applied to new transit gateway attachments only. Your existing transit gateway attachments are not modified.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ModifyTransitGatewayResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: ModifyTransitGateway
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/ModifyTransitGatewayRequest'
      tags:
      - Transit Gateway
components:
  schemas:
    DeleteTransitGatewayRequest:
      type: object
      properties:
        TransitGatewayId:
          type: string
          description: The ID of the transit gateway.
        DryRun:
          type: boolean
          description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
      required:
      - TransitGatewayId
    TransitGatewayRequestOptions:
      type: object
      properties:
        AmazonSideAsn:
          type: integer
          description: A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.
        AutoAcceptSharedAttachments:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable automatic acceptance of attachment requests. Disabled by default.
        DefaultRouteTableAssociation:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable automatic association with the default association route table. Enabled by default.
        DefaultRouteTablePropagation:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.
        VpnEcmpSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
        DnsSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable DNS support. Enabled by default.
        SecurityGroupReferencingSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. This option is disabled by default. For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.
        MulticastSupport:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether multicast is enabled on the transit gateway
        TransitGatewayCidrBlocks:
          type: array
          items:
            type: string
          description: One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: 'The key of the tag. Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.'
        Value:
          type: string
          description: 'The value of the tag. Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.'
    TransitGateway:
      type: object
      properties:
        TransitGatewayId:
          type: string
          description: The ID of the transit gateway.
        TransitGatewayArn:
          type: string
          description: The Amazon Resource Name (ARN) of the transit gateway.
        State:
          type: string
          enum:
          - pending
          - available
          - modifying
          - deleting
          - deleted
          description: The state of the transit gateway.
        OwnerId:
          type: string
          description: The ID of the Amazon Web Services account that owns the transit gateway.
        Description:
          type: string
          description: The description of the transit gateway.
        CreationTime:
          type: string
          format: date-time
          description: The creation time.
        Options:
          $ref: '#/components/schemas/TransitGatewayOptions'
        Tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: The tags for the transit gateway.
    EncryptionSupport:
      type: object
      properties:
        EncryptionState:
          type: string
          enum:
          - enabling
          - enabled
          - disabling
          - disabled
          description: The current encryption state of the resource.
        StateMessage:
          type: string
          description: A message describing the encryption state.
    ModifyTransitGatewayRequest:
      type: object
      properties:
        TransitGatewayId:
          type: string
          description: The ID of the transit gateway.
        Description:
          type: string
          description: The description for the transit gateway.
        Options:
          $ref: '#/components/schemas/ModifyTransitGatewayOptions'
        DryRun:
          type: boolean
          description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
      required:
      - TransitGatewayId
    CreateTransitGatewayResult:
      type: object
      properties:
        TransitGateway:
          $ref: '#/components/schemas/TransitGateway'
    TransitGatewayOptions:
      type: object
      properties:
        AmazonSideAsn:
          type: integer
          description: A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.
        TransitGatewayCidrBlocks:
          type: array
          items:
            type: string
          description: The transit gateway CIDR blocks.
        AutoAcceptSharedAttachments:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether attachment requests are automatically accepted.
        DefaultRouteTableAssociation:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether resource attachments are automatically associated with the default association route table. Enabled by default. Either defaultRouteTableAssociation or defaultRouteTablePropagation must be set to enable for Amazon Web Services Transit Gateway to create the default transit gateway route table.
        AssociationDefaultRouteTableId:
          type: string
          description: The ID of the default association route table.
        DefaultRouteTablePropagation:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether resource attachments automatically propagate routes to the default propagation route table. Enabled by default. If defaultRouteTablePropagation is set to enable, Amazon Web Services Transit Gateway creates the default transit gateway route table.
        PropagationDefaultRouteTableId:
          type: string
          description: The ID of the default propagation route table.
        VpnEcmpSupport:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether Equal Cost Multipath Protocol support is enabled.
        DnsSupport:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether DNS support is enabled.
        SecurityGroupReferencingSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. This option is disabled by default.
        MulticastSupport:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether multicast is enabled on the transit gateway
        EncryptionSupport:
          $ref: '#/components/schemas/EncryptionSupport'
    ModifyTransitGatewayOptions:
      type: object
      properties:
        AddTransitGatewayCidrBlocks:
          type: array
          items:
            type: string
          description: Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.
        RemoveTransitGatewayCidrBlocks:
          type: array
          items:
            type: string
          description: Removes CIDR blocks for the transit gateway.
        VpnEcmpSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable Equal Cost Multipath Protocol support.
        DnsSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable DNS support.
        SecurityGroupReferencingSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management. This option is disabled by default. For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.
        AutoAcceptSharedAttachments:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable automatic acceptance of attachment requests.
        DefaultRouteTableAssociation:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable automatic association with the default association route table.
        AssociationDefaultRouteTableId:
          type: string
          description: The ID of the default association route table.
        DefaultRouteTablePropagation:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether resource attachments automatically propagate routes to the default propagation route table. Enabled by default. If defaultRouteTablePropagation is set to enable, Amazon Web Services Transit Gateway will create the default transit gateway route table.
        PropagationDefaultRouteTableId:
          type: string
          description: The ID of the default propagation route table.
        AmazonSideAsn:
          type: integer
          description: 'A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The modify ASN operation is not allowed on a transit gateway if it has the following attachments: Dynamic VPN Static VPN Direct Connect Gateway Connect VPN Concentrator Client VPN You must first delete all transit gateway attachments configured prior to modifying the ASN on the transit gateway.'
        EncryptionSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable encryption support for VPC Encryption Control.
    DescribeTransitGatewaysResult:
      type: object
      properties:
        TransitGateways:
          type: array
          items:
            $ref: '#/components/schemas/TransitGateway'
          description: Information about the transit gateways.
        NextToken:
          type: string
          description: The token to use to retrieve the next page of results. This value is null when there are no more results to return.
    DescribeTransitGatewaysRequest:
      type: object
      properties:
        TransitGatewayIds:
          type: array
          items:
            type: string
          description: The IDs of the transit gateways.
        Filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
          description: 'One or more filters. The possible values are: options.propagation-default-route-table-id - The ID of the default propagation route table. options.amazon-side-asn - The private ASN for the Amazon side of a BGP session. options.association-default-route-table-id - The ID of the default association route table. options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable). options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable'
        MaxResults:
          type: integer
          description: The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
        NextToken:
          type: string
          description: The token for the next page of results.
        DryRun:
          type: boolean
          description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
    TagSpecification:
      type: object
      properties:
        ResourceType:
          type: string
          enum:
          - capacity-reservation
          - client-vpn-endpoint
          - customer-gateway
          - carrier-gateway
          - coip-pool
          - declarative-policies-report
          - dedicated-host
          - dhcp-options
          - egress-only-internet-gateway
          - elastic-ip
          - elastic-gpu
          - export-image-task
          - export-instance-task
          - fleet
          - fpga-image
          - host-reservation
          - image
          - image-usage-report
          - import-image-task
          - import-snapshot-task
          - instance
          - instance-event-window
          - internet-gateway
          - ipam
          - ipam-pool
          - ipam-scope
          - ipv4pool-ec2
          - ipv6pool-ec2
          - key-pair
          - launch-template
          - local-gateway
          - local-gateway-route-table
          - local-gateway-virtual-interface
          - local-gateway-virtual-interface-group
          - local-gateway-route-table-vpc-association
          - local-gateway-route-table-virtual-interface-group-association
          - natgateway
          - network-acl
          - network-interface
          - network-insights-analysis
          - network-insights-path
          - network-insights-access-scope
          - network-insights-access-scope-analysis
          - outpost-lag
          - placement-group
          - prefix-list
          - replace-root-volume-task
          - reserved-instances
          - route-table
          - security-group
          - security-group-rule
          - service-link-virtual-interface
          - snapshot
          - spot-fleet-request
          - spot-instances-request
          - subnet
          - subnet-cidr-reservation
          - traffic-mirror-filter
          - traffic-mirror-session
          - traffic-mirror-target
          - transit-gateway
          - transit-gateway-attachment
          - transit-gateway-connect-peer
          - transit-gateway-multicast-domain
          - transit-gateway-policy-table
          - transit-gateway-metering-policy
          - transit-gateway-route-table
          - transit-gateway-route-table-announcement
          - volume
          - vpc
          - vpc-endpoint
          - vpc-endpoint-connection
          - vpc-endpoint-service
          - vpc-endpoint-service-permission
          - vpc-peering-connection
          - vpn-connection
          - vpn-gateway
          - vpc-flow-log
          - capacity-reservation-fleet
          - traffic-mirror-filter-rule
          - vpc-endpoint-connection-device-type
          - verified-access-instance
          - verified-access-group
          - verified-access-endpoint
          - verified-access-policy
          - verified-access-trust-provider
          - vpn-connection-device-type
          - vpc-block-public-access-exclusion
          - vpc-encryption-control
          - route-server
          - route-server-endpoint
          - route-server-peer
          - ipam-resource-discovery
          - ipam-resource-discovery-association
          - instance-connect-endpoint
          - verified-access-endpoint-target
          - ipam-external-resource-verification-token
          - capacity-block
          - mac-modification-task
          - ipam-prefix-list-resolver
          - ipam-policy
          - ipam-prefix-list-resolver-target
          - ipam-internet-registry-association
          - secondary-interface
          - secondary-network
          - secondary-subnet
          - capacity-manager-data-export
          - vpn-concentrator
          - ipam-pool-allocation
          - capacity-reservation-cancellation-quote
          - application-status-check
          - capacity-reservation-modification-quote
          description: The type of resource to tag on creation.
        Tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: The tags to apply to the resource.
    ModifyTransitGatewayResult:
      type: object
      properties:
        TransitGateway:
          $ref: '#/components/schemas/TransitGateway'
    CreateTransitGatewayRequest:
      type: object
      properties:
        Description:
          type: string
          description: A description of the transit gateway.
        Options:
          $ref: '#/components/schemas/TransitGatewayRequestOptions'
        TagSpecifications:
          type: array
          items:
            $ref: '#/components/schemas/TagSpecification'
          description: The tags to apply to the transit gateway.
        DryRun:
          type: boolean
          description: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
    Filter:
      type: object
      properties:
        Name:
          type: string
          description: The name of the filter. Filter names are case-sensitive.
        Values:
          type: array
          items:
            type: string
          description: The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values.
    DeleteTransitGatewayResult:
      type: object
      properties:
        TransitGateway:
          $ref: '#/components/schemas/TransitGateway'
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: ec2
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/ec2/service/2016-11-15/ec2-2016-11-15.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)