Amazon Route 53 Resource Record Sets API
Operations for managing DNS resource record sets.
Operations for managing DNS resource record sets.
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-resource-record-sets-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 Resource Record Sets API
version: '2013-04-01'
description: Generated from AWS's published Smithy model for Amazon Route 53. 2 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/{HostedZoneId}/rrset:
post:
operationId: ChangeResourceRecordSets
summary: Change Resource Record Sets
description: 'Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a
specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record
set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44. Deleting Resource
Record Sets To delete a resource record set, you must specify all the same values that you specified when you created
it. Change Batches and Transactional Changes The request body must include a document with a ChangeResourceRecordSetsRequest
element. The request body contains a list of change items, known as a change batch. Change batches are considered
transactional changes. Route 53 validates the changes in the request and then either makes all or none of the changes
in the change batch request. This ensures that DNS routing isn''t adversely affected by partial changes to the resource
record sets in a hosted zone. For example, suppose a change batch request contains two changes: it deletes the CNAME
resource record set for www.example.com and creates an alias resource record set for www.example.com. If validation
for both records succeeds, Route 5'
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/ChangeResourceRecordSetsResponse'
example:
ChangeInfo:
Comment: CloudFront distribution for example.com
Id: /change/C2682N5HXP0BZ4
Status: PENDING
SubmittedAt: '2017-02-10T01:36:41.958Z'
'400':
description: InvalidChangeBatch; InvalidInput; PriorRequestNotComplete
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidChangeBatch'
'404':
description: NoSuchHealthCheck; NoSuchHostedZone
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchHealthCheck'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/ChangeResourceRecordSetsRequest'
example:
HostedZoneId: Z3M3LMPEXAMPLE
ChangeBatch:
Comment: CloudFront distribution for example.com
Changes:
- Action: CREATE
ResourceRecordSet:
Name: example.com
Type: A
AliasTarget:
HostedZoneId: Z2FDTNDATAQYW2
DNSName: d123rk29d0stfj.cloudfront.net
EvaluateTargetHealth: false
tags:
- Resource Record Sets
get:
operationId: ListResourceRecordSets
summary: List Resource Record Sets
description: 'Lists the resource record sets in a specified hosted zone. ListResourceRecordSets returns up to 300 resource
record sets at a time in ASCII order, beginning at a position specified by the name and type elements. Sort order
ListResourceRecordSets sorts results first by DNS name with the labels reversed, for example: com.example.www. Note
the trailing dot, which can change the sort order when the record name contains characters that appear before . (decimal
46) in the ASCII table. These characters include the following: ! " # $ % & '' ( ) * + , - When multiple records have
the same DNS name, ListResourceRecordSets sorts results by the record type. Specifying where to start listing records
You can use the name and type elements to specify the resource record set that the list begins with: If you do not
specify Name or Type The results begin with the first resource record set that the hosted zone contains. If you specify
Name but not Type The results begin with the first resource record set in the list whose name is greater than or equal
to Name. If you specify Type but not Name Amazon Route 53 returns the InvalidInput error. If you specify both Name
and Type The results begin with the '
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/ListResourceRecordSetsResponse'
'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/ListResourceRecordSetsRequest'
tags:
- Resource Record Sets
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:
AliasTarget:
type: object
properties:
HostedZoneId:
type: string
description: 'Alias resource records sets only: The value used depends on where you want to route traffic: Amazon
API Gateway custom regional APIs and edge-optimized APIs Specify the hosted zone ID for your API. You can get
the applicable value using the CLI command get-domain-names: For regional APIs, specify the value of regionalHostedZoneId.
For edge-optimized APIs, specify the value of distributionHostedZoneId. Amazon Virtual Private Cloud interface
VPC endpoint Specify the hosted zone ID for your interface endpoint. You can get the value of HostedZoneId using
the CLI command describe-vpc-endpoints. Clo'
DNSName:
type: string
description: 'Alias resource record sets only: The value that you specify depends on where you want to route queries:
Amazon API Gateway custom regional APIs and edge-optimized APIs Specify the applicable domain name for your API.
You can get the applicable value using the CLI command get-domain-names: For regional APIs, specify the value
of regionalDomainName. For edge-optimized APIs, specify the value of distributionDomainName. This is the name
of the associated CloudFront distribution, such as da1b2c3d4e5.cloudfront.net. The name of the record that you''re
creating must match a custom domain name for your'
EvaluateTargetHealth:
type: boolean
description: 'Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource
record sets: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced
Amazon Web Services resource, such as an ELB load balancer or another resource record set in the hosted zone.
Note the following: CloudFront distributions You can''t set EvaluateTargetHealth to true when the alias target
is a CloudFront distribution. Elastic Beanstalk environments that have regionalized subdomains If you specify
an Elastic Beanstalk environment in DNSName and the en'
required:
- HostedZoneId
- DNSName
- EvaluateTargetHealth
Change:
type: object
properties:
Action:
type: string
enum:
- CREATE
- DELETE
- UPSERT
description: 'The action to perform: CREATE: Creates a resource record set that has the specified values. DELETE:
Deletes a existing resource record set. To delete the resource record set that is associated with a traffic policy
instance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete the resource record set automatically.
If you delete the resource record set by using ChangeResourceRecordSets, Route 53 doesn''t automatically delete
the traffic policy instance, and you''ll continue to be charged for it even though it''s no longer in use. UPSERT:
If a resource record set doesn''t already exist, Rou'
ResourceRecordSet:
$ref: '#/components/schemas/ResourceRecordSet'
required:
- Action
- ResourceRecordSet
ChangeBatch:
type: object
properties:
Comment:
type: string
description: 'Optional: Any comments you want to include about a change batch request.'
Changes:
type: array
items:
$ref: '#/components/schemas/Change'
description: Information about the changes to make to the record sets.
required:
- Changes
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
ChangeResourceRecordSetsRequest:
type: object
properties:
HostedZoneId:
type: string
description: The ID of the hosted zone that contains the resource record sets that you want to change.
ChangeBatch:
$ref: '#/components/schemas/ChangeBatch'
required:
- HostedZoneId
- ChangeBatch
ChangeResourceRecordSetsResponse:
type: object
properties:
ChangeInfo:
$ref: '#/components/schemas/ChangeInfo'
required:
- ChangeInfo
CidrRoutingConfig:
type: object
properties:
CollectionId:
type: string
description: The CIDR collection ID.
LocationName:
type: string
description: The CIDR collection location name.
required:
- CollectionId
- LocationName
Coordinates:
type: object
properties:
Latitude:
type: string
description: Specifies a coordinate of the north–south position of a geographic point on the surface of the Earth
(-90 - 90).
Longitude:
type: string
description: Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth
(-180 - 180).
required:
- Latitude
- Longitude
GeoLocation:
type: object
properties:
ContinentCode:
type: string
description: 'The two-letter code for the continent. Amazon Route 53 supports the following continent codes: AF:
Africa AN: Antarctica AS: Asia EU: Europe OC: Oceania NA: North America SA: South America Constraint: Specifying
ContinentCode with either CountryCode or SubdivisionCode returns an InvalidInput error.'
CountryCode:
type: string
description: For geolocation resource record sets, the two-letter code for a country. Amazon Route 53 uses the two-letter
country codes that are specified in ISO standard 3166-1 alpha-2. Route 53 also supports the country code UA for
Ukraine.
SubdivisionCode:
type: string
description: 'For geolocation resource record sets, the two-letter code for a state of the United States. Route
53 doesn''t support any other values for SubdivisionCode. For a list of state abbreviations, see Appendix B: Two–Letter
State and Possession Abbreviations on the United States Postal Service website. If you specify subdivisioncode,
you must also specify US for CountryCode.'
GeoProximityLocation:
type: object
properties:
AWSRegion:
type: string
description: The Amazon Web Services Region the resource you are directing DNS traffic to, is in.
LocalZoneGroup:
type: string
description: 'Specifies an Amazon Web Services Local Zone Group. A local Zone Group is usually the Local Zone code
without the ending character. For example, if the Local Zone is us-east-1-bue-1a the Local Zone Group is us-east-1-bue-1.
You can identify the Local Zones Group for a specific Local Zone by using the describe-availability-zones CLI
command: This command returns: "GroupName": "us-west-2-den-1", specifying that the Local Zone us-west-2-den-1a
belongs to the Local Zone Group us-west-2-den-1.'
Coordinates:
$ref: '#/components/schemas/Coordinates'
Bias:
type: integer
description: 'The bias increases or decreases the size of the geographic region from which Route 53 routes traffic
to a resource. To use Bias to change the size of the geographic region, specify the applicable value for the bias:
To expand the size of the geographic region from which Route 53 routes traffic to a resource, specify a positive
integer from 1 to 99 for the bias. Route 53 shrinks the size of adjacent regions. To shrink the size of the geographic
region from which Route 53 routes traffic to a resource, specify a negative bias of -1 to -99. Route 53 expands
the size of adjacent regions.'
InvalidChangeBatch:
type: object
properties:
messages:
type: array
items:
type: string
message:
type: string
InvalidInput:
type: object
properties:
message:
type: string
ListResourceRecordSetsRequest:
type: object
properties:
HostedZoneId:
type: string
description: The ID of the hosted zone that contains the resource record sets that you want to list.
StartRecordName:
type: string
description: The first name in the lexicographic ordering of resource record sets that you want to list. If the
specified record name doesn't exist, the results begin with the first resource record set that has a name greater
than the value of name.
StartRecordType:
type: string
enum:
- SOA
- A
- TXT
- NS
- CNAME
- MX
- NAPTR
- PTR
- SRV
- SPF
- AAAA
- CAA
- DS
- TLSA
- SSHFP
- SVCB
- HTTPS
description: 'The type of resource record set to begin the record listing from. Valid values for basic resource
record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT Values for weighted, latency,
geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT Values
for alias resource record sets: API Gateway custom regional API or edge-optimized API: A CloudFront distribution:
A or AAAA Elastic Beanstalk environment that has a regionalized subdomain: A Elastic Load Balancing load balancer:
A | AAAA S3 bucket: A VPC interface VPC endp'
StartRecordIdentifier:
type: string
description: 'Resource record sets that have a routing policy other than simple: If results were truncated for a
given DNS name and type, specify the value of NextRecordIdentifier from the previous response to get the next
resource record set that has the current DNS name and type.'
MaxItems:
type: integer
description: (Optional) The maximum number of resource records sets to include in the response body for this request.
If the response includes more than maxitems resource record sets, the value of the IsTruncated element in the
response is true, and the values of the NextRecordName and NextRecordType elements in the response identify the
first resource record set in the next group of maxitems resource record sets.
required:
- HostedZoneId
ListResourceRecordSetsResponse:
type: object
properties:
ResourceRecordSets:
type: array
items:
$ref: '#/components/schemas/ResourceRecordSet'
description: Information about multiple resource record sets.
IsTruncated:
type: boolean
description: A flag that indicates whether more resource record sets remain to be listed. If your results were truncated,
you can make a follow-up pagination request by using the NextRecordName element.
NextRecordName:
type: string
description: If the results were truncated, the name of the next record in the list. This element is present only
if IsTruncated is true.
NextRecordType:
type: string
enum:
- SOA
- A
- TXT
- NS
- CNAME
- MX
- NAPTR
- PTR
- SRV
- SPF
- AAAA
- CAA
- DS
- TLSA
- SSHFP
- SVCB
- HTTPS
description: If the results were truncated, the type of the next record in the list. This element is present only
if IsTruncated is true.
NextRecordIdentifier:
type: string
description: 'Resource record sets that have a routing policy other than simple: If results were truncated for a
given DNS name and type, the value of SetIdentifier for the next resource record set that has the current DNS
name and type. For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer
Guide.'
MaxItems:
type: integer
description: The maximum number of records you requested.
required:
- ResourceRecordSets
- IsTruncated
- MaxItems
NoSuchHealthCheck:
type: object
properties:
message:
type: string
NoSuchHostedZone:
type: object
properties:
message:
type: string
ResourceRecord:
type: object
properties:
Value:
type: string
description: The current or new DNS record value, not to exceed 4,000 characters. In the case of a DELETE action,
if the current value does not match the actual value, an error is returned. For descriptions about how to format
Value for different record types, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.
You can specify more than one value for all record types except CNAME and SOA. If you're creating an alias resource
record set, omit Value.
required:
- Value
ResourceRecordSet:
type: object
properties:
Name:
type: string
description: For ChangeResourceRecordSets requests, the name of the record that you want to create, update, or delete.
For ListResourceRecordSets responses, the name of a record in the specified hosted zone. ChangeResourceRecordSets
Only Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing
dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify 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. For information about h
Type:
type: string
enum:
- SOA
- A
- TXT
- NS
- CNAME
- MX
- NAPTR
- PTR
- SRV
- SPF
- AAAA
- CAA
- DS
- TLSA
- SSHFP
- SVCB
- HTTPS
description: 'The DNS record type. For information about different record types and how data is encoded for them,
see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide. Valid values for basic resource
record sets: A | AAAA | CAA | CNAME | DS |MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT| TLSA| SSHFP| SVCB| HTTPS
Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR
| PTR | SPF | SRV | TXT| TLSA| SSHFP| SVCB| HTTPS. When creating a group of weighted, latency, geolocation, or
failover resource record sets, specify the same v'
SetIdentifier:
type: string
description: 'Resource record sets that have a routing policy other than simple: An identifier that differentiates
among multiple resource record sets that have the same combination of name and type, such as multiple weighted
resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have
the same name and type, the value of SetIdentifier must be unique for each resource record set. For information
about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.'
Weight:
type: integer
description: 'Weighted resource record sets only: Among resource record sets that have the same combination of DNS
name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the
current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have
the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource''s
weight to the total. Note the following: You must specify a value for the Weight element for every weighted resource
record set. You can only specify one ResourceRe'
Region:
type: string
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- ca-central-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-central-2
- ap-southeast-1
- ap-southeast-2
- ap-southeast-3
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- eu-north-1
- sa-east-1
- cn-north-1
- cn-northwest-1
- ap-east-1
- me-south-1
- me-central-1
- ap-south-1
- ap-south-2
- af-south-1
- eu-south-1
- eu-south-2
- ap-southeast-4
- il-central-1
- ca-west-1
- ap-southeast-5
- mx-central-1
- ap-southeast-7
- us-gov-east-1
- us-gov-west-1
- ap-east-2
- ap-southeast-6
- eusc-de-east-1
description: 'Latency-based resource record sets only: The Amazon EC2 Region where you created the resource that
this resource record set refers to. The resource typically is an Amazon Web Services resource, such as an EC2
instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record
type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency
resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the
end user and the associated Amazon EC2 Region. Route 5'
GeoLocation:
$ref: '#/components/schemas/GeoLocation'
Failover:
type: string
enum:
- PRIMARY
- SECONDARY
description: 'Failover resource record sets only: To configure failover, you add the Failover element to two resource
record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource
record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check
that you want Amazon Route 53 to perform for each resource record set. Except where noted, the following failover
behaviors assume that you have included the HealthCheckId element in both resource record sets: When the primary
resource record set is healthy, Route 53 r'
MultiValueAnswer:
type: boolean
description: 'Multivalue answer resource record sets only: To route traffic approximately randomly to multiple resources,
such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer.
Note the following: If you associate a health check with a multivalue answer resource record set, Amazon Route
53 responds to DNS queries with the corresponding IP address only when the health check is healthy. If you don''t
associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.
Route 53 responds to DNS queries with up to '
TTL:
type: integer
description: 'The resource record cache time to live (TTL), in seconds. Note the following: If you''re creating
or updating an alias resource record set, omit TTL. Amazon Route 53 uses the value of TTL for the alias target.
If you''re associating this resource record set with a health check (if you''re adding a HealthCheckId element),
we recommend that you specify a TTL of 60 seconds or less so clients respond quickly to changes in health status.
All of the resource record sets in a group of weighted resource record sets must have the same value for TTL.
If a group of weighted resource record sets includes one'
ResourceRecords:
type: array
items:
$ref: '#/components/schemas/ResourceRecord'
description: Information about the resource records to act upon. If you're creating an alias resource record set,
omit ResourceRecords.
AliasTarget:
$ref: '#/components/schemas/AliasTarget'
HealthCheckId:
type: string
description: 'If you want Amazon Route 53 to return this resource record set in response to a DNS query only when
the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable
health check. Route 53 determines whether a resource record set is healthy based on one of the following: By periodically
sending a request to the endpoint that is specified in the health check By aggregating the status of a specified
group of health checks (calculated health checks) By determining the current state of a CloudWatch alarm (CloudWatch
metric health checks) Route 53 doesn'
TrafficPolicyInstanceId:
type: string
description: 'When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record
set. TrafficPolicyInstanceId is the ID of the traffic policy instance that Route 53 created this resource record
set for. To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance.
Route 53 will delete the resource record set automatically. If you delete the resource record set by using ChangeResourceRecordSets,
Route 53 doesn''t automatically delete the traffic policy instance, and you''ll continue to be charged for it
even though it''s no '
CidrRoutingConfig:
$ref: '#/components/schemas/CidrRoutingConfig'
GeoProximityLocation:
$ref: '#/components/schemas/GeoProximityLocation'
required:
- Name
- Type
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)