Amazon Route 53 Hosted Zones API

Operations for managing DNS hosted zones.

Operations 5

POST /2013-04-01/hostedzone Create Hosted Zone #
GET /2013-04-01/hostedzone List Hosted Zones #
DELETE /2013-04-01/hostedzone/{Id} Delete Hosted Zone #
GET /2013-04-01/hostedzone/{Id} Get Hosted Zone #
POST /2013-04-01/hostedzone/{Id} Update Hosted Zone Comment #

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-route-53:amazon-route-53-hosted-zones-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-route-53-hosted-zones-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Route 53 Hosted Zones API
  version: '2013-04-01'
  description: Generated from AWS's published Smithy model for Amazon Route 53. 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://route53.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /2013-04-01/hostedzone:
    post:
      operationId: CreateHostedZone
      summary: Create Hosted Zone
      description: 'Creates a new public or private hosted zone. You create records in a public hosted zone to define how
        you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com,
        acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain
        and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). You can''t convert a public hosted
        zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create
        new resource record sets. For more information about charges for hosted zones, see Amazon Route 53 Pricing. Note the
        following: You can''t create a hosted zone for a top-level domain (TLD) such as .com. For public hosted zones, Route
        53 automatically creates a default SOA record and four NS records for the zone. For more information about SOA and
        NS records, see NS and SOA Records that Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.
        If you want to use the same name servers for multiple public hosted zones, you can optionally associate a reusable
        delegation set with the hosted zone. See the Delegatio'
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CreateHostedZoneResponse'
        '400':
          description: ConflictingDomainExists; DelegationSetNotAvailable; DelegationSetNotReusable; InvalidDomainName; InvalidInput;
            InvalidVPCId; NoSuchDelegationSet; TooManyHostedZones
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ConflictingDomainExists'
        '409':
          description: HostedZoneAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/HostedZoneAlreadyExists'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateHostedZoneRequest'
      tags:
      - Hosted Zones
    get:
      operationId: ListHostedZones
      summary: List Hosted Zones
      description: Retrieves a list of the public and private hosted zones that are associated with the current Amazon Web
        Services account. The response includes a HostedZones child element for each hosted zone. Amazon Route 53 returns
        a maximum of 100 items in each response. If you have a lot of hosted zones, you can use the maxitems parameter to
        list them in groups of up to 100.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ListHostedZonesResponse'
        '400':
          description: DelegationSetNotReusable; InvalidInput; NoSuchDelegationSet
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DelegationSetNotReusable'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/ListHostedZonesRequest'
      tags:
      - Hosted Zones
  /2013-04-01/hostedzone/{Id}:
    delete:
      operationId: DeleteHostedZone
      summary: Delete Hosted Zone
      description: 'Deletes a hosted zone. If the hosted zone was created by another service, such as Cloud Map, see Deleting
        Public Hosted Zones That Were Created by Another Service in the Amazon Route 53 Developer Guide for information about
        how to delete it. (The process is the same for public and private hosted zones that were created by another service.)
        If you want to keep your domain registration but you want to stop routing internet traffic to your website or web
        application, we recommend that you delete resource record sets in the hosted zone instead of deleting the hosted zone.
        If you delete a hosted zone, you can''t undelete it. You must create a new hosted zone and update the name servers
        for your domain registration, which can require up to 48 hours to take effect. (If you delegated responsibility for
        a subdomain to a hosted zone and you delete the child hosted zone, you must update the name servers in the parent
        hosted zone.) In addition, if you delete a hosted zone, someone could hijack the domain and route traffic to their
        own resources using your domain name. If you want to avoid the monthly charge for the hosted zone, you can transfer
        DNS service for the domain to a free DNS service. '
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/DeleteHostedZoneResponse'
        '400':
          description: HostedZoneNotEmpty; InvalidDomainName; InvalidInput; PriorRequestNotComplete
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/HostedZoneNotEmpty'
        '404':
          description: NoSuchHostedZone
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchHostedZone'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/DeleteHostedZoneRequest'
      tags:
      - Hosted Zones
    get:
      operationId: GetHostedZone
      summary: Get Hosted Zone
      description: Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.
        returns the VPCs associated with the specified hosted zone and does not reflect the VPC associations by Route 53 Profiles.
        To get the associations to a Profile, call the ListProfileAssociations API.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetHostedZoneResponse'
              example:
                HostedZone:
                  ResourceRecordSetCount: 8
                  CallerReference: C741617D-04E4-F8DE-B9D7-0D150FC61C2E
                  Config:
                    PrivateZone: false
                  Id: /hostedzone/Z3M3LMPEXAMPLE
                  Name: myawsbucket.com.
                DelegationSet:
                  NameServers:
                  - ns-2048.awsdns-64.com
                  - ns-2049.awsdns-65.net
                  - ns-2050.awsdns-66.org
                  - ns-2051.awsdns-67.co.uk
        '400':
          description: InvalidInput
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidInput'
        '404':
          description: NoSuchHostedZone
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchHostedZone'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetHostedZoneRequest'
            example:
              Id: Z3M3LMPEXAMPLE
      tags:
      - Hosted Zones
    post:
      operationId: UpdateHostedZoneComment
      summary: Update Hosted Zone Comment
      description: Updates the comment for a specified hosted zone.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/UpdateHostedZoneCommentResponse'
        '400':
          description: InvalidInput; PriorRequestNotComplete
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidInput'
        '404':
          description: NoSuchHostedZone
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchHostedZone'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateHostedZoneCommentRequest'
      tags:
      - Hosted Zones
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: route53
  schemas:
    ChangeInfo:
      type: object
      properties:
        Id:
          type: string
          description: This element contains an ID that you use when performing a GetChange action to get detailed information
            about the change.
        Status:
          type: string
          enum:
          - PENDING
          - INSYNC
          description: The current state of the request. PENDING indicates that this request has not yet been applied to all
            Amazon Route 53 DNS servers.
        SubmittedAt:
          type: string
          format: date-time
          description: The date and time that the change request was submitted in ISO 8601 format and Coordinated Universal
            Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.
        Comment:
          type: string
          description: A comment you can provide.
      required:
      - Id
      - Status
      - SubmittedAt
    ConflictingDomainExists:
      type: object
      properties:
        message:
          type: string
    CreateHostedZoneRequest:
      type: object
      properties:
        Name:
          type: string
          description: The name of the domain. Specify a fully qualified domain name, for example, www.example.com. The trailing
            dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats
            www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical. If you're creating
            a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered
            with a registrar other than Route 53, change the name servers for your domain to the set of NameServers that CreateHostedZone
            returns in Delegati
        VPC:
          $ref: '#/components/schemas/VPC'
        CallerReference:
          type: string
          description: A unique string that identifies the request and that allows failed CreateHostedZone requests to be
            retried without the risk of executing the operation twice. You must use a unique CallerReference string every
            time you submit a CreateHostedZone request. CallerReference can be any unique string, for example, a date/time
            stamp.
        HostedZoneConfig:
          $ref: '#/components/schemas/HostedZoneConfig'
        DelegationSetId:
          type: string
          description: If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route
            53 assigned to the reusable delegation set when you created it. For more information about reusable delegation
            sets, see CreateReusableDelegationSet. If you are using a reusable delegation set to create a public hosted zone
            for a subdomain, make sure that the parent hosted zone doesn't use one or more of the same name servers. If you
            have overlapping nameservers, the operation will cause a ConflictingDomainsExist error.
      required:
      - Name
      - CallerReference
    CreateHostedZoneResponse:
      type: object
      properties:
        HostedZone:
          $ref: '#/components/schemas/HostedZone'
        ChangeInfo:
          $ref: '#/components/schemas/ChangeInfo'
        DelegationSet:
          $ref: '#/components/schemas/DelegationSet'
        VPC:
          $ref: '#/components/schemas/VPC'
        Location:
          type: string
          description: The unique URL representing the new hosted zone.
      required:
      - HostedZone
      - ChangeInfo
      - DelegationSet
      - Location
    DelegationSet:
      type: object
      properties:
        Id:
          type: string
          description: The ID that Amazon Route 53 assigns to a reusable delegation set.
        CallerReference:
          type: string
          description: The value that you specified for CallerReference when you created the reusable delegation set.
        NameServers:
          type: array
          items:
            type: string
          description: A complex type that contains a list of the authoritative name servers for a hosted zone or for a reusable
            delegation set.
      required:
      - NameServers
    DelegationSetNotReusable:
      type: object
      properties:
        message:
          type: string
    DeleteHostedZoneRequest:
      type: object
      properties:
        Id:
          type: string
          description: The ID of the hosted zone you want to delete.
      required:
      - Id
    DeleteHostedZoneResponse:
      type: object
      properties:
        ChangeInfo:
          $ref: '#/components/schemas/ChangeInfo'
      required:
      - ChangeInfo
    GetHostedZoneRequest:
      type: object
      properties:
        Id:
          type: string
          description: The ID of the hosted zone that you want to get information about.
      required:
      - Id
    GetHostedZoneResponse:
      type: object
      properties:
        HostedZone:
          $ref: '#/components/schemas/HostedZone'
        DelegationSet:
          $ref: '#/components/schemas/DelegationSet'
        VPCs:
          type: array
          items:
            $ref: '#/components/schemas/VPC'
          description: A complex type that contains information about the VPCs that are associated with the specified hosted
            zone.
      required:
      - HostedZone
    HostedZone:
      type: object
      properties:
        Id:
          type: string
          description: The ID that Amazon Route 53 assigned to the hosted zone when you created it.
        Name:
          type: string
          description: The name of the domain. For public hosted zones, this is the name that you have registered with your
            DNS registrar. For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to
            specify internationalized domain names, see CreateHostedZone.
        CallerReference:
          type: string
          description: The value that you specified for CallerReference when you created the hosted zone.
        Config:
          $ref: '#/components/schemas/HostedZoneConfig'
        ResourceRecordSetCount:
          type: integer
          description: The number of resource record sets in the hosted zone.
        LinkedService:
          $ref: '#/components/schemas/LinkedService'
        Features:
          $ref: '#/components/schemas/HostedZoneFeatures'
      required:
      - Id
      - Name
      - CallerReference
    HostedZoneAlreadyExists:
      type: object
      properties:
        message:
          type: string
    HostedZoneConfig:
      type: object
      properties:
        Comment:
          type: string
          description: Any comments that you want to include about the hosted zone.
        PrivateZone:
          type: boolean
          description: A value that indicates whether this is a private hosted zone.
    HostedZoneFailureReasons:
      type: object
      properties:
        AcceleratedRecovery:
          type: string
          description: The reason why accelerated recovery failed to be enabled or disabled for the hosted zone, if applicable.
    HostedZoneFeatures:
      type: object
      properties:
        AcceleratedRecoveryStatus:
          type: string
          enum:
          - ENABLING
          - ENABLE_FAILED
          - ENABLING_HOSTED_ZONE_LOCKED
          - ENABLED
          - DISABLING
          - DISABLE_FAILED
          - DISABLED
          - DISABLING_HOSTED_ZONE_LOCKED
          description: The current status of accelerated recovery for the hosted zone.
        FailureReasons:
          $ref: '#/components/schemas/HostedZoneFailureReasons'
    HostedZoneNotEmpty:
      type: object
      properties:
        message:
          type: string
    InvalidInput:
      type: object
      properties:
        message:
          type: string
    LinkedService:
      type: object
      properties:
        ServicePrincipal:
          type: string
          description: If the health check or hosted zone was created by another service, the service that created the resource.
            When a resource is created by another service, you can't edit or delete it using Amazon Route 53.
        Description:
          type: string
          description: If the health check or hosted zone was created by another service, an optional description that can
            be provided by the other service. When a resource is created by another service, you can't edit or delete it using
            Amazon Route 53.
    ListHostedZonesRequest:
      type: object
      properties:
        Marker:
          type: string
          description: If the value of IsTruncated in the previous response was true, you have more hosted zones. To get more
            hosted zones, submit another ListHostedZones request. For the value of marker, specify the value of NextMarker
            from the previous response, which is the ID of the first hosted zone that Amazon Route 53 will return if you submit
            another request. If the value of IsTruncated in the previous response was false, there are no more hosted zones
            to get.
        MaxItems:
          type: integer
          description: (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If you have
            more than maxitems hosted zones, the value of IsTruncated in the response is true, and the value of NextMarker
            is the hosted zone ID of the first hosted zone that Route 53 will return if you submit another request.
        DelegationSetId:
          type: string
          description: If you're using reusable delegation sets and you want to list all of the hosted zones that are associated
            with a reusable delegation set, specify the ID of that reusable delegation set.
        HostedZoneType:
          type: string
          enum:
          - PrivateHostedZone
          description: (Optional) Specifies if the hosted zone is private.
    ListHostedZonesResponse:
      type: object
      properties:
        HostedZones:
          type: array
          items:
            $ref: '#/components/schemas/HostedZone'
          description: A complex type that contains general information about the hosted zone.
        Marker:
          type: string
          description: For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for
            the marker parameter in the request that produced the current response.
        IsTruncated:
          type: boolean
          description: A flag indicating whether there are more hosted zones to be listed. If the response was truncated,
            you can get more hosted zones by submitting another ListHostedZones request and specifying the value of NextMarker
            in the marker parameter.
        NextMarker:
          type: string
          description: If IsTruncated is true, the value of NextMarker identifies the first hosted zone in the next group
            of hosted zones. Submit another ListHostedZones request, and specify the value of NextMarker from the response
            in the marker parameter. This element is present only if IsTruncated is true.
        MaxItems:
          type: integer
          description: The value that you specified for the maxitems parameter in the call to ListHostedZones that produced
            the current response.
      required:
      - HostedZones
      - Marker
      - IsTruncated
      - MaxItems
    NoSuchHostedZone:
      type: object
      properties:
        message:
          type: string
    UpdateHostedZoneCommentRequest:
      type: object
      properties:
        Id:
          type: string
          description: The ID for the hosted zone that you want to update the comment for.
        Comment:
          type: string
          description: The new comment for the hosted zone. If you don't specify a value for Comment, Amazon Route 53 deletes
            the existing value of the Comment element, if any.
      required:
      - Id
    UpdateHostedZoneCommentResponse:
      type: object
      properties:
        HostedZone:
          $ref: '#/components/schemas/HostedZone'
      required:
      - HostedZone
    VPC:
      type: object
      properties:
        VPCRegion:
          type: string
          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
          - eu-central-2
          - ap-east-1
          - me-south-1
          - us-gov-west-1
          - us-gov-east-1
          - us-iso-east-1
          - us-iso-west-1
          - us-isob-east-1
          - me-central-1
          - ap-southeast-1
          - ap-southeast-2
          - ap-southeast-3
          - ap-south-1
          - ap-south-2
          - ap-northeast-1
          - ap-northeast-2
          - ap-northeast-3
          - eu-north-1
          - sa-east-1
          - ca-central-1
          - cn-north-1
          - cn-northwest-1
          - af-south-1
          - eu-south-1
          - eu-south-2
          - ap-southeast-4
          - il-central-1
          - ca-west-1
          - ap-southeast-5
          - mx-central-1
          - us-isof-south-1
          - us-isof-east-1
          - ap-southeast-7
          - ap-east-2
          - eu-isoe-west-1
          - ap-southeast-6
          - us-isob-west-1
          - eusc-de-east-1
          description: (Private hosted zones only) The region that an Amazon VPC was created in.
        VPCId:
          type: string
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/route-53/service/2013-04-01/route-53-2013-04-01.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)