Amazon Route 53 Hosted Zones API
Operations for managing DNS hosted zones.
Operations for managing DNS hosted zones.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/amazon-route-53:amazon-route-53-hosted-zones-api"
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.
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: 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)