Retrieve a list of hosted zones:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14
 | $ aws route53 list-hosted-zones           {   "HostedZones": [     {         "ResourceRecordSetCount": 4,         "CallerReference": "12345678-ABCD-EFGH-IJKL-ABCDEFGHIJKL",         "Config": {},         "Id": "/hostedzone/1234567890ABC",         "Name": "realguess.net."     }   ],    "IsTruncated": false,    "MaxItems": "100" }
 | 
Get a single hosted zone with delegation set (four Route 53 name servers that were assigned to the hosted zone):
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
 | $ aws route53 get-hosted-zone  {   "HostedZone": {     "ResourceRecordSetCount": 4,     "CallerReference": "12345678-ABCD-EFGH-IJKL-ABCDEFGHIJKL",     "Config": {},     "Id": "/hostedzone/1234567890ABC",     "Name": "realguess.net."   },   "DelegationSet": {     "NameServers": [       "ns-1727.awsdns-23.co.uk",       "ns-1312.awsdns-36.org",       "ns-402.awsdns-50.com",       "ns-587.awsdns-09.net"     ]   } }
 | 
List all resource record sets in a hosted zone:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
 | $ aws route53 list-resource-record-sets  {   "IsTruncated": false,   "ResourceRecordSets": [     {       "ResourceRecords": [         {           "Value": "192.168.153.123"         }       ],       "Type": "A",       "Name": "realguess.net.",       "TTL": 172800     },     {       "ResourceRecords": [         {           "Value": "ns-1727.awsdns-23.co.uk."         },         {           "Value": "ns-1312.awsdns-36.org."         },         {           "Value": "ns-402.awsdns-50.com."         },         {           "Value": "ns-587.awsdns-09.net."         }       ],        "Type": "NS",       "Name": "realguess.net.",       "TTL": 172800     },      {       "ResourceRecords": [         {           "Value": "ns-1727.awsdns-23.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400"         }       ],        "Type": "SOA",       "Name": "realguess.net.",       "TTL": 900     },     {       "ResourceRecords": [         {           "Value": "192.168.153.123"         }       ],       "Type": "A",       "Name": "www.realguess.net.",       "TTL": 86400     }   ],   "MaxItems": "100" }
 | 
Retrieve a single record set:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
 | $ aws route53 list-resource-record-sets     {   "IsTruncated": false,   "ResourceRecordSets": [     {       "ResourceRecords": [         {           "Value": "192.168.153.123"         }       ],       "Type": "A",       "Name": "www.realguess.net.",       "TTL": 86400     }   ],   "MaxItems": "1" }
 | 
In order to create a new record set, first create a JSON file to describe the new record:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
 | {   "Comment": "A new record set for the zone.",   "Changes": [     {       "Action": "CREATE",       "ResourceRecordSet": {         "Name": "api.realguess.net.",         "Type": "CNAME",         "TTL": 60,         "ResourceRecords": [           {             "Value": "www.realguess.net"           }         ]       }     }   ] }
 | 
Add a new record set (note that the JSON file must use file:// starting path):
| 1 2 3 4 5 6 7 8 9 10
 | $ aws route53 change-resource-record-sets --hosted-zone-id 1234567890ABC \   --change-batch file:///path/to/record.json {   "ChangeInfo": {     "Status": "PENDING",     "Comment": "A new record set for the zone.",     "SubmittedAt": "2013-12-06T00:00:00.000Z",     "Id": "/change/CHANGEID123"   } }
 | 
The status of adding the new record is currently pending. Poll the server to get the updated status:
| 1 2 3 4 5 6 7 8 9
 | $ aws route53 get-change  {   "ChangeInfo": {     "Status": "INSYNC",     "Comment": "A new record set for the zone.",     "SubmittedAt": "2013-12-06T00:00:00.000Z",     "Id": "/change/CHANGEID123"   } }
 | 
A new record has been created and has been propagated to all hosts.