Начало работы
API позволяет получать источники 3x-ui, создавать итоговые подписки, назначать им источники, изменять срок действия и активность, а также удалять подписки.
Базовый адрес
https://subs.dadway.ruИнтерактивная схема
Получение токена
- Вернитесь в административную панель.
- Откройте раздел Настройки.
- Нажмите Сгенерировать API-токен.
- Скопируйте и сохраните токен: полное значение показывается только один раз.
Авторизация
Каждый запрос к /api/v1/* должен содержать заголовок Bearer. Для запросов с телом добавьте Content-Type: application/json.
Authorization: Bearer dws_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
Не передавайте API-токен в URL и не сохраняйте его в Git. Перевыпуск токена немедленно отключает предыдущий.
Получение ID источников
Перед созданием подписки запросите числовые ID доступных источников.
GET
/api/v1/sourcescurl -sS https://subs.dadway.ru/api/v1/sources \
-H "Authorization: Bearer $API_TOKEN"
Ответ содержит id, unique_id, название, URL, порядок сортировки, статус и срок каждого источника.
Создание итоговой подписки
POST
/api/v1/subscriptionscurl -sS -X POST https://subs.dadway.ru/api/v1/subscriptions \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Клиент №1",
"environment": "test",
"public_id": "client-001",
"remark": "dadway.ru",
"active": true,
"expires_at": "2026-12-31T23:59:59Z",
"source_ids": [1, 2, 5],
"update_interval_hours": 1
}'
| Поле | Обязательно | Описание |
|---|---|---|
name | Да | Название, до 120 символов |
environment | Нет | prod или test; по умолчанию test |
public_id | Нет | Уникальный ID; если не указан, генерируется автоматически |
remark | Нет | Примечание при импорте, по умолчанию dadway.ru |
active | Нет | По умолчанию true |
expires_at | Нет | Дата ISO 8601 или null |
source_ids | Нет | Массив числовых ID источников |
update_interval_hours | Нет | От 1 до 24, по умолчанию 1 час |
Минимальное тело запроса: {"name":"Новая подписка"}. Сервер вернёт готовый public_url.
Получение и изменение подписки
| Метод | Маршрут | Назначение |
|---|---|---|
| GET | /api/v1/subscriptions | Все подписки |
| GET | /api/v1/subscriptions/{public_id} | Одна подписка |
| PATCH | /api/v1/subscriptions/{public_id}/expiration | Изменить срок |
| PATCH | /api/v1/subscriptions/{public_id}/status | Блокировать или активировать |
| PUT | /api/v1/subscriptions/{public_id}/sources | Полностью заменить список источников |
Продлить срок
curl -sS -X PATCH \
https://subs.dadway.ru/api/v1/subscriptions/client-001/expiration \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expires_at":"2027-01-31T23:59:59Z"}'
Заблокировать
curl -sS -X PATCH \
https://subs.dadway.ru/api/v1/subscriptions/client-001/status \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"active":false}'
Заменить источники
curl -sS -X PUT \
https://subs.dadway.ru/api/v1/subscriptions/client-001/sources \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"source_ids":[2,3,7]}'
Окончившаяся подписка возвращает пустой ответ
410 Gone. Отключённая подписка возвращает пустой 404 Not Found; источники при этом не запрашиваются.Удаление подписки
DELETE
/api/v1/subscriptions/{public_id}curl -sS -X DELETE \
https://subs.dadway.ru/api/v1/subscriptions/client-001 \
-H "Authorization: Bearer $API_TOKEN"Успешный ответ: 204 No Content. Публичная ссылка перестаёт существовать.
Коды ответов
200 OK | Запрос выполнен |
|---|---|
201 Created | Подписка создана |
204 No Content | Подписка удалена или токен отозван |
401 Unauthorized | Токен отсутствует или недействителен |
404 Not Found | Подписка не найдена или отключена |
409 Conflict | public_id уже существует |
410 Gone | Срок публичной подписки истёк |
422 Unprocessable Entity | Некорректные поля или ID источников |
Важные ограничения
- Используйте API только через HTTPS.
- Храните токен в переменной окружения или менеджере секретов.
- При подозрении на утечку перевыпустите токен в «Настройках».
- Блокировка в DadwaySubs закрывает получение и обновление подписки. Уже импортированные VLESS/VMess-ключи необходимо дополнительно отключать на серверах 3x-ui.