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/domains
linode-cli domains list
Response 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 | integer Read-only The current page. | ||||||||||||||||||||||||||||
pages | integer Read-only The total number of pages. | ||||||||||||||||||||||||||||
results | integer Read-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 create
OAuth.
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/domains
linode-cli domains create \
--type master \
--domain example.org \
--soa_email admin@example.org
Request Body Schema
axfr_ips | array
of strings The 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 | integer The 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 strings The IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integer The amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integer The 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 | string Enum:
disabled
active
Default:
active Used to control whether this Domain is currently being rendered. |
tags | array
of strings An 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 | string Enum:
master
slave Whether 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 strings The 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 | integer The 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 | integer Read-only This Domain’s unique ID |
master_ips | array
of strings The IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integer The amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integer The 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 | string Enum:
disabled
active
Default:
active Used to control whether this Domain is currently being rendered. |
tags | array
of strings An 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 | string Enum:
master
slave Whether 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 import
OAuth.
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/import
linode-cli domains import --domain example.com --remote_nameserver examplenameserver.com
Request Body Schema
domain Required | string The domain to import. |
remote_nameserver Required | string The 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 strings The 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 | integer The 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 | integer Read-only This Domain’s unique ID |
master_ips | array
of strings The IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integer The amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integer The 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 | string Enum:
disabled
active
Default:
active Used to control whether this Domain is currently being rendered. |
tags | array
of strings An 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 | string Enum:
master
slave Whether 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 | integer RequiredThe ID of the Domain to access. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
-X DELETE \
https://api.linode.com/v4/domains/1234
linode-cli domains delete 1234
Response 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 view
OAuth.
domains:read_only
Authorizations
personalAccessToken | |
oauth | domains:read_only |
Path Parameters
domainId | integer RequiredThe ID of the Domain to access. |
Request Samples
curl -H "Authorization: Bearer $TOKEN" \
https://api.linode.com/v4/domains/123
linode-cli domains view 123
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 strings The 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 | integer The 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 | integer Read-only This Domain’s unique ID |
master_ips | array
of strings The IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integer The amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integer The 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 | string Enum:
disabled
active
Default:
active Used to control whether this Domain is currently being rendered. |
tags | array
of strings An 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 | string Enum:
master
slave Whether 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 update
OAuth.
domains:read_write
Authorizations
personalAccessToken | |
oauth | domains:read_write |
Path Parameters
domainId | integer RequiredThe 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/123
linode-cli domains update 1234 \
--retry_sec 7200 \
--ttl_sec 300
Request Body Schema
axfr_ips | array
of strings The 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 | integer The 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 strings The IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integer The amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integer The 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 | string Enum:
disabled
active
Default:
active Used to control whether this Domain is currently being rendered. |
tags | array
of strings An 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 | string Enum:
master
slave Whether 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 strings The 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 | integer The 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 | integer Read-only This Domain’s unique ID |
master_ips | array
of strings The IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integer The amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integer The 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 | string Enum:
disabled
active
Default:
active Used to control whether this Domain is currently being rendered. |
tags | array
of strings An 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 | string Enum:
master
slave Whether 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 clone
OAuth.
domains:read_write
Authorizations
personalAccessToken | |
oauth | domains:read_write |
Path Parameters
domainId | string RequiredID 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/clone
linode-cli domains clone 123 --domain example.com
Request 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 strings The 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 | integer The 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 | integer Read-only This Domain’s unique ID |
master_ips | array
of strings The IP addresses representing the master DNS for this Domain. At least one value is required
for |
refresh_sec | integer The amount of time in seconds before this Domain should be refreshed.
|
retry_sec | integer The 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 | string Enum:
disabled
active
Default:
active Used to control whether this Domain is currently being rendered. |
tags | array
of strings An 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 | string Enum:
master
slave Whether 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
|