Dns-zone-records-recordId:PUT
(Difference between revisions)
Mike.robski (Talk | contribs) m (1 revision) |
|||
| Line 24: | Line 24: | ||
=== Request Body === | === Request Body === | ||
| + | |||
| + | Added support for wildcard domain names. | ||
| + | Ex: | ||
| + | * | ||
| + | *.somedomain.com | ||
| + | The wildcard record name is stored in the database as it is supplied. | ||
| + | If it's missing the zone origin(i.e. '*') the API will return it with the zone | ||
| + | appended, i.e. '*.domain.com'. | ||
| + | |||
| + | |||
| + | Added support for @ records, which represent the origin itself. | ||
| + | Ex: | ||
| + | @ | ||
| + | The API will return the record with the zone origin appended to the name, i.e. '@.domain.com' | ||
====A record==== | ====A record==== | ||
<nowiki> | <nowiki> | ||
{ | { | ||
| − | "name":{domain}, | + | "name": {domain}, |
| − | "type":"A", | + | "type": "A", |
| − | "address":{ip_address} | + | "address": {ip_address}, |
| − | + | "ttl": 3600 | |
| − | + | }</nowiki> | |
====AAAA record==== | ====AAAA record==== | ||
| − | + | <nowiki> | |
{ | { | ||
| − | "name":{domain}, | + | "name": {domain}, |
| − | "type":"AAAA", | + | "type": "AAAA", |
| − | "address":{ipv6_address} | + | "address": {ipv6_address}, |
| − | + | "ttl": 3600 | |
| − | </nowiki> | + | }</nowiki> |
====NS record==== | ====NS record==== | ||
| − | + | <nowiki> | |
{ | { | ||
| − | "name":{domain}, | + | "name": {domain}, |
| − | "type":"NS", | + | "type": "NS", |
| − | "nsdname":{ns_domain} | + | "nsdname": {ns_domain}, |
| − | + | "ttl": 3600 | |
| − | </nowiki> | + | }</nowiki> |
====TXT record==== | ====TXT record==== | ||
| − | + | <nowiki> | |
{ | { | ||
| − | "name":{domain}, | + | "name": {domain}, |
| − | "type":"TXT", | + | "type": "TXT", |
| − | "data":{data} | + | "data": {data}, |
| − | + | "ttl": 3600 | |
| − | </nowiki> | + | }</nowiki> |
====SRV record==== | ====SRV record==== | ||
| − | + | <nowiki> | |
{ | { | ||
| − | "name":{domain}, | + | "name": {domain}, |
| − | "type":"SRV", | + | "type": "SRV", |
"priority": {priority}, | "priority": {priority}, | ||
"weight": {weight}, | "weight": {weight}, | ||
"port": {port}, | "port": {port}, | ||
| − | "target":{target} | + | "target": {target}, |
| − | + | "ttl": 3600 | |
| − | </nowiki> | + | }</nowiki> |
====MX record==== | ====MX record==== | ||
| − | + | <nowiki> | |
{ | { | ||
| − | "name":{domain}, | + | "name": {domain}, |
| − | "type":"MX", | + | "type": "MX", |
"preference": {preference}, | "preference": {preference}, | ||
| − | "exchange":{mx_domain} | + | "exchange": {mx_domain}, |
| − | + | "ttl": 3600 | |
| − | </nowiki> | + | }</nowiki> |
====CNAME record==== | ====CNAME record==== | ||
<nowiki> | <nowiki> | ||
{ | { | ||
| − | "name":{name}, | + | "name": {name}, |
| − | "type":"CNAME", | + | "type": "CNAME", |
| − | "cname":{domain} | + | "cname": {domain}, |
| − | + | "ttl": 3600 | |
| − | </nowiki> | + | }</nowiki> |
== Response == | == Response == | ||
=== Status Code === | === Status Code === | ||
| − | ; 200 OK | + | ; 200 OK : Success |
| − | : Success | + | |
| − | ; 400 Bad Request | + | ; 400 Bad Request : TTL is below allowed minimum |
| − | : | + | |
| − | ; 401 Unauthorized | + | ; 401 Unauthorized : |
| − | : | + | |
| − | ; 403 Forbidden | + | ; 403 Forbidden : |
| − | : | + | |
| − | ; 409 Conflict | + | ; 409 Conflict : |
| − | : | + | |
=== Response Body === | === Response Body === | ||
| Line 124: | Line 133: | ||
"type": "CNAME", | "type": "CNAME", | ||
"cname": "otherdomain.com." | "cname": "otherdomain.com." | ||
| − | } | + | }</nowiki> |
| − | + | ||
''Response'' | ''Response'' | ||
<nowiki> | <nowiki> | ||
401 Unauthorized | 401 Unauthorized | ||
| − | + | </nowiki> | |
=== Successful Update === | === Successful Update === | ||
| Line 143: | Line 151: | ||
"type": "CNAME", | "type": "CNAME", | ||
"cname": "otherdomain1.com." | "cname": "otherdomain1.com." | ||
| − | } | + | }</nowiki> |
| − | + | ||
''Response'' | ''Response'' | ||
| Line 154: | Line 161: | ||
"type": "CNAME", | "type": "CNAME", | ||
"cname": "otherdomain1.com." | "cname": "otherdomain1.com." | ||
| − | } | + | }</nowiki> |
| − | + | ||
== See also == | == See also == | ||
Revision as of 06:54, 25 April 2014
PUT /dns/{zone}/records/{recordId}
Update an existing zone record.
Contents |
Request
PUT /dns/{zone}/records/{recordId}
Request Parameters
- zone - string
- The DNS zone of the record.
- recordId - string
- The uniques Id of the record.
URI Parameters
None.
Request Headers
- Content-Type
- application/json
- Authorization
- Base64-encoded username & password string
Request Body
Added support for wildcard domain names.
Ex:
*
*.somedomain.com
The wildcard record name is stored in the database as it is supplied.
If it's missing the zone origin(i.e. '*') the API will return it with the zone
appended, i.e. '*.domain.com'.
Added support for @ records, which represent the origin itself.
Ex:
@
The API will return the record with the zone origin appended to the name, i.e. '@.domain.com'
A record
{
"name": {domain},
"type": "A",
"address": {ip_address},
"ttl": 3600
}
AAAA record
{
"name": {domain},
"type": "AAAA",
"address": {ipv6_address},
"ttl": 3600
}
NS record
{
"name": {domain},
"type": "NS",
"nsdname": {ns_domain},
"ttl": 3600
}
TXT record
{
"name": {domain},
"type": "TXT",
"data": {data},
"ttl": 3600
}
SRV record
{
"name": {domain},
"type": "SRV",
"priority": {priority},
"weight": {weight},
"port": {port},
"target": {target},
"ttl": 3600
}
MX record
{
"name": {domain},
"type": "MX",
"preference": {preference},
"exchange": {mx_domain},
"ttl": 3600
}
CNAME record
{
"name": {name},
"type": "CNAME",
"cname": {domain},
"ttl": 3600
}
Response
Status Code
- 200 OK
- Success
- 400 Bad Request
- TTL is below allowed minimum
- 401 Unauthorized
- 403 Forbidden
- 409 Conflict
Response Body
None.
Examples
Unauthorized Request
Request
PUT /dns/test.com/records/1234
{
"name": "test",
"type": "CNAME",
"cname": "otherdomain.com."
}
Response
401 Unauthorized
Successful Update
Request
PUT /dns/test.com/records/1234
Authorization: Basic {base64_encoded(username:password)}
{
"name": "test1",
"type": "CNAME",
"cname": "otherdomain1.com."
}
Response
200 OK
{
"name": "test1",
"type": "CNAME",
"cname": "otherdomain1.com."
}
See also