Records

Records

Resource record entries are used to generate records within a zone

TODO: More detail.

Note

V1 API has been deprecated since the Kilo release.

Note

The “description” field on Records cannot be accessed from the V2 API. Likewise, the “description” field on Record Sets cannot be accessed from the V1 API.

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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 HTTP/1.1
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:

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:
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.