Перейти к основному содержимому

DNS API (v1.0.0)

Managing DNS hosting domains and resource records (legacy), tagging domains for grouping and filtering. The service is outdated, please transfer domains and resource records to the DNS hosting (actual)

Tags

Получить информацию о заданном тэге

Получить параметры указанного тэга

path Parameters
tag_id
required
integer (Tag Id) >= 0
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "domains": [
    ]
}

Обновить тэг

Обновить указанный тэг

path Parameters
tag_id
required
integer (Tag Id) >= 0
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Request Body schema: application/json
required
name
required
string (Name) [ 1 .. 50 ] characters
domains
Array of integers (Domains) <= 30 items
Default: []

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "domains": [ ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "domains": [
    ]
}

Удалить тэг

Удалить указанный тэг с аккаунта

path Parameters
tag_id
required
integer (Tag Id) >= 0
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

Content type
application/json
null

Domains

Получить список своих доменов

По умолчанию максимальное количество записей в ответе равно 1000

Для работы с большим количеством записей необходимо использовать параметры limit и offset

query Parameters
limit
integer (Limit) >= 1
Default: 1000
offset
integer (Offset) >= 0
Default: 0
filter
string (Filter)
show_ips
boolean (Show Ips)
Default: false
tags
Array of strings (Tags)
sort_by
Array of strings (Сортировка)

Список строк в формате [column_name].[asc|desc]

change_date
string (Change Date)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Создать домен

Создать домен для владельца токена

header Parameters
X-Token
string (X-Token)
Default:

Selectel token

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

Responses

Request samples

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

Response samples

Content type
application/json
Example
{
  • "id": 0,
  • "name": "string",
  • "user_id": 0,
  • "create_date": 0,
  • "change_date": 0,
  • "tags": [
    ],
  • "ips": [
    ]
}

Получить информацию о заданном домене

Получить информацию о домене по его идентификатору или доменному имени

path Parameters
domain
required
string (Domain)
query Parameters
show_ips
boolean (Show Ips)
Default: false
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "user_id": 0,
  • "create_date": 0,
  • "change_date": 0,
  • "tags": [
    ],
  • "ips": [
    ]
}

Удалить домен

Удалить домен по его идентификатору или доменному имени

path Parameters
domain
required
string (Domain)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

Content type
application/json
null

Обновить домен

Обновить домен по его идентификатору или доменному имени

path Parameters
domain
required
string (Domain)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Request Body schema: application/json
required
tags
required
Array of integers (Tags)

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "user_id": 0,
  • "create_date": 0,
  • "change_date": 0,
  • "tags": [
    ],
  • "ips": [
    ]
}

Получить файл зоны указанного домена в формате BIND (named)

Получить файл зоны по идентификатору домена или его доменному имени, содержащий в себе информацию о записях принадлежащих домену

path Parameters
domain
required
string (Domain)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Получить статус зоны на NS серверах Selectel

path Parameters
domain
required
string (Domain)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

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

Изменить статус зоны на NS серверах Selectel

path Parameters
domain
required
string (Domain)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

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

Responses

Request samples

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

Response samples

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

Records

Получить список записей, принадлежащих заданному домену

По умолчанию максимальное количество записей в ответе равно 1000

Для работы с большим количеством записей необходимо использовать параметры limit и offset

path Parameters
domain
required
string (Domain)
query Parameters
limit
integer (Limit) >= 1
Default: 1000
offset
integer (Offset) >= 0
Default: 0
filter
string (Filter)
content
string (Content)
record_types
Array of strings (Record Types)
search
string (Search)
sort_by
Array of strings (Сортировка)

Список строк в формате [column_name].[asc|desc]

change_date
string (Change Date)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Установить в зоне перечисленные записи

Установить в выбранном домене переданные записи.

Отсуствующие в запросе записи будут удалены из домена.

Записи в запросе, не имеющие дубликатов по имени + типу, буду созданы.

Если у записей в запросе есть дубликаты по имени + типу, то из существующих дубликатов будут поочередно выбираться записи, содержимое которых будет почередно обновлено в соотвествии с переданными записями. Если дублирующих записей в запросе больше чем в домене, то существующие дубликаты будут обновлены, а остальные записи созданы.

path Parameters
domain
required
string (Domain)
query Parameters
apply_changes
boolean (Apply Changes)
Default: false
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Request Body schema: application/json
required
Array
type
required
string (Type)
ttl
integer (Ttl)
Default: 3600
name
required
string (Name)
content
required
string <ipv4> (Content)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "applied": true,
  • "changes": {
    }
}

Создать ресурсную запись для заданного домена

Создать ресурсную запись для указанного идентификатора домена или доменного имени

path Parameters
domain
required
string (Domain)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Request Body schema: application/json
required
type
required
string (Type)
ttl
integer (Ttl)
Default: 3600
name
required
string (Name)
content
required
string <ipv4> (Content)

Responses

Request samples

Content type
application/json
Example
{
  • "type": "A",
  • "ttl": 3600,
  • "name": "string",
  • "content": "192.168.0.1"
}

Response samples

Content type
application/json
Example
{
  • "type": "A",
  • "ttl": 0,
  • "name": "string",
  • "id": 0,
  • "change_date": 0,
  • "content": "192.168.0.1"
}

Получить параметры ресурсной записи

Получить параметры ресурсной записи для указанного идентификатора домена или доменного имени

path Parameters
record_id
required
integer (Record Id)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

Content type
application/json
Example
{
  • "type": "A",
  • "ttl": 0,
  • "name": "string",
  • "id": 0,
  • "change_date": 0,
  • "content": "192.168.0.1"
}

Обновить ресурсную запись

Обновить поля ресурсной записи для указанного идентификатора домена или доменного имени

path Parameters
record_id
required
integer (Record Id)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Request Body schema: application/json
required
type
required
string (Type)
ttl
integer (Ttl)
name
string (Name)
content
string <ipv4> (Content)

Responses

Request samples

Content type
application/json
Example
{
  • "type": "A",
  • "ttl": 0,
  • "name": "string",
  • "content": "192.168.0.1"
}

Response samples

Content type
application/json
Example
{
  • "type": "A",
  • "ttl": 0,
  • "name": "string",
  • "id": 0,
  • "change_date": 0,
  • "content": "192.168.0.1"
}

Удалить ресурсную запись

Удалить ресурсную запись принадлежащую указанному идентификатору домена или доменному имени

path Parameters
record_id
required
integer (Record Id)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Responses

Response samples

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

Операции над несколькими записями, принадлежащими домену

Позволяет создавать, обновлять и удалять сразу несколько записей, принадлежащих домену

В процессе обработки запроса изменения в базе выполняются строго в следующем порядке:

  • Удаление записей (массив delete)
  • Создание записей (массив create)
  • Обновление записей (массив update)

Если во время обработки какой-либо записи будет выявлена ошибка (например, попытка создать SOA-запись), то все изменения откатываются и возвращается список ошибок. Во время выполнения запроса валидации подвергаются все записи, т.е. ошибок может быть несколько

path Parameters
domain
required
string (Domain)
header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Request Body schema: application/json
required
Array of any (Create)
Array of any (Update)
Array of objects (Delete)

Responses

Request samples

Content type
application/json
{
  • "create": [
    ],
  • "update": [
    ],
  • "delete": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Moving

Скопировать все зоны в DNSv2

header Parameters
X-Token
string (X-Token)
Default:

Selectel token

Request Body schema: application/json
required
project_id
required
string (Project Id)
domains
Array of integers (List of domains ID)

Responses

Request samples

Content type
application/json
{
  • "project_id": "string",
  • "domains": [
    ]
}

Response samples

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