CloudFront Vpc Origin API

The Vpc Origin API from CloudFront — 2 operation(s) for vpc origin.

Operations 5

POST /2020-05-31/vpc-origin Create Vpc Origin #
GET /2020-05-31/vpc-origin List Vpc Origins #
DELETE /2020-05-31/vpc-origin/{Id} Delete Vpc Origin #
GET /2020-05-31/vpc-origin/{Id} Get Vpc Origin #
PUT /2020-05-31/vpc-origin/{Id} Update Vpc Origin #

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/cloudfront:cloudfront-vpc-origin-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

cloudfront-vpc-origin-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon CloudFront Vpc Origin API
  version: '2020-05-31'
  description: Generated from AWS's published Smithy model for Amazon CloudFront. 5 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://cloudfront.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /2020-05-31/vpc-origin:
    post:
      operationId: CreateVpcOrigin
      summary: Create Vpc Origin
      description: Create an Amazon CloudFront VPC origin.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CreateVpcOriginResult'
              example:
                VpcOrigin:
                  Status: Deploying
                  VpcOriginEndpointConfig:
                    Name: my-vpcorigin-name
                    OriginSslProtocols:
                      Items:
                      - TLSv1.1
                      - TLSv1.2
                      Quantity: 2
                    OriginProtocolPolicy: match-viewer
                    HTTPPort: 80
                    HTTPSPort: 443
                    Arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d
                  CreatedTime: '2024-10-15T17:19:42.318Z'
                  LastModifiedTime: '2024-10-15T17:19:42.318Z'
                  Id: vo_BQwjxxQxjCaBcQLzJUFkDM
                  Arn: arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM
                ETag: E23ZP02F085DFQ
                Location: https://cloudfront.amazonaws.com/2020-05-31/vpc-origin/vo_BQwjxxQxjCaBcQLzJUFkDM
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: EntityAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/EntityAlreadyExists'
        '400':
          description: EntityLimitExceeded; InconsistentQuantities; InvalidArgument; InvalidTagging; UnsupportedOperation
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/EntityLimitExceeded'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateVpcOriginRequest'
            example:
              VpcOriginEndpointConfig:
                Name: my-vpcorigin-name
                Arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d
                HTTPPort: 80
                HTTPSPort: 443
                OriginProtocolPolicy: match-viewer
                OriginSslProtocols:
                  Quantity: 2
                  Items:
                  - TLSv1.1
                  - TLSv1.2
      tags:
      - Vpc Origin
    get:
      operationId: ListVpcOrigins
      summary: List Vpc Origins
      description: List the CloudFront VPC origins in your account.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ListVpcOriginsResult'
              example:
                VpcOriginList:
                  Items:
                  - Status: Deployed
                    Name: my-vpcorigin-name
                    CreatedTime: '2024-10-15T17:19:42.318Z'
                    LastModifiedTime: '2024-10-15T17:24:35.188Z'
                    Id: vo_BQwjxxQxjCaBcQLzJUFkDM
                    Arn: arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM
                    OriginEndpointArn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d
                  MaxItems: 100
                  Quantity: 1
                  Marker: a
                  IsTruncated: true
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '404':
          description: EntityNotFound
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/EntityNotFound'
        '400':
          description: InvalidArgument; UnsupportedOperation
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/ListVpcOriginsRequest'
      tags:
      - Vpc Origin
  /2020-05-31/vpc-origin/{Id}:
    delete:
      operationId: DeleteVpcOrigin
      summary: Delete Vpc Origin
      description: Delete an Amazon CloudFront VPC origin.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DeleteVpcOriginResult'
              example:
                VpcOrigin:
                  Status: Deploying
                  VpcOriginEndpointConfig:
                    Name: my-vpcorigin-name
                    OriginSslProtocols:
                      Items:
                      - TLSv1.1
                      - TLSv1.2
                      Quantity: 2
                    OriginProtocolPolicy: match-viewer
                    HTTPPort: 80
                    HTTPSPort: 443
                    Arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d
                  CreatedTime: '2024-10-15T17:19:42.318Z'
                  LastModifiedTime: '2024-10-15T17:57:08.965Z'
                  Id: vo_BQwjxxQxjCaBcQLzJUFkDM
                  Arn: arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM
                ETag: E1PA6795UKMFR9
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: CannotDeleteEntityWhileInUse
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CannotDeleteEntityWhileInUse'
        '404':
          description: EntityNotFound
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/EntityNotFound'
        '400':
          description: IllegalDelete; InvalidArgument; InvalidIfMatchVersion; UnsupportedOperation
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/IllegalDelete'
        '412':
          description: PreconditionFailed
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PreconditionFailed'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/DeleteVpcOriginRequest'
            example:
              Id: vo_BQwjxxQxjCaBcQLzJUFkDM
              IfMatch: E1F83G8C2ARO7P
      tags:
      - Vpc Origin
    get:
      operationId: GetVpcOrigin
      summary: Get Vpc Origin
      description: Get the details of an Amazon CloudFront VPC origin.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetVpcOriginResult'
              example:
                VpcOrigin:
                  Status: Deployed
                  VpcOriginEndpointConfig:
                    Name: my-vpcorigin-name
                    OriginSslProtocols:
                      Items:
                      - TLSv1.1
                      - TLSv1.2
                      Quantity: 2
                    OriginProtocolPolicy: match-viewer
                    HTTPPort: 80
                    HTTPSPort: 443
                    Arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d
                  CreatedTime: '2024-10-15T17:19:42.318Z'
                  LastModifiedTime: '2024-10-15T17:24:35.188Z'
                  Id: vo_BQwjxxQxjCaBcQLzJUFkDM
                  Arn: arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM
                ETag: ETVPDKIKX0DER
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '404':
          description: EntityNotFound
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/EntityNotFound'
        '400':
          description: InvalidArgument; UnsupportedOperation
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetVpcOriginRequest'
            example:
              Id: vo_BQwjxxQxjCaBcQLzJUFkDM
      tags:
      - Vpc Origin
    put:
      operationId: UpdateVpcOrigin
      summary: Update Vpc Origin
      description: Update an Amazon CloudFront VPC origin in your account.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/UpdateVpcOriginResult'
              example:
                VpcOrigin:
                  Status: Deploying
                  VpcOriginEndpointConfig:
                    Name: my-vpcorigin-name
                    OriginSslProtocols:
                      Items:
                      - TLSv1.1
                      - TLSv1.2
                      Quantity: 2
                    OriginProtocolPolicy: match-viewer
                    HTTPPort: 80
                    HTTPSPort: 443
                    Arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d
                  CreatedTime: '2024-10-15T17:19:42.318Z'
                  LastModifiedTime: '2024-10-15T17:47:08.133Z'
                  Id: vo_BQwjxxQxjCaBcQLzJUFkDM
                  Arn: arn:aws:cloudfront::123456789012:vpcorigin/vo_BQwjxxQxjCaBcQLzJUFkDM
                ETag: E3UN6WX5RRO2AG
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: CannotUpdateEntityWhileInUse; EntityAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CannotUpdateEntityWhileInUse'
        '400':
          description: EntityLimitExceeded; IllegalUpdate; InconsistentQuantities; InvalidArgument; InvalidIfMatchVersion;
            UnsupportedOperation
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/EntityLimitExceeded'
        '404':
          description: EntityNotFound
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/EntityNotFound'
        '412':
          description: PreconditionFailed
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PreconditionFailed'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateVpcOriginRequest'
            example:
              VpcOriginEndpointConfig:
                Name: my-vpcorigin-name
                Arn: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-alb-us-west-2/e6aa5c7d26415c6d
                HTTPPort: 80
                HTTPSPort: 443
                OriginProtocolPolicy: match-viewer
                OriginSslProtocols:
                  Quantity: 2
                  Items:
                  - TLSv1.1
                  - TLSv1.2
              Id: vo_BQwjxxQxjCaBcQLzJUFkDM
              IfMatch: ETVPDKIKX0DER
      tags:
      - Vpc Origin
components:
  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: cloudfront
  schemas:
    AccessDenied:
      type: object
      properties:
        Message:
          type: string
    CannotDeleteEntityWhileInUse:
      type: object
      properties:
        Message:
          type: string
    CannotUpdateEntityWhileInUse:
      type: object
      properties:
        Message:
          type: string
    CreateVpcOriginRequest:
      type: object
      properties:
        VpcOriginEndpointConfig:
          $ref: '#/components/schemas/VpcOriginEndpointConfig'
        Tags:
          $ref: '#/components/schemas/Tags'
      required:
      - VpcOriginEndpointConfig
    CreateVpcOriginResult:
      type: object
      properties:
        VpcOrigin:
          $ref: '#/components/schemas/VpcOrigin'
        Location:
          type: string
          description: The VPC origin location.
        ETag:
          type: string
          description: The VPC origin ETag.
    DeleteVpcOriginRequest:
      type: object
      properties:
        Id:
          type: string
          description: The VPC origin ID.
        IfMatch:
          type: string
          description: The version identifier of the VPC origin to delete. This is the ETag value returned in the response
            to GetVpcOrigin.
      required:
      - Id
      - IfMatch
    DeleteVpcOriginResult:
      type: object
      properties:
        VpcOrigin:
          $ref: '#/components/schemas/VpcOrigin'
        ETag:
          type: string
          description: The VPC origin ETag.
    EntityAlreadyExists:
      type: object
      properties:
        Message:
          type: string
    EntityLimitExceeded:
      type: object
      properties:
        Message:
          type: string
    EntityNotFound:
      type: object
      properties:
        Message:
          type: string
    GetVpcOriginRequest:
      type: object
      properties:
        Id:
          type: string
          description: The VPC origin ID.
      required:
      - Id
    GetVpcOriginResult:
      type: object
      properties:
        VpcOrigin:
          $ref: '#/components/schemas/VpcOrigin'
        ETag:
          type: string
          description: The VPC origin ETag.
    IllegalDelete:
      type: object
      properties:
        Message:
          type: string
    InvalidArgument:
      type: object
      properties:
        Message:
          type: string
    ListVpcOriginsRequest:
      type: object
      properties:
        Marker:
          type: string
          description: The marker associated with the VPC origins list.
        MaxItems:
          type: integer
          description: The maximum number of items included in the list.
    ListVpcOriginsResult:
      type: object
      properties:
        VpcOriginList:
          $ref: '#/components/schemas/VpcOriginList'
    OriginSslProtocols:
      type: object
      properties:
        Quantity:
          type: integer
          description: The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS
            connection with this origin.
        Items:
          type: array
          items:
            type: string
            enum:
            - SSLv3
            - TLSv1
            - TLSv1.1
            - TLSv1.2
          description: A list that contains allowed SSL/TLS protocols for this distribution.
      required:
      - Quantity
      - Items
    PreconditionFailed:
      type: object
      properties:
        Message:
          type: string
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: 'A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters
            include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.'
        Value:
          type: string
          description: 'A string that contains an optional Tag value. The string length should be between 0 and 256 characters.
            Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.'
      required:
      - Key
    Tags:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: A complex type that contains Tag elements.
    UpdateVpcOriginRequest:
      type: object
      properties:
        VpcOriginEndpointConfig:
          $ref: '#/components/schemas/VpcOriginEndpointConfig'
        Id:
          type: string
          description: The VPC origin ID.
        IfMatch:
          type: string
          description: The VPC origin to update, if a match occurs.
      required:
      - VpcOriginEndpointConfig
      - Id
      - IfMatch
    UpdateVpcOriginResult:
      type: object
      properties:
        VpcOrigin:
          $ref: '#/components/schemas/VpcOrigin'
        ETag:
          type: string
          description: The VPC origin ETag.
    VpcOrigin:
      type: object
      properties:
        Id:
          type: string
          description: The VPC origin ID.
        Arn:
          type: string
          description: The VPC origin ARN.
        AccountId:
          type: string
          description: The account ID of the Amazon Web Services account that owns the VPC origin.
        Status:
          type: string
          description: The VPC origin status.
        CreatedTime:
          type: string
          format: date-time
          description: The VPC origin created time.
        LastModifiedTime:
          type: string
          format: date-time
          description: The VPC origin last modified time.
        VpcOriginEndpointConfig:
          $ref: '#/components/schemas/VpcOriginEndpointConfig'
      required:
      - Id
      - Arn
      - Status
      - CreatedTime
      - LastModifiedTime
      - VpcOriginEndpointConfig
    VpcOriginEndpointConfig:
      type: object
      properties:
        Name:
          type: string
          description: The name of the CloudFront VPC origin endpoint configuration.
        Arn:
          type: string
          description: The ARN of the CloudFront VPC origin endpoint configuration.
        HTTPPort:
          type: integer
          description: The HTTP port for the CloudFront VPC origin endpoint configuration. The default value is 80.
        HTTPSPort:
          type: integer
          description: The HTTPS port of the CloudFront VPC origin endpoint configuration. The default value is 443.
        OriginProtocolPolicy:
          type: string
          enum:
          - http-only
          - match-viewer
          - https-only
          description: The origin protocol policy for the CloudFront VPC origin endpoint configuration.
        OriginSslProtocols:
          $ref: '#/components/schemas/OriginSslProtocols'
        IpAddressType:
          type: string
          enum:
          - ipv4
          - dualstack
          description: The IP address type of the CloudFront VPC origin endpoint configuration. Valid values are ipv4 and
            dualstack. IPv6-only is not supported for VPC origins.
      required:
      - Name
      - Arn
      - HTTPPort
      - HTTPSPort
      - OriginProtocolPolicy
    VpcOriginList:
      type: object
      properties:
        Marker:
          type: string
          description: The marker associated with the VPC origins list.
        NextMarker:
          type: string
          description: The next marker associated with the VPC origins list.
        MaxItems:
          type: integer
          description: The maximum number of items included in the list.
        IsTruncated:
          type: boolean
          description: A flag that indicates whether more VPC origins remain to be listed. If your results were truncated,
            you can make a follow-up pagination request using the Marker request parameter to retrieve more VPC origins in
            the list.
        Quantity:
          type: integer
          description: The number of VPC origins in the list.
        Items:
          type: array
          items:
            $ref: '#/components/schemas/VpcOriginSummary'
          description: The items of the VPC origins list.
      required:
      - Marker
      - MaxItems
      - IsTruncated
      - Quantity
    VpcOriginSummary:
      type: object
      properties:
        Id:
          type: string
          description: The VPC origin summary ID.
        Name:
          type: string
          description: The VPC origin summary name.
        Status:
          type: string
          description: The VPC origin summary status.
        CreatedTime:
          type: string
          format: date-time
          description: The VPC origin summary created time.
        LastModifiedTime:
          type: string
          format: date-time
          description: The VPC origin summary last modified time.
        Arn:
          type: string
          description: The VPC origin summary ARN.
        AccountId:
          type: string
          description: The account ID of the Amazon Web Services account that owns the VPC origin.
        OriginEndpointArn:
          type: string
          description: The VPC origin summary origin endpoint ARN.
        IpAddressType:
          type: string
          enum:
          - ipv4
          - dualstack
          description: The IP address type of the CloudFront VPC origin. Valid values are ipv4 and dualstack. IPv6-only is
            not supported for VPC origins.
      required:
      - Id
      - Name
      - Status
      - CreatedTime
      - LastModifiedTime
      - Arn
      - OriginEndpointArn
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/cloudfront/service/2020-05-31/cloudfront-2020-05-31.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)