Amazon AppSync Domain Names API

Manage custom domain names for AppSync APIs

Specifications

Examples

Schemas & Data

Other Resources

OpenAPI Specification

amazon-appsync-domain-names-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon AppSync Api Keys Domain Names API
  description: The Amazon AppSync API enables programmatic management of GraphQL APIs, including creating and configuring data sources, resolvers, functions, API keys, types, and managing GraphQL schema definitions. AppSync makes it easy to build data-driven mobile and web applications.
  version: '2017-07-25'
  contact:
    name: AWS Support
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://appsync.us-east-1.amazonaws.com
  description: Amazon AppSync US East (N. Virginia)
- url: https://appsync.eu-west-1.amazonaws.com
  description: Amazon AppSync EU (Ireland)
security:
- awsAuth: []
tags:
- name: Domain Names
  description: Manage custom domain names for AppSync APIs
paths:
  /v1/domainnames:
    post:
      operationId: createDomainName
      summary: Amazon AppSync Create Domain Name
      description: Creates a custom DomainName object.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDomainNameRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  domainName: api.example.com
                  certificateArn: arn:aws:acm:us-east-1:123456789012:certificate/abc123
      responses:
        '200':
          description: Domain name created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDomainNameResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    domainNameConfig:
                      domainName: api.example.com
                      certificateArn: arn:aws:acm:us-east-1:123456789012:certificate/abc123
                      appsyncDomainName: d123456789.cloudfront.net
                      hostedZoneId: Z2FDTNDATAQYW2
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      operationId: listDomainNames
      summary: Amazon AppSync List Domain Names
      description: Lists multiple custom domain names.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      parameters:
      - name: nextToken
        in: query
        schema:
          type: string
      - name: maxResults
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: List of domain names
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDomainNamesResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    domainNameConfigs:
                    - domainName: api.example.com
                      appsyncDomainName: d123456789.cloudfront.net
                    nextToken: ''
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/domainnames/{domainName}:
    get:
      operationId: getDomainName
      summary: Amazon AppSync Get Domain Name
      description: Retrieves a custom DomainName object.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      parameters:
      - name: domainName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Domain name retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDomainNameResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    domainNameConfig:
                      domainName: api.example.com
                      appsyncDomainName: d123456789.cloudfront.net
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: updateDomainName
      summary: Amazon AppSync Update Domain Name
      description: Updates a custom DomainName object.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      parameters:
      - name: domainName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDomainNameRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  description: Updated domain name configuration
      responses:
        '200':
          description: Domain name updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateDomainNameResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    domainNameConfig:
                      domainName: api.example.com
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteDomainName
      summary: Amazon AppSync Delete Domain Name
      description: Deletes a custom DomainName object.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      parameters:
      - name: domainName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Domain name deleted
          content:
            application/json:
              schema:
                type: object
              examples:
                default:
                  x-microcks-default: true
                  value: {}
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/domainnames/{domainName}/apiassociation:
    post:
      operationId: associateApi
      summary: Amazon AppSync Associate Api
      description: Maps an endpoint to your custom domain.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      parameters:
      - name: domainName
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssociateApiRequest'
            examples:
              default:
                x-microcks-default: true
                value:
                  apiId: abc123def456
      responses:
        '200':
          description: API associated with domain name
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociateApiResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    apiAssociation:
                      domainName: api.example.com
                      apiId: abc123def456
                      associationStatus: SUCCESS
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: disassociateApi
      summary: Amazon AppSync Disassociate Api
      description: Removes an ApiAssociation object from a custom domain.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      parameters:
      - name: domainName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API disassociated from domain name
          content:
            application/json:
              schema:
                type: object
              examples:
                default:
                  x-microcks-default: true
                  value: {}
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      operationId: getApiAssociation
      summary: Amazon AppSync Get Api Association
      description: Retrieves an ApiAssociation object.
      tags:
      - Domain Names
      x-microcks-operation:
        delay: 100
        dispatcher: FALLBACK
      parameters:
      - name: domainName
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API association retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiAssociationResponse'
              examples:
                default:
                  x-microcks-default: true
                  value:
                    apiAssociation:
                      domainName: api.example.com
                      apiId: abc123def456
                      associationStatus: SUCCESS
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ListDomainNamesResponse:
      type: object
      description: Response with list of domain names
      properties:
        domainNameConfigs:
          type: array
          description: List of domain name configurations
          items:
            $ref: '#/components/schemas/DomainNameConfig'
        nextToken:
          type: string
          description: Pagination token
          example: ''
    ApiAssociation:
      type: object
      description: An association between a custom domain name and a GraphQL API
      properties:
        domainName:
          type: string
          description: The custom domain name
          example: api.example.com
        apiId:
          type: string
          description: The API ID
          example: abc123def456
        associationStatus:
          type: string
          description: The association status
          enum:
          - PROCESSING
          - FAILED
          - SUCCESS
          example: SUCCESS
        deploymentDetail:
          type: string
          description: Details about the deployment
          example: ''
    ErrorResponse:
      type: object
      description: Standard error response from the AppSync API
      properties:
        message:
          type: string
          description: Error message
          example: Resource not found
        errorType:
          type: string
          description: Error type
          example: NotFoundException
    AssociateApiRequest:
      type: object
      description: Request to associate an API with a domain name
      required:
      - apiId
      properties:
        apiId:
          type: string
          description: The API ID to associate
          example: abc123def456
    UpdateDomainNameRequest:
      type: object
      description: Request to update a domain name
      properties:
        description:
          type: string
          description: Updated description
          example: Updated domain name
    UpdateDomainNameResponse:
      type: object
      description: Response from updating a domain name
      properties:
        domainNameConfig:
          $ref: '#/components/schemas/DomainNameConfig'
    DomainNameConfig:
      type: object
      description: Configuration for a custom domain name
      properties:
        domainName:
          type: string
          description: The custom domain name
          example: api.example.com
        description:
          type: string
          description: Domain name description
          example: Production API endpoint
        certificateArn:
          type: string
          description: ACM certificate ARN
          example: arn:aws:acm:us-east-1:123456789012:certificate/abc123
        appsyncDomainName:
          type: string
          description: AppSync CNAME for DNS setup
          example: d123456789.cloudfront.net
        hostedZoneId:
          type: string
          description: Route 53 hosted zone ID
          example: Z2FDTNDATAQYW2
    AssociateApiResponse:
      type: object
      description: Response from associating an API with a domain name
      properties:
        apiAssociation:
          $ref: '#/components/schemas/ApiAssociation'
    GetApiAssociationResponse:
      type: object
      description: Response from getting an API association
      properties:
        apiAssociation:
          $ref: '#/components/schemas/ApiAssociation'
    CreateDomainNameRequest:
      type: object
      description: Request to create a custom domain name
      required:
      - domainName
      - certificateArn
      properties:
        domainName:
          type: string
          description: The custom domain name
          example: api.example.com
        certificateArn:
          type: string
          description: ACM certificate ARN
          example: arn:aws:acm:us-east-1:123456789012:certificate/abc123
        description:
          type: string
          description: Domain name description
          example: Production API endpoint
    CreateDomainNameResponse:
      type: object
      description: Response from creating a custom domain name
      properties:
        domainNameConfig:
          $ref: '#/components/schemas/DomainNameConfig'
    GetDomainNameResponse:
      type: object
      description: Response from getting a domain name
      properties:
        domainNameConfig:
          $ref: '#/components/schemas/DomainNameConfig'
  securitySchemes:
    awsAuth:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4 authentication