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)
Получить список своих доменов
По умолчанию максимальное количество записей в ответе равно 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
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
[- {
- "id": 0,
- "name": "string",
- "user_id": 0,
- "create_date": 0,
- "change_date": 0,
- "tags": [
- 0
], - "ips": [
- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
]
}
]
Создать домен
Создать домен для владельца токена
header Parameters
X-Token | string (X-Token) Default: Selectel token |
Request Body schema: application/jsonrequired
name required | string (Name) |
bind_zone | string (Bind Zone) |
Responses
Request samples
- Payload
{- "name": "string",
- "bind_zone": "string"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "id": 0,
- "name": "string",
- "user_id": 0,
- "create_date": 0,
- "change_date": 0,
- "tags": [
- 0
], - "ips": [
- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
]
}
Получить информацию о заданном домене
Получить информацию о домене по его идентификатору или доменному имени
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
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "id": 0,
- "name": "string",
- "user_id": 0,
- "create_date": 0,
- "change_date": 0,
- "tags": [
- 0
], - "ips": [
- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
]
}
Обновить домен
Обновить домен по его идентификатору или доменному имени
path Parameters
domain required | string (Domain) |
header Parameters
X-Token | string (X-Token) Default: Selectel token |
Request Body schema: application/jsonrequired
tags required | Array of integers (Tags) |
Responses
Request samples
- Payload
{- "tags": [
- 0
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "id": 0,
- "name": "string",
- "user_id": 0,
- "create_date": 0,
- "change_date": 0,
- "tags": [
- 0
], - "ips": [
- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
]
}
Получить файл зоны указанного домена в формате 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 |
Request Body schema: application/jsonrequired
disabled required | boolean (Disabled) |
Responses
Request samples
- Payload
{- "disabled": true
}
Response samples
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "error": "string",
- "field": "string"
}
Получить список записей, принадлежащих заданному домену
По умолчанию максимальное количество записей в ответе равно 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
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
[- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
]
Установить в зоне перечисленные записи
Установить в выбранном домене переданные записи.
Отсуствующие в запросе записи будут удалены из домена.
Записи в запросе, не имеющие дубликатов по имени + типу, буду созданы.
Если у записей в запросе есть дубликаты по имени + типу, то из существующих дубликатов будут поочередно выбираться записи, содержимое которых будет почередно обновлено в соотвествии с переданными записями. Если дублирующих записей в запросе больше чем в домене, то существующие дубликаты будут обновлены, а остальные записи созданы.
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/jsonrequired
type required | string (Type) |
ttl | integer (Ttl) Default: 3600 |
name required | string (Name) |
content required | string <ipv4> (Content) |
Responses
Request samples
- Payload
[- {
- "type": "A",
- "ttl": 3600,
- "name": "string",
- "content": "192.168.0.1"
}
]
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "applied": true,
- "changes": {
- "create": [
- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
], - "update": [
- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
], - "delete": [
- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
]
}
}
Создать ресурсную запись для заданного домена
Создать ресурсную запись для указанного идентификатора домена или доменного имени
path Parameters
domain required | string (Domain) |
header Parameters
X-Token | string (X-Token) Default: Selectel token |
Request Body schema: application/jsonrequired
type required | string (Type) |
ttl | integer (Ttl) Default: 3600 |
name required | string (Name) |
content required | string <ipv4> (Content) |
Responses
Request samples
- Payload
{- "type": "A",
- "ttl": 3600,
- "name": "string",
- "content": "192.168.0.1"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "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
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "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/jsonrequired
type required | string (Type) |
ttl | integer (Ttl) |
name | string (Name) |
content | string <ipv4> (Content) |
Responses
Request samples
- Payload
{- "type": "A",
- "ttl": 0,
- "name": "string",
- "content": "192.168.0.1"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "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
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "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/jsonrequired
Array of any (Create) | |
Array of any (Update) | |
Array of objects (Delete) |
Responses
Request samples
- Payload
{- "create": [
- {
- "type": "A",
- "ttl": 3600,
- "name": "string",
- "content": "192.168.0.1"
}
], - "update": [
- {
- "id": 0,
- "type": "A",
- "ttl": 0,
- "name": "string",
- "content": "192.168.0.1"
}
], - "delete": [
- {
- "id": 0
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 422
- 500
[- {
- "type": "A",
- "ttl": 0,
- "name": "string",
- "id": 0,
- "change_date": 0,
- "content": "192.168.0.1"
}
]
Скопировать все зоны в DNSv2
header Parameters
X-Token | string (X-Token) Default: Selectel token |
Request Body schema: application/jsonrequired
project_id required | string (Project Id) |
domains | Array of integers (List of domains ID) |
Responses
Request samples
- Payload
{- "project_id": "string",
- "domains": [
- 0
]
}
Response samples
- 400
- 401
- 403
- 404
- 409
- 422
- 500
{- "error": "string",
- "field": "string"
}