Обзор API

Базовый URL: https://api.1bytedns.ru/client/v1

Все эндпоинты возвращают JSON-ответы. Каждый ответ содержит поле success.

Быстрый старт

Создание API токена

API токены можно создавать только через веб-интерфейс. Войдите в аккаунт, перейдите в API Токены и создайте новый токен с нужным именем, правами, scope и сроком действия.

Важно: Полное значение токена показывается только один раз при создании. Сохраните его надёжно.

Список ваших зон

curl -s https://api.1bytedns.ru/client/v1/zones \
  -H "Authorization: Bearer abc123def456ghi789jkl012mno345pqr678stu901vwx234" | python3 -m json.tool

Создание зоны

curl -s -X POST https://api.1bytedns.ru/client/v1/zones \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "example.com", "default_ttl": 3600}'

Добавление DNS записи

curl -s -X POST https://api.1bytedns.ru/client/v1/zones/42/dns_records \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "www.example.com", "content": "192.0.2.1", "ttl": 3600}'

Аутентификация

Все запросы к API требуют Bearer токен в заголовке Authorization:

Authorization: Bearer <api_token>

Разрешения

РазрешениеОписание
zones:readGET зоны
zones:editPOST/PATCH/DELETE зоны
records:readGET записи
records:editPOST/PATCH/DELETE записи
groups:readGET группы адресов
groups:editPOST/PATCH/DELETE группы адресов
health:readGET статус здоровья
health:editPATCH настройки здоровья

Scope токена (опционально)

Токены можно ограничить конкретными зонами (scope_zone_ids) или записями (scope_record_ids). Если scope задан, запросы вне scope возвращают 403.

Неудачная аутентификация

{
  "success": false,
  "result": null,
  "errors": [
    {"code": 1011, "message": "Missing Authorization header"}
  ],
  "messages": []
}

Формат ответов

Успех

{
  "success": true,
  "result": { ... },
  "errors": [],
  "messages": []
}

Ошибка

{
  "success": false,
  "result": null,
  "errors": [
    {"code": 1001, "message": "Zone not found"}
  ],
  "messages": []
}

Пагинация

{
  "success": true,
  "result": [ ... ],
  "result_info": {
    "page": 1,
    "per_page": 20,
    "count": 5,
    "total_count": 42,
    "total_pages": 3
  },
  "errors": [],
  "messages": []
}

Успех с предупреждениями

{
  "success": true,
  "result": { ... },
  "errors": [],
  "messages": [
    {"code": 20001, "message": "Example informational message", "type": "warn"}
  ]
}

Rate Limiting

ЭндпоинтЛимитОкно
Все (глобальный)1200 запросов60 секунд
Batch операции60 запросов60 секунд
Создание зон30 запросов60 секунд

Каждый ответ включает заголовки rate limit:

X-RateLimit-Limit: 1200
X-RateLimit-Remaining: 1195
X-RateLimit-Reset: 1705312860

При превышении API возвращает HTTP 429:

{
  "success": false,
  "result": null,
  "errors": [{"code": 1010, "message": "Rate limit exceeded"}],
  "messages": []
}

Коды ошибок

КодHTTPОписание
1000400Bad Request — ошибка валидации
1001404Ресурс не найден (зона, запись, токен)
1002403Доступ запрещён — ресурс не принадлежит пользователю
1003409У пользователя уже есть зона с таким именем (уникальность в рамках пользователя)
1004400Неверное доменное имя
1005400Конфликт CNAME — не может сосуществовать с другими типами
1006404Запись не найдена
1007400Неверные данные записи
1008400NS apex заблокирован — системные записи нельзя изменять
1009400Зона не пуста — нельзя удалить
1010429Превышен лимит запросов
1011401Неверный или истёкший API токен
1012400/422Неверный batch изменений
1013404Группа адресов не найдена
1014400Член или группа уже существуют
1015400Неверный IP-адрес
1016400Достигнут лимит зон (300)
1017409IXFR требует сначала включить передачу зоны
1018409Нельзя включить IXFR: в зоне есть записи, привязанные к группам адресов
1019409Нельзя привязать группу адресов: IXFR включён для этой зоны

Обновлено: 2026-06-26