Records¶
Resource record entries are used to generate records within a zone
TODO: More detail.
Create Record¶
-
POST/domains/(uuid: domain_id)/records¶ Create an A record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": "www.example.com.", "type": "A", "data": "192.0.2.3" }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 399 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/2e32e609-3a4f-45ba-bdef-e50eacd345ad Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "2e32e609-3a4f-45ba-bdef-e50eacd345ad", "name": "www.example.com.", "type": "A", "created_at": "2012-11-02T19:56:26.366792", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "ttl": null, "priority": null, "data": "192.0.2.3", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – name of record FQDN
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – IPv4 address
- domain_id – domain ID
- priority – must be null for ‘A’ record
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create a AAAA record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": "www.example.com.", "type": "AAAA", "data": "2001:db8:0:1234:0:5678:9:12" }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 303 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666677778888 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666677778888", "name": "www.example.com.", "type": "AAAA", "created_at": "2013-01-07T00:00:00.000000", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "priority": null, "ttl": null, "data": "2001:db8:0:1234:0:5678:9:12", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – name of record FQDN
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – IPv6 address
- domain_id – domain ID
- priority – must be null for ‘AAAA’ records
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create an MX record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": "example.com.", "type": "MX", "data": "mail.example.com.", "priority": 10 }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 420 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666677778888 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666677778888", "name": "www.example.com.", "type": "MX", "created_at": "2013-01-07T00:00:00.000000", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "priority": 10, "ttl": null, "data": "mail.example.com.", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – name of record FQDN
- type – type of record
- created_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – value of record
- domain_id – domain ID
- priority – priority of MX record
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create a CNAME record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": "www.example.com.", "type": "CNAME", "data": "example.com." }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 303 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666677778889 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666677778889", "name": "www.example.com.", "type": "CNAME", "created_at": "2013-01-07T00:00:00.000000", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "priority": null, "ttl": null, "data": "example.com.", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – alias for the CNAME
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – CNAME
- domain_id – domain ID
- priority – must be null for ‘CNAME’ records
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create a TXT record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": "www.example.com.", "type": "TXT", "data": "This is a TXT record" }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 303 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666677778899 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666677778899", "name": "www.example.com.", "type": "TXT", "created_at": "2013-01-07T00:00:00.000000", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "priority": null, "ttl": null, "data": "This is a TXT record", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – name of record FQDN
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – Text associated with record.
- domain_id – domain ID
- priority – must be null for ‘TXT’ records
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create an SRV record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": "_sip._tcp.example.com.", "type": "SRV", "data": "0 5060 sip.example.com." "priority": 30 }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 399 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666677778999 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-66667777899", "name": "_sip._tcp.example.com.", "type": "SRV", "created_at": "2012-11-02T19:56:26.366792", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "ttl": null, "priority" : 30, "data": "0 5060 sip.example.com.", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – name of service
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – weight port target
- domain_id – domain ID
- priority – priority of SRV record
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create an NS record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": ".example.com.", "type": "NS", "data": "ns1.example.com." }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 399 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666677789999 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666677789999", "name": ".example.com.", "type": "NS", "created_at": "2012-11-02T19:56:26.366792", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "ttl": null, "priority" : null, "data": "ns1.example.com", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – record name
- type – type of record
- created_at – timestamp
- updated_at – timestamps
- ttl – time-to-live numeric value in seconds
- data – record value
- domain_id – domain ID
- priority – must be null for ‘NS’ record
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create a PTR record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: 2.3.192.in-addr.arpa. Accept: application/json Content-Type: application/json { "name": "1.2.3.192.in-addr.arpa.", "type": "PTR", "data": "www.example.com." }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 399 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666677889999 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666677889999", "name": "1.2.3.192.in-addr.arpa.", "type": "PTR", "created_at": "2012-11-02T19:56:26.366792", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "ttl": null, "priority" : null, "data": "www.example.com", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – PTR record name
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – DNS record value
- domain_id – domain ID
- priority – must be null for ‘PTR’ record
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create an SPF record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": ".example.com.", "type": "SPF", "data": "v=spf1 +mx a:colo.example.com/28 -all" }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 399 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666678889999 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666678889999", "name": ".example.com.", "type": "SPF", "created_at": "2012-11-02T19:56:26.366792", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "ttl": null, "priority" : null, "data": "v=spf1 +mx a:colo.example.com/28 -all", "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – name of record
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – record value
- domain_id – domain ID
- priority – must be null for ‘SPF’ record
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Create an SSHFP record for a domain
Example request:
POST /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json { "name": "www.example.com.", "type": "SSHFP", "data": "2 1 6c3c958af43d953f91f40e0d84157f4fe7b4a898" }
Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 399 Location: http://localhost:9001/v1/domains/89acac79-38e7-497d-807c-a011e1310438/records/11112222-3333-4444-5555-666778889999 Date: Fri, 02 Nov 2012 19:56:26 GMT { "id": "11112222-3333-4444-5555-666778889999", "name": "www.example.com.", "type": "SSHFP", "created_at": "2012-11-02T19:56:26.366792", "updated_at": null, "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "ttl": null, "priority" : null, "data": "2 1 6c3c958af43d953f91f40e0d84157f4fe7b4a898" "description": null }
Parameters: - domain_id – domain ID
Form Parameters: - id – record ID
- name – name of record
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- ttl – time-to-live numeric value in seconds
- data – algorithm number, fingerprint type, fingerprint
- domain_id – domain ID
- priority – must be null for ‘SSHFP’ record
- description – UTF-8 text field
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 404 Not Found – Not Found
- 409 Conflict – Duplicate Record
Get a Record¶
-
GET/domains/(uuid: domain_id)/records/(uuid: id)¶ Get a particular record
Example request:
GET /domains/09494b72b65b42979efb187f65a0553e/records/2e32e609-3a4f-45ba-bdef-e50eacd345ad HTTP/1.1 Host: example.com Accept: application/json
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: application/json { "id": "2e32e609-3a4f-45ba-bdef-e50eacd345ad", "name": "www.example.com.", "type": "A", "created_at": "2012-11-02T19:56:26.366792", "updated_at": "2012-11-04T13:22:36.859786", "priority": null, "ttl": 3600, "data": "15.185.172.153", "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "description": null }
Parameters: - domain_id – Domain ID
- id – Record ID
Form Parameters: - id – record ID
- name – name of record FQDN
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- priority – priority of record
- ttl – time-to-live numeric value in seconds
- data – value of record
- description – UTF-8 text field
- domain_id – domain ID
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 404 Not Found – Record Not Found
Update a record¶
-
PUT/domains/(uuid: domain_id)/records/(uuid: id)¶ Updates a record
Example request:
PUT /domains/89acac79-38e7-497d-807c-a011e1310438/records/2e32e609-3a4f-45ba-bdef-e50eacd345ad Host: example.com Accept: application/json Content-Type: application/json { "name": "www.example.com.", "type": "A", "data": "192.0.2.5" }Example response:
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 446 Date: Sun, 04 Nov 2012 13:22:36 GMT { "id": "2e32e609-3a4f-45ba-bdef-e50eacd345ad", "name": "www.example.com.", "type": "A", "created_at": "2012-11-02T19:56:26.366792", "updated_at": "2012-11-04T13:22:36.859786", "priority": null, "ttl": 3600, "data": "192.0.2.5", "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "description": null }
Parameters: - domain_id – domain ID
- id – record ID
Form Parameters: - id – record ID
- name – name of record FQDN
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- priority – priority of record
- ttl – time-to-live numeric value in seconds
- data – value of record
- description – UTF-8 text field
- domain_id – domain ID
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied
- 400 Bad Request – Invalid Object
- 409 Conflict – Duplicate Record
Delete a record¶
-
DELETE/domains/(uuid: domain_id)/records/(uuid: id)¶ Delete a DNS resource record
Example request:
DELETE /domains/89acac79-38e7-497d-807c-a011e1310438/records/4ad19089-3e62-40f8-9482-17cc8ccb92cb HTTP/1.1
Parameters: - domain_id – domain ID
- id – record ID
Example response:
Content-Type: text/html; charset=utf-8 Content-Length: 0 Date: Sun, 04 Nov 2012 14:35:57 GMT
List Records in a Domain¶
-
GET/domains/(uuid: domain_id)/records¶ Lists records of a domain
Example request:
GET /domains/89acac79-38e7-497d-807c-a011e1310438/records HTTP/1.1 Host: example.com Accept: application/json
Example response:
Content-Type: application/json Content-Length: 1209 Date: Sun, 04 Nov 2012 13:58:21 GMT { "records": [ { "id": "2e32e609-3a4f-45ba-bdef-e50eacd345ad" "name": "www.example.com.", "type": "A", "ttl": 3600, "created_at": "2012-11-02T19:56:26.000000", "updated_at": "2012-11-04T13:22:36.000000", "data": "15.185.172.153", "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "tenant_id": null, "priority": null, "description": null, "version": 1, }, { "id": "8e9ecf3e-fb92-4a3a-a8ae-7596f167bea3" "name": "host1.example.com.", "type": "A", "ttl": 3600, "created_at": "2012-11-04T13:57:50.000000", "updated_at": null, "data": "15.185.172.154", "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "tenant_id": null, "priority": null, "description": null, "version": 1, }, { "id": "4ad19089-3e62-40f8-9482-17cc8ccb92cb" "name": "web.example.com.", "type": "CNAME", "ttl": 3600, "created_at": "2012-11-04T13:58:16.393735", "updated_at": null, "data": "www.example.com.", "domain_id": "89acac79-38e7-497d-807c-a011e1310438", "tenant_id": null, "priority": null, "description": null, "version": 1, } ] }Parameters: - domain_id – domain ID
Form Parameters: - id – record id
- name – name of record FQDN
- type – type of record
- created_at – timestamp
- updated_at – timestamp
- priority – priority of record
- ttl – time-to-live numeric value in seconds
- data – value of record
- description – UTF-8 text field
- domain_id – domain ID
Status Codes: - 200 OK – Success
- 401 Unauthorized – Access Denied