> For the complete documentation index, see [llms.txt](https://incy.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://incy.gitbook.io/docs/premium-api/admin-hwids.md).

# Admin-HWIDS

`adminHwids` — список HWID устройств, которым провайдер выдал **админ-привилегии** в рамках конкретного домена подписки. Привилегий две: просмотр/правка конфигов серверов прямо в приложении и отправка push-уведомлений в обход модерации.

***

## Где задаётся

Провайдер добавляет HWID в [веб-панели](https://web.incy-panel.com/) в настройках домена, в разделе **Админ-доступ**. Поле хранится в `SubscriptionSettings` и возвращается клиенту через [Premium API](broken://pages/820e06601eb76c161f3066c4002c3997b216e29a):

| Поле         | Тип        | Описание                                                                   |
| ------------ | ---------- | -------------------------------------------------------------------------- |
| `adminHwids` | `string[]` | Массив HWID в формате, идентичном тому, что клиент отправляет как `x-hwid` |

Формат HWID — см. [hwid.md](broken://pages/f22085ebd55110012420e6ec8ace93516218845a). Сравнение идёт **посимвольно** (без нормализации регистра), т. е. нужно скопировать HWID ровно в том виде, в каком его видит приложение в своих настройках.

***

## Привилегия 1: просмотр и правка конфигов серверов

Если HWID устройства входит в `adminHwids` текущей подписки:

* На карточке сервера в приложении появляется кнопка редактирования (обычно скрыта для остальных пользователей).
* Устройство может править параметры VLESS/VMess/Trojan/… прямо в UI: адрес, порт, UUID, transport-настройки.
* Правки действуют **только локально** на этом устройстве — они не уезжают обратно в подписку. При следующем `refresh` подписки сервер восстановится до версии провайдера.

Используется при отладке: провайдер в роли «своего» устройства может проверить работу конкретного ключа или параметра транспорта, не переписывая конфиг на стороне сервера.

***

## Привилегия 2: отправка уведомлений без модерации

По умолчанию любое уведомление, которое провайдер отправляет из панели, попадает в коллекцию `pendingNotifications` со статусом `pending` и ждёт одобрения модератора INCY (через бота поддержки).

Если в таргетинге указан **конкретный HWID** и этот HWID присутствует в `adminHwids` какого-либо верифицированного домена провайдера:

* Запись в `pendingNotifications` создаётся сразу со статусом `approved`.
* Поле `autoApproved: true`, `autoApproveReason: "adminHwid"` — для аудита.
* FCM-рассылка запускается немедленно — без ожидания модерации.

Это нужно для отладки собственных уведомлений: провайдер шлёт тест на своё личное устройство и мгновенно видит результат.

> **Важно:** auto-approve срабатывает только когда `targetSegment.hwid` задан **и** совпадает с одним из `adminHwids`. Уведомления без HWID-таргета или на чужой HWID всё равно проходят модерацию. Подробнее — [provider-notifications.md](broken://pages/1734274330d30f0a3ef3463d55c2d36cbdf30c40).

***

## Гигиена

* Храните в `adminHwids` только собственные устройства. Админ-доступ даёт обход модерации push-уведомлений — случайный HWID чужого пользователя сможет спамить остальных подписчиков.
* HWID устройства меняется при заводской очистке или переустановке ОС — список `adminHwids` нужно обновлять.
* Удаление HWID из списка вступает в силу при следующем получении конфига устройством (typical 1–5 минут, зависит от кеша).
