Amazon EC2 Ec2 Transit Gateway Vpc Attachment API

The Ec2 Transit Gateway Vpc Attachment API from Amazon EC2 — 6 operation(s) for ec2 transit gateway vpc attachment.

Business capability
IT Infrastructure Management BC-600.50

Operations 6

POST /?Action=AcceptTransitGatewayVpcAttachment Accept Transit Gateway Vpc Attachment #
POST /?Action=CreateTransitGatewayVpcAttachment Create Transit Gateway Vpc Attachment #
POST /?Action=DeleteTransitGatewayVpcAttachment Delete Transit Gateway Vpc Attachment #
POST /?Action=DescribeTransitGatewayVpcAttachments Describe Transit Gateway Vpc Attachments #
POST /?Action=ModifyTransitGatewayVpcAttachment Modify Transit Gateway Vpc Attachment #
POST /?Action=RejectTransitGatewayVpcAttachment Reject Transit Gateway Vpc Attachment #

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-vpc-attachment-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-vpc-attachment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon Elastic Compute Cloud Transit Gateway Vpc Attachment…
  version: '2016-11-15'
  description: Generated from AWS's published Smithy model for Amazon Elastic Compute Cloud. 6 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 Vpc Attachment
paths:
  /?Action=AcceptTransitGatewayVpcAttachment:
    post:
      operationId: AcceptTransitGatewayVpcAttachment
      summary: Accept Transit Gateway Vpc Attachment
      description: Accepts a request to attach a VPC to a transit gateway. The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment to reject a VPC attachment request.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AcceptTransitGatewayVpcAttachmentResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: AcceptTransitGatewayVpcAttachment
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/AcceptTransitGatewayVpcAttachmentRequest'
      tags:
      - Transit Gateway Vpc Attachment
  /?Action=CreateTransitGatewayVpcAttachment:
    post:
      operationId: CreateTransitGatewayVpcAttachment
      summary: Create Transit Gateway Vpc Attachment
      description: Attaches the specified VPC to the specified transit gateway. If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached, the new VPC CIDR range is not propagated to the default propagation route table. To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CreateTransitGatewayVpcAttachmentResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: CreateTransitGatewayVpcAttachment
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/CreateTransitGatewayVpcAttachmentRequest'
      tags:
      - Transit Gateway Vpc Attachment
  /?Action=DeleteTransitGatewayVpcAttachment:
    post:
      operationId: DeleteTransitGatewayVpcAttachment
      summary: Delete Transit Gateway Vpc Attachment
      description: Deletes the specified VPC attachment.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DeleteTransitGatewayVpcAttachmentResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: DeleteTransitGatewayVpcAttachment
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/DeleteTransitGatewayVpcAttachmentRequest'
      tags:
      - Transit Gateway Vpc Attachment
  /?Action=DescribeTransitGatewayVpcAttachments:
    post:
      operationId: DescribeTransitGatewayVpcAttachments
      summary: Describe Transit Gateway Vpc Attachments
      description: Describes one or more VPC attachments. By default, all VPC attachments are described. Alternatively, you can filter the results.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DescribeTransitGatewayVpcAttachmentsResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: DescribeTransitGatewayVpcAttachments
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/DescribeTransitGatewayVpcAttachmentsRequest'
      tags:
      - Transit Gateway Vpc Attachment
  /?Action=ModifyTransitGatewayVpcAttachment:
    post:
      operationId: ModifyTransitGatewayVpcAttachment
      summary: Modify Transit Gateway Vpc Attachment
      description: Modifies the specified VPC attachment.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ModifyTransitGatewayVpcAttachmentResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: ModifyTransitGatewayVpcAttachment
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/ModifyTransitGatewayVpcAttachmentRequest'
      tags:
      - Transit Gateway Vpc Attachment
  /?Action=RejectTransitGatewayVpcAttachment:
    post:
      operationId: RejectTransitGatewayVpcAttachment
      summary: Reject Transit Gateway Vpc Attachment
      description: Rejects a request to attach a VPC to a transit gateway. The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment to accept a VPC attachment request.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/RejectTransitGatewayVpcAttachmentResult'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - type: object
                required:
                - Action
                - Version
                properties:
                  Action:
                    type: string
                    const: RejectTransitGatewayVpcAttachment
                  Version:
                    type: string
                    const: '2016-11-15'
              - $ref: '#/components/schemas/RejectTransitGatewayVpcAttachmentRequest'
      tags:
      - Transit Gateway Vpc Attachment
components:
  schemas:
    TransitGatewayVpcAttachment:
      type: object
      properties:
        TransitGatewayAttachmentId:
          type: string
          description: The ID of the attachment.
        TransitGatewayId:
          type: string
          description: The ID of the transit gateway.
        VpcId:
          type: string
          description: The ID of the VPC.
        VpcOwnerId:
          type: string
          description: The ID of the Amazon Web Services account that owns the VPC.
        State:
          type: string
          enum:
          - initiating
          - initiatingRequest
          - pendingAcceptance
          - rollingBack
          - pending
          - available
          - modifying
          - deleting
          - deleted
          - failed
          - rejected
          - rejecting
          - failing
          description: The state of the VPC attachment. Note that the initiating state has been deprecated.
        SubnetIds:
          type: array
          items:
            type: string
          description: The IDs of the subnets.
        CreationTime:
          type: string
          format: date-time
          description: The creation time.
        Options:
          $ref: '#/components/schemas/TransitGatewayVpcAttachmentOptions'
        Tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: The tags for the VPC attachment.
    DescribeTransitGatewayVpcAttachmentsResult:
      type: object
      properties:
        TransitGatewayVpcAttachments:
          type: array
          items:
            $ref: '#/components/schemas/TransitGatewayVpcAttachment'
          description: Information about the VPC attachments.
        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.
    DeleteTransitGatewayVpcAttachmentRequest:
      type: object
      properties:
        TransitGatewayAttachmentId:
          type: string
          description: The ID of the attachment.
        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:
      - TransitGatewayAttachmentId
    DescribeTransitGatewayVpcAttachmentsRequest:
      type: object
      properties:
        TransitGatewayAttachmentIds:
          type: array
          items:
            type: string
          description: The IDs of the attachments.
        Filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
          description: 'One or more filters. The possible values are: state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting. transit-gateway-attachment-id - The ID of the attachment. transit-gateway-id - The ID of the transit gateway. vpc-id - The ID of the VPC.'
        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.
    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.
    CreateTransitGatewayVpcAttachmentRequestOptions:
      type: object
      properties:
        DnsSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable DNS support. The default is enable.
        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 set to enable by default. However, at the transit gateway level the default is set to disable. For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.
        Ipv6Support:
          type: string
          enum:
          - enable
          - disable
          description: Specifies whether IPv6 support is enabled for the attachment. When enabled, the transit gateway network interface receives an IPv6 address. When you enable route propagation, IPv6 VPC CIDRs propagate to the transit gateway route tables. When disabled, the network interface does not receive an IPv6 address, and IPv6 routes do not propagate. The setting does not filter IPv6 traffic. The default is disable.
        ApplianceModeSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.
    CreateTransitGatewayVpcAttachmentRequest:
      type: object
      properties:
        TransitGatewayId:
          type: string
          description: The ID of the transit gateway.
        VpcId:
          type: string
          description: The ID of the VPC.
        SubnetIds:
          type: array
          items:
            type: string
          description: The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.
        Options:
          $ref: '#/components/schemas/CreateTransitGatewayVpcAttachmentRequestOptions'
        TagSpecifications:
          type: array
          items:
            $ref: '#/components/schemas/TagSpecification'
          description: The tags to apply to the VPC attachment.
        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
      - VpcId
      - SubnetIds
    RejectTransitGatewayVpcAttachmentResult:
      type: object
      properties:
        TransitGatewayVpcAttachment:
          $ref: '#/components/schemas/TransitGatewayVpcAttachment'
    RejectTransitGatewayVpcAttachmentRequest:
      type: object
      properties:
        TransitGatewayAttachmentId:
          type: string
          description: The ID of the attachment.
        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:
      - TransitGatewayAttachmentId
    TransitGatewayVpcAttachmentOptions:
      type: object
      properties:
        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 enabled by default. For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.
        Ipv6Support:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether IPv6 support is disabled.
        ApplianceModeSupport:
          type: string
          enum:
          - enable
          - disable
          description: Indicates whether appliance mode support is enabled.
    AcceptTransitGatewayVpcAttachmentRequest:
      type: object
      properties:
        TransitGatewayAttachmentId:
          type: string
          description: The ID of the attachment.
        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:
      - TransitGatewayAttachmentId
    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.
    ModifyTransitGatewayVpcAttachmentRequestOptions:
      type: object
      properties:
        DnsSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable DNS support. The default is enable.
        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.
        Ipv6Support:
          type: string
          enum:
          - enable
          - disable
          description: Specifies whether IPv6 support is enabled for the attachment. When enabled, the transit gateway network interface receives an IPv6 address. When you enable route propagation, IPv6 VPC CIDRs propagate to the transit gateway route tables. When disabled, the network interface does not receive an IPv6 address, and IPv6 routes do not propagate. The setting does not filter IPv6 traffic.
        ApplianceModeSupport:
          type: string
          enum:
          - enable
          - disable
          description: Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.
    CreateTransitGatewayVpcAttachmentResult:
      type: object
      properties:
        TransitGatewayVpcAttachment:
          $ref: '#/components/schemas/TransitGatewayVpcAttachment'
    AcceptTransitGatewayVpcAttachmentResult:
      type: object
      properties:
        TransitGatewayVpcAttachment:
          $ref: '#/components/schemas/TransitGatewayVpcAttachment'
    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.'
    ModifyTransitGatewayVpcAttachmentRequest:
      type: object
      properties:
        TransitGatewayAttachmentId:
          type: string
          description: The ID of the attachment.
        AddSubnetIds:
          type: array
          items:
            type: string
          description: The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.
        RemoveSubnetIds:
          type: array
          items:
            type: string
          description: The IDs of one or more subnets to remove.
        Options:
          $ref: '#/components/schemas/ModifyTransitGatewayVpcAttachmentRequestOptions'
        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:
      - TransitGatewayAttachmentId
    DeleteTransitGatewayVpcAttachmentResult:
      type: object
      properties:
        TransitGatewayVpcAttachment:
          $ref: '#/components/schemas/TransitGatewayVpcAttachment'
    ModifyTransitGatewayVpcAttachmentResult:
      type: object
      properties:
        TransitGatewayVpcAttachment:
          $ref: '#/components/schemas/TransitGatewayVpcAttachment'
  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)