Domains v4.176.0
List domains
This is a collection of Domains that you have registered in Linode’s DNS Manager. Linode is not a registrar, and in order for these to work you must own the domains and point your registrar at Linode’s nameservers.
OAuth.
domains:read_only
Authorizations
| personalAccessToken | |
| oauth | domains:read_only |
Query Parameters
| page |
The page of a collection to return. |
| page_size |
The number of items to return per page. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/domainslinode-cli domains listResponse Samples
{
"data": [
{
"axfr_ips": [],
"description": null,
"domain": "example.org",
"expire_sec": 300,
"group": null,
"id": 1234,
"master_ips": [],
"refresh_sec": 300,
"retry_sec": 300,
"soa_email": "admin@example.org",
"status": "active",
"tags": [
"example tag",
"another example"
],
"ttl_sec": 300,
"type": "master"
}
],
"page": 1,
"pages": 1,
"results": 1
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
data | array
of objects
| ||||||||||||||||||||||||||||
page | integerRead-only The current page. | ||||||||||||||||||||||||||||
pages | integerRead-only The total number of pages. | ||||||||||||||||||||||||||||
results | integerRead-only The total number of results. |
errors | array
of objects
|
Create a domain
Adds a new Domain to Linode’s DNS Manager. Linode is not a registrar, and you must own the domain before adding it here. Be sure to point your registrar to Linode’s nameservers so that the records hosted here are used.
CLI.
linode-cli domains createOAuth.
domains:read_write
Authorizations
| personalAccessToken | |
| oauth | domains:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"domain": "example.com",
"type": "master",
"soa_email": "admin@example.com",
"description": "Example Description",
"refresh_sec": 14400,
"retry_sec": 3600,
"expire_sec": 604800,
"ttl_sec": 3600,
"status": "active",
"master_ips": ["127.0.0.1","255.255.255.1","123.123.123.7"],
"axfr_ips": ["44.55.66.77"],
"group": "Example Display Group",
"tags": ["tag1","tag2"]
}' \
https://api.linode.com/v4/domainslinode-cli domains create \
--type master \
--domain example.org \
--soa_email admin@example.orgRequest Body Schema
axfr_ips | array
of stringsThe list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters. Note: This is potentially dangerous, and should be set to an empty list unless you intend to use it. |
description | string
1..253
charactersA description for this Domain. This is for display purposes only. |
domain Required | string
1..253
charactersThe domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
expire_sec | integerThe amount of time in seconds that may pass before this Domain is no longer authoritative.
|
group | string
1..50
charactersThe group this Domain belongs to. This is for display purposes only. |
master_ips | array
of stringsThe IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integerThe amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integerThe interval, in seconds, at which a failed refresh should be retried.
|
soa_email | string<email>Start of Authority email address. This is required for |
status | stringEnum:
disabled
active
Default:
activeUsed to control whether this Domain is currently being rendered. |
tags | array
of stringsAn array of tags applied to this object. Tags are for organizational purposes only. |
ttl_sec | integer“Time to Live” - the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.
|
type Required | stringEnum:
master
slaveWhether this Domain represents the authoritative source of information for the domain it describes (“master”), or whether it is a read-only copy of a master (“slave”). |
Response Samples
{
"axfr_ips": [],
"description": null,
"domain": "example.org",
"expire_sec": 300,
"group": null,
"id": 1234,
"master_ips": [],
"refresh_sec": 300,
"retry_sec": 300,
"soa_email": "admin@example.org",
"status": "active",
"tags": [
"example tag",
"another example"
],
"ttl_sec": 300,
"type": "master"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
axfr_ips | array
of stringsThe list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters. Note: This is potentially dangerous, and should be set to an empty list unless you intend to use it. |
description | string
1..253
charactersA description for this Domain. This is for display purposes only. |
domain | string
1..253
charactersThe domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
expire_sec | integerThe amount of time in seconds that may pass before this Domain is no longer authoritative.
|
group | string
1..50
charactersThe group this Domain belongs to. This is for display purposes only. |
id | integerRead-only This Domain’s unique ID |
master_ips | array
of stringsThe IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integerThe amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integerThe interval, in seconds, at which a failed refresh should be retried.
|
soa_email | string<email>Start of Authority email address. This is required for |
status | stringEnum:
disabled
active
Default:
activeUsed to control whether this Domain is currently being rendered. |
tags | array
of stringsAn array of tags applied to this object. Tags are for organizational purposes only. |
ttl_sec | integer“Time to Live” - the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.
|
type | stringEnum:
master
slaveWhether this Domain represents the authoritative source of information for the domain it describes (“master”), or whether it is a read-only copy of a master (“slave”). |
errors | array
of objects
|
Import a domain
Imports a domain zone from a remote nameserver. Your nameserver must allow zone transfers (AXFR) from the following IPs:
- 96.126.114.97
- 96.126.114.98
- 2600:3c00::5e
- 2600:3c00::5f
CLI.
linode-cli domains importOAuth.
domains:read_write
Authorizations
| personalAccessToken | |
| oauth | domains:read_write |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"domain": "example.com",
"remote_nameserver": "examplenameserver.com"
}' \
https://api.linode.com/v4/domains/importlinode-cli domains import --domain example.com --remote_nameserver examplenameserver.comRequest Body Schema
domain Required | stringThe domain to import. |
remote_nameserver Required | stringThe remote nameserver that allows zone transfers (AXFR). |
Response Samples
{
"axfr_ips": [],
"description": null,
"domain": "example.org",
"expire_sec": 300,
"group": null,
"id": 1234,
"master_ips": [],
"refresh_sec": 300,
"retry_sec": 300,
"soa_email": "admin@example.org",
"status": "active",
"tags": [
"example tag",
"another example"
],
"ttl_sec": 300,
"type": "master"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
axfr_ips | array
of stringsThe list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters. Note: This is potentially dangerous, and should be set to an empty list unless you intend to use it. |
description | string
1..253
charactersA description for this Domain. This is for display purposes only. |
domain | string
1..253
charactersThe domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
expire_sec | integerThe amount of time in seconds that may pass before this Domain is no longer authoritative.
|
group | string
1..50
charactersThe group this Domain belongs to. This is for display purposes only. |
id | integerRead-only This Domain’s unique ID |
master_ips | array
of stringsThe IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integerThe amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integerThe interval, in seconds, at which a failed refresh should be retried.
|
soa_email | string<email>Start of Authority email address. This is required for |
status | stringEnum:
disabled
active
Default:
activeUsed to control whether this Domain is currently being rendered. |
tags | array
of stringsAn array of tags applied to this object. Tags are for organizational purposes only. |
ttl_sec | integer“Time to Live” - the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.
|
type | stringEnum:
master
slaveWhether this Domain represents the authoritative source of information for the domain it describes (“master”), or whether it is a read-only copy of a master (“slave”). |
errors | array
of objects
|
Delete a domain
Deletes a Domain from Linode’s DNS Manager. The Domain will be removed from Linode’s nameservers shortly after this operation completes. This also deletes all associated Domain Records.
OAuth.
domains:read_write
Authorizations
| personalAccessToken | |
| oauth | domains:read_write |
Path Parameters
| domainId | integerRequiredThe ID of the Domain to access. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/domains/1234linode-cli domains delete 1234Response Samples
{}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
errors | array
of objects
|
Get a domain
This is a single Domain that you have registered in Linode’s DNS Manager. Linode is not a registrar, and in order for this Domain record to work you must own the domain and point your registrar at Linode’s nameservers.
CLI.
linode-cli domains viewOAuth.
domains:read_only
Authorizations
| personalAccessToken | |
| oauth | domains:read_only |
Path Parameters
| domainId | integerRequiredThe ID of the Domain to access. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/domains/123linode-cli domains view 123Response Samples
{
"axfr_ips": [],
"description": null,
"domain": "example.org",
"expire_sec": 300,
"group": null,
"id": 1234,
"master_ips": [],
"refresh_sec": 300,
"retry_sec": 300,
"soa_email": "admin@example.org",
"status": "active",
"tags": [
"example tag",
"another example"
],
"ttl_sec": 300,
"type": "master"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
axfr_ips | array
of stringsThe list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters. Note: This is potentially dangerous, and should be set to an empty list unless you intend to use it. |
description | string
1..253
charactersA description for this Domain. This is for display purposes only. |
domain | string
1..253
charactersThe domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
expire_sec | integerThe amount of time in seconds that may pass before this Domain is no longer authoritative.
|
group | string
1..50
charactersThe group this Domain belongs to. This is for display purposes only. |
id | integerRead-only This Domain’s unique ID |
master_ips | array
of stringsThe IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integerThe amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integerThe interval, in seconds, at which a failed refresh should be retried.
|
soa_email | string<email>Start of Authority email address. This is required for |
status | stringEnum:
disabled
active
Default:
activeUsed to control whether this Domain is currently being rendered. |
tags | array
of stringsAn array of tags applied to this object. Tags are for organizational purposes only. |
ttl_sec | integer“Time to Live” - the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.
|
type | stringEnum:
master
slaveWhether this Domain represents the authoritative source of information for the domain it describes (“master”), or whether it is a read-only copy of a master (“slave”). |
errors | array
of objects
|
Update a domain
Update information about a Domain in Linode’s DNS Manager.
CLI.
linode-cli domains updateOAuth.
domains:read_write
Authorizations
| personalAccessToken | |
| oauth | domains:read_write |
Path Parameters
| domainId | integerRequiredThe ID of the Domain to access. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X PUT -d '{
"domain": "example.com",
"type": "master",
"soa_email": "admin@example.com",
"description": "Example Description",
"refresh_sec": 14400,
"retry_sec": 3600,
"expire_sec": 604800,
"ttl_sec": 3600,
"status": "active",
"master_ips": ["127.0.0.1","255.255.255.1","123.123.123.7"],
"axfr_ips": ["44.55.66.77"],
"group": "Example Display Group",
"tags": ["tag1","tag2"]
}' \
https://api.linode.com/v4/domains/123linode-cli domains update 1234 \
--retry_sec 7200 \
--ttl_sec 300Request Body Schema
axfr_ips | array
of stringsThe list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters. Note: This is potentially dangerous, and should be set to an empty list unless you intend to use it. |
description | string
1..253
charactersA description for this Domain. This is for display purposes only. |
domain | string
1..253
charactersThe domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
expire_sec | integerThe amount of time in seconds that may pass before this Domain is no longer authoritative.
|
group | string
1..50
charactersThe group this Domain belongs to. This is for display purposes only. |
master_ips | array
of stringsThe IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integerThe amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integerThe interval, in seconds, at which a failed refresh should be retried.
|
soa_email | string<email>Start of Authority email address. This is required for |
status | stringEnum:
disabled
active
Default:
activeUsed to control whether this Domain is currently being rendered. |
tags | array
of stringsAn array of tags applied to this object. Tags are for organizational purposes only. |
ttl_sec | integer“Time to Live” - the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.
|
type | stringEnum:
master
slaveWhether this Domain represents the authoritative source of information for the domain it describes (“master”), or whether it is a read-only copy of a master (“slave”). |
Response Samples
{
"axfr_ips": [],
"description": null,
"domain": "example.org",
"expire_sec": 300,
"group": null,
"id": 1234,
"master_ips": [],
"refresh_sec": 300,
"retry_sec": 300,
"soa_email": "admin@example.org",
"status": "active",
"tags": [
"example tag",
"another example"
],
"ttl_sec": 300,
"type": "master"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
axfr_ips | array
of stringsThe list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters. Note: This is potentially dangerous, and should be set to an empty list unless you intend to use it. |
description | string
1..253
charactersA description for this Domain. This is for display purposes only. |
domain | string
1..253
charactersThe domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
expire_sec | integerThe amount of time in seconds that may pass before this Domain is no longer authoritative.
|
group | string
1..50
charactersThe group this Domain belongs to. This is for display purposes only. |
id | integerRead-only This Domain’s unique ID |
master_ips | array
of stringsThe IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integerThe amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integerThe interval, in seconds, at which a failed refresh should be retried.
|
soa_email | string<email>Start of Authority email address. This is required for |
status | stringEnum:
disabled
active
Default:
activeUsed to control whether this Domain is currently being rendered. |
tags | array
of stringsAn array of tags applied to this object. Tags are for organizational purposes only. |
ttl_sec | integer“Time to Live” - the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.
|
type | stringEnum:
master
slaveWhether this Domain represents the authoritative source of information for the domain it describes (“master”), or whether it is a read-only copy of a master (“slave”). |
errors | array
of objects
|
Clone a domain
Clones a Domain and all associated DNS records from a Domain that is registered in Linode’s DNS manager.
CLI.
linode-cli domains cloneOAuth.
domains:read_write
Authorizations
| personalAccessToken | |
| oauth | domains:read_write |
Path Parameters
| domainId | stringRequiredID of the Domain to clone. |
Request Samples
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-X POST -d '{
"domain": "example.com"
}' \ https://api.linode.com/v4/domains/123/clonelinode-cli domains clone 123 --domain example.comRequest Body Schema
domain Required | string
1..253
charactersThe new domain for the clone. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
Response Samples
{
"axfr_ips": [],
"description": null,
"domain": "example.org",
"expire_sec": 300,
"group": null,
"id": 1234,
"master_ips": [],
"refresh_sec": 300,
"retry_sec": 300,
"soa_email": "admin@example.org",
"status": "active",
"tags": [
"example tag",
"another example"
],
"ttl_sec": 300,
"type": "master"
}{
"errors": [
{
"field": "fieldname",
"reason": "fieldname must be a valid value"
}
]
}Responses
axfr_ips | array
of stringsThe list of IPs that may perform a zone transfer for this Domain. The total combined length of all data within this array cannot exceed 1000 characters. Note: This is potentially dangerous, and should be set to an empty list unless you intend to use it. |
description | string
1..253
charactersA description for this Domain. This is for display purposes only. |
domain | string
1..253
charactersThe domain this Domain represents. Domain labels cannot be longer than 63 characters and must conform to RFC1035. Domains must be unique on Linode’s platform, including across different Linode accounts; there cannot be two Domains representing the same domain. |
expire_sec | integerThe amount of time in seconds that may pass before this Domain is no longer authoritative.
|
group | string
1..50
charactersThe group this Domain belongs to. This is for display purposes only. |
id | integerRead-only This Domain’s unique ID |
master_ips | array
of stringsThe IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integerThe amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integerThe interval, in seconds, at which a failed refresh should be retried.
|
soa_email | string<email>Start of Authority email address. This is required for |
status | stringEnum:
disabled
active
Default:
activeUsed to control whether this Domain is currently being rendered. |
tags | array
of stringsAn array of tags applied to this object. Tags are for organizational purposes only. |
ttl_sec | integer“Time to Live” - the amount of time in seconds that this Domain’s records may be cached by resolvers or other domain servers.
|
type | stringEnum:
master
slaveWhether this Domain represents the authoritative source of information for the domain it describes (“master”), or whether it is a read-only copy of a master (“slave”). |
errors | array
of objects
|