Skip to main content

DNS API (v2.0.0)

Managing DNS hosting zones and their resource record sets (RRSets) (actual)

RRSets

Managing DNS resource record sets (RRSets) within a DNS zone including creation, update, deletion.

List zone record sets

Returns a list of record sets in the zone.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

query Parameters
limit
integer (Limit) >= 1
Default: 1000

Maximum number of items to return in response. Used for pagination.

offset
integer (Offset) >= 0
Default: 0

Number of items to skip. Used for pagination.

sort_by
Array of strings (Sort By)
Default: "name.ascend"
Items Enum: "type.ascend" "type.descend" "name.ascend" "name.descend"

Sorting criteria for the results.

rrset_types
Array of strings (Rrset Types)

Filter record sets by the specified type.

name
string (Name)

Filter record sets by the specified name.

search
string (Search)

Search record sets that contain search value in name or in content of any included record.

managed_by
string <uuid> (Managed By)

Filter record sets by the identifier of the web resource that manages them.

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "next_offset": 0,
  • "result": [
    ]
}

Create record set

Creates record set in specified zone.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

Request Body schema: application/json
required
name
required
string (Name)

The name of the record set.

ttl
required
integer (Ttl) [ 60 .. 604800 ]

Time-to-live (TTL) for the records, in seconds. Controls how long DNS resolvers cache these records.

type
required
string (AllowedRecordTypes)
Enum: "A" "AAAA" "ALIAS" "CAA" "CNAME" "DNAME" "HTTPS" "MX" "NS" "SOA" "SRV" "SVCB" "SSHFP" "TXT"

The DNS record type (e.g., A, AAAA, MX, TXT, CNAME).

required
Array of objects (Records) [ 1 .. 100 ] items

List of DNS records in this record set.

Comment (string) or Comment (null) (Comment)

Optional comment.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "ttl": 60,
  • "type": "A",
  • "records": [
    ],
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "ttl": 0,
  • "type": "A",
  • "records": [
    ],
  • "comment": "string",
  • "managed_by": "d66b59ce-4322-4910-8d10-1d389ae8f1ba",
  • "zone_id": "4495020a-236f-46e0-9453-e3f9cc6476f4"
}

Delete record set

Deletes a record set by its unique identifier.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

rrset_id
required
string <uuid> (Rrset Id)

Record set identifier.

header Parameters
X-Managed-By (string) or X-Managed-By (null) (X-Managed-By)

Identifier of the web resource that manages record set.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "description": "string",
  • "location": "string"
}

Get record set

Returns information about the specified record set.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

rrset_id
required
string <uuid> (Rrset Id)

Record set identifier.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "ttl": 0,
  • "type": "A",
  • "records": [
    ],
  • "comment": "string",
  • "managed_by": "d66b59ce-4322-4910-8d10-1d389ae8f1ba",
  • "zone_id": "4495020a-236f-46e0-9453-e3f9cc6476f4"
}

Update record set

Updates one or more attributes of the specified record set.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

rrset_id
required
string <uuid> (Rrset Id)

Record set identifier.

header Parameters
X-Managed-By (string) or X-Managed-By (null) (X-Managed-By)

Identifier of the web resource that manages record set.

Request Body schema: application/json
required
ttl
required
integer (Ttl) [ 60 .. 604800 ]

New time-to-live (TTL) for the records, in seconds.

required
Array of objects (Records) [ 1 .. 100 ] items

The updated list of records.

Comment (string) or Comment (null) (Comment)

Updated comment.

Responses

Request samples

Content type
application/json
{
  • "ttl": 60,
  • "records": [
    ],
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "description": "string",
  • "location": "string"
}

Zones

Managing DNS zones including creation, update, deletion, and ownership transfer.

Create zone

Creates zone using the provided attributes.

Authorizations:
iam_token_project_scoped
Request Body schema: application/json
required
name
required
string (Name)

The domain name for the new zone.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "project_id": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "comment": "string",
  • "disabled": false,
  • "protected": false,
  • "delegation_checked_at": "string",
  • "last_delegated_at": "string",
  • "last_check_status": false
}

Retrieve account zones information

Returns a paginated list of zones. By default, the maximum number of zones returned in the response is 1000.

To work with a larger number of zones, you need to use the limit and offset parameters.

Authorizations:
iam_token_project_scoped
query Parameters
limit
integer (Limit) >= 1
Default: 1000

Maximum number of items to return in response. Used for pagination.

offset
integer (Offset) >= 0
Default: 0

Number of items to skip. Used for pagination.

filter
string (Filter)

Filter zones by the specified name.

Array of Sort By (strings) or Sort By (null) (Sort By)
Default: "name.ascend"

Sorting criteria for the results.

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "next_offset": 0,
  • "result": [
    ]
}

Delete zone

Deletes zone by its unique identifier.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "description": "string",
  • "location": "string"
}

Retrieve specified zone information

Returns information about a specified zone.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "project_id": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "comment": "string",
  • "disabled": false,
  • "protected": false,
  • "delegation_checked_at": "string",
  • "last_delegated_at": "string",
  • "last_check_status": false
}

Update specified zone

Updates the comment of the specified zone.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

Request Body schema: application/json
required
comment
required
string (Comment) <= 255 characters

A new comment to associate with the zone.

Responses

Request samples

Content type
application/json
{
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "description": "string",
  • "location": "string"
}

Update zone state

Disables or enables zone maintenance.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

Request Body schema: application/json
required
disabled
required
boolean (Disabled)

New disabled status for the zone.

Responses

Request samples

Content type
application/json
{
  • "disabled": true
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "description": "string",
  • "location": "string"
}

Change zone owner

Transfers zone to another project.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

Request Body schema: application/json
required
project_id
required
string <uuid> (Project Id)

New project id.

Responses

Request samples

Content type
application/json
{
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "description": "string",
  • "location": "string"
}

Set zone protection from deletion

Enables or disables zone protection from deletion.

Authorizations:
iam_token_project_scoped
path Parameters
zone_id
required
string <uuid> (Zone Id)

Zone identifier.

Request Body schema: application/json
required
protected
required
boolean (Protected)

If True, the zone is protected from deletion.

Responses

Request samples

Content type
application/json
{
  • "protected": true
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "description": "string",
  • "location": "string"
}