REST API
Управляйте отслеживаемыми доменами и получайте их статус по HTTPS. Все ответы в JSON; успешные ответы содержат данные в поле "data".
https://noexpire.ru/api/v1
Аутентификация
Создайте персональный токен на странице API-токенов и передавайте его в заголовке Authorization. Токены «только чтение» могут получать список и статус доменов; токены «чтение и запись» также добавляют и удаляют домены. Токен работает с командой, которая была текущей при его создании; при исключении участника из команды его токены этой команды отзываются.
Authorization: Bearer <token> Accept: application/json
Ограничения
До 60 запросов в минуту на аккаунт; сверх этого API отвечает 429 с заголовком Retry-After. Добавление доменов подчиняется тем же правилам, что и в личном кабинете: действует лимит пробного периода, оплачиваемое количество обновляется автоматически.
Методы
- GET /api/v1/domains
- Список ваших доменов. Параметры: q (поиск по имени), per_page (1-100, по умолчанию 50), page. Постранично, с полями "links" и "meta".
- GET /api/v1/domains/{name}
- Статус одного домена: регистрация, SSL-сертификат, статусы в реестре, раздел, теги и поддомены (дополнительные SSL-хосты).
- POST /api/v1/domains
- Добавить домены: {"domains": ["example.com", "example.org"]} или {"domain": "example.com"}. Ответ 201 с добавленными доменами; в "meta" перечислены пропущенные (уже отслеживаются) и некорректные имена. Проверки запускаются сразу.
- DELETE /api/v1/domains/{name}
- Перестать отслеживать домен (204 No Content).
Значения статусов
status, registration.status и ssl.status принимают значения ok, warning, urgent или unknown (как светофор в личном кабинете). Даты в формате ISO 8601.
Ошибки
401 нет токена или он неверный, 403 у токена нет нужного доступа, 404 домена нет в вашем аккаунте, 422 ошибка проверки данных или лимит пробного периода ({"message": ..., "errors": {...}}), 429 слишком много запросов.
Пример
curl -H "Authorization: Bearer $TOKEN" -H "Accept: application/json" \
https://noexpire.ru/api/v1/domains/example.com
{
"data": {
"name": "example.com",
"status": "warning",
"section": "Clients",
"tags": ["wordpress"],
"registration": {"status": "ok", "expires_at": "2027-03-01T00:00:00+00:00", "days_left": 136, "registrar": "Example Registrar", "registry_statuses": ["clientTransferProhibited"], ...},
"ssl": {"status": "warning", "valid_to": "2026-11-10T12:00:00+00:00", "days_left": 25, "issuer": "Let's Encrypt", "chain_valid": true, "hostname_valid": true, ...},
"subdomains": [{"hostname": "shop.example.com", "ssl": {...}}]
}
}
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"domains": ["example.org"]}' https://noexpire.ru/api/v1/domains