Amazon API Gateway Domain Names API

Operations for managing custom domain names

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

amazon-api-gateway-domain-names-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon API Gateway REST API Keys Domain Names API
  description: The Amazon API Gateway REST API enables programmatic management of API Gateway resources. You can create, configure, and manage REST APIs, stages, deployments, authorizers, models, resources, methods, and integrations through this management interface.
  version: '2015-07-09'
  contact:
    name: AWS Support
    url: https://aws.amazon.com/premiumsupport/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://a0.awsstatic.com/libra-css/images/logos/aws_logo_smile_1200x630.png
servers:
- url: https://apigateway.{region}.amazonaws.com
  description: Amazon API Gateway regional endpoint
  variables:
    region:
      default: us-east-1
      description: AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-southeast-1
      - ap-southeast-2
      - ap-south-1
      - sa-east-1
      - ca-central-1
security:
- sigv4: []
tags:
- name: Domain Names
  description: Operations for managing custom domain names
paths:
  /domainnames:
    get:
      operationId: GetDomainNames
      summary: Amazon API Gateway List Custom Domain Names
      description: Returns information about all custom domain names.
      tags:
      - Domain Names
      parameters:
      - $ref: '#/components/parameters/Position'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Successful response with list of domain names
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainNames'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    post:
      operationId: CreateDomainName
      summary: Amazon API Gateway Create a Custom Domain Name
      description: Creates a new custom domain name.
      tags:
      - Domain Names
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDomainNameRequest'
      responses:
        '201':
          description: Domain name created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainName'
        '400':
          $ref: '#/components/responses/BadRequest'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /domainnames/{domain_name}:
    get:
      operationId: GetDomainName
      summary: Amazon API Gateway Get a Custom Domain Name
      description: Returns information about a specific custom domain name.
      tags:
      - Domain Names
      parameters:
      - $ref: '#/components/parameters/DomainNameParam'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainName'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    patch:
      operationId: UpdateDomainName
      summary: Amazon API Gateway Update a Custom Domain Name
      description: Updates an existing custom domain name.
      tags:
      - Domain Names
      parameters:
      - $ref: '#/components/parameters/DomainNameParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchOperations'
      responses:
        '200':
          description: Domain name updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainName'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    delete:
      operationId: DeleteDomainName
      summary: Amazon API Gateway Delete a Custom Domain Name
      description: Deletes the specified custom domain name.
      tags:
      - Domain Names
      parameters:
      - $ref: '#/components/parameters/DomainNameParam'
      responses:
        '202':
          description: Domain name deletion accepted
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
      schema:
        type: integer
        minimum: 1
        maximum: 500
        default: 25
    DomainNameParam:
      name: domain_name
      in: path
      required: true
      description: The custom domain name.
      schema:
        type: string
    Position:
      name: position
      in: query
      description: The current pagination position in the paged result set. Used for cursor-based pagination.
      schema:
        type: string
  responses:
    TooManyRequests:
      description: The request rate has exceeded the allowed limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request is invalid or malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The specified resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Conflict:
      description: The request conflicts with the current state of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    DomainName:
      type: object
      properties:
        domainName:
          type: string
        certificateName:
          type: string
        certificateArn:
          type: string
        certificateUploadDate:
          type: string
          format: date-time
        regionalDomainName:
          type: string
        regionalHostedZoneId:
          type: string
        regionalCertificateName:
          type: string
        regionalCertificateArn:
          type: string
        distributionDomainName:
          type: string
        distributionHostedZoneId:
          type: string
        endpointConfiguration:
          $ref: '#/components/schemas/EndpointConfiguration'
        domainNameStatus:
          type: string
          enum:
          - AVAILABLE
          - UPDATING
          - PENDING
          - PENDING_CERTIFICATE_REIMPORT
          - PENDING_OWNERSHIP_VERIFICATION
        domainNameStatusMessage:
          type: string
        securityPolicy:
          type: string
          enum:
          - TLS_1_0
          - TLS_1_2
        tags:
          type: object
          additionalProperties:
            type: string
        mutualTlsAuthentication:
          type: object
          properties:
            truststoreUri:
              type: string
            truststoreVersion:
              type: string
            truststoreWarnings:
              type: array
              items:
                type: string
    EndpointConfiguration:
      type: object
      properties:
        types:
          type: array
          items:
            type: string
            enum:
            - REGIONAL
            - EDGE
            - PRIVATE
          description: A list of endpoint types of an API or its custom domain name.
        vpcEndpointIds:
          type: array
          items:
            type: string
          description: A list of VPC endpoint IDs of an API against which to create Route53 ALIASes.
    CreateDomainNameRequest:
      type: object
      required:
      - domainName
      properties:
        domainName:
          type: string
        certificateName:
          type: string
        certificateBody:
          type: string
        certificatePrivateKey:
          type: string
        certificateChain:
          type: string
        certificateArn:
          type: string
        regionalCertificateName:
          type: string
        regionalCertificateArn:
          type: string
        endpointConfiguration:
          $ref: '#/components/schemas/EndpointConfiguration'
        tags:
          type: object
          additionalProperties:
            type: string
        securityPolicy:
          type: string
          enum:
          - TLS_1_0
          - TLS_1_2
        mutualTlsAuthentication:
          type: object
          properties:
            truststoreUri:
              type: string
            truststoreVersion:
              type: string
    DomainNames:
      type: object
      properties:
        position:
          type: string
        item:
          type: array
          items:
            $ref: '#/components/schemas/DomainName'
    PatchOperation:
      type: object
      properties:
        op:
          type: string
          enum:
          - add
          - remove
          - replace
          - move
          - copy
          - test
          description: The operation type.
        path:
          type: string
          description: The op operation's target, as identified by a JSON Pointer value.
        value:
          type: string
          description: The new target value of the update operation. It is applicable for the add or replace operation.
        from:
          type: string
          description: The copy update operation's source as identified by a JSON Pointer value.
    PatchOperations:
      type: object
      properties:
        patchOperations:
          type: array
          items:
            $ref: '#/components/schemas/PatchOperation'
    Error:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message.
        code:
          type: string
          description: The error code.
  securitySchemes:
    sigv4:
      type: apiKey
      name: Authorization
      in: header
      description: AWS Signature Version 4 authentication