api_keys.php¶
Модуль управления API-ключами: создание, редактирование, удаление и просмотр ключей с поддержкой привязки к серверам и ограничением по IP
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
add | создание ключа | Создает новый API-ключ для клиента. Если у клиента есть активные сервисы или баланс, ключ может быть привязан к серверу. |
add_history | добавление записи в историю | Добавляет запись о событии в историю API-ключей. |
count_owned | подсчет собственных ключей | Возвращает количество API-ключей, принадлежащих текущему клиенту. |
delete | удаление ключа | Удаляет API-ключ. |
edit | редактирование ключа | Редактирует существующий API-ключ (название, IP-адреса или привязку к серверу). |
history | просмотр истории | Возвращает историю изменений для API-ключей. |
list | получение списка ключей | Возвращает список всех API-ключей текущего клиента. |
list_for_customer | список для клиента | Возвращает список API-ключей, доступных конкретному клиенту. |
list_for_server | список для сервера | Возвращает список API-ключей, привязанных к конкретному серверу. |
view | просмотр ключа | Возвращает детальную информацию об одном API-ключе. |
api_keys/add¶
Создает новый API-ключ для клиента. Если у клиента есть активные сервисы или баланс, ключ может быть привязан к серверу.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: add |
| token | ✅ | string | Токен авторизации |
| params[name] | ✅ | string | Название API-ключа |
| params[server_id] | ❌ | int | ID сервера для привязки ключа. Если не указан, ключ действует на все серверы клиента. |
| params[ip] | ❌ | string | Список разрешенных IP-адресов или подсетей (через пробел). Пример: 192.168.1.1/24 10.0.0.5 |
| params[active] | ❌ | int | Статус ключа (1 - активен, 0 - деактивирован). По умолчанию 1. |
| params[login_notify_method] | ✅ | string | Метод уведомления о входе. Допустимые значения: none, email, webhook |
| params[login_notify_address] | ❌ | string | Адрес для уведомлений (email или URL). Зависит от выбранного метода. |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "add",
"data": {
"id": 1,
"name": "My Key",
"token_view": "a1b2c3d4e5f6g7h8i9j0",
"server_id": 123,
"ip": "192.168.1.1/24 10.0.0.5",
"active": 1,
"login_notify_method": "email",
"login_notify_address": "user@example.com",
"customer_id": "12345",
"api_key": "a1b2c3d4e5f6g7h8i9j0-a1b2c3d4e5f6g7h8i9j0"
}
}
Примеры ошибок
api_keys/add_history¶
Добавляет запись о событии в историю API-ключей.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: add_history |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID API-ключа для привязки истории. Должен быть > 0. |
| params[log_line] | ✅ | string | Текст записи в лог (событие) |
Пример запроса
api_keys/count_owned¶
Возвращает количество API-ключей, принадлежащих текущему клиенту.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: count_owned |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
api_keys/delete¶
Удаляет API-ключ.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID удаляемого ключа (должен быть > 0) |
Пример запроса
api_keys/edit¶
Редактирует существующий API-ключ (название, IP-адреса или привязку к серверу).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: edit |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID редактируемого ключа |
| params[name] | ❌ | string | Новое название ключа |
| params[active] | ❌ | int | Статус активности ключа (1 - активен, 0 - деактивирован). По умолчанию 1. |
| params[ip] | ❌ | string | Список разрешенных IP-адресов или подсетей (через пробел). Пример: 192.168.1.1/24 10.0.0.5 |
| params[login_notify_method] | ❌ | string | Метод уведомления: none, email, webhook |
| params[login_notify_address] | ❌ | string | Адрес для уведомлений (email или URL для webhook) |
Пример запроса
curl -s "https://invapi.hostkey.com/api_keys.php" -X POST \
--data "action=edit" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=123" \
--data "params[name]=NewKeyName" \
--data "params[active]=1" \
--data "params[ip]=192.168.1.1/24 10.0.0.5" \
--data "params[login_notify_method]=email" \
--data "params[login_notify_address]=admin@example.com"
api_keys/history¶
Возвращает историю изменений для API-ключей.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: history |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID конкретного API-ключа для фильтрации истории (должен быть > 0) |
| params[customer_id] | ✅ | int | ID клиента для проверки принадлежности ключа |
| params[period_from] | ❌ | string | Дата начала периода (формат Y-m-d H:i:s). По умолчанию 'now' |
| params[period_to] | ❌ | string | Дата окончания периода (формат Y-m-d H:i:s). По умолчанию текущая дата до конца дня |
Пример запроса
Пример успешного ответа
api_keys/list¶
Возвращает список всех API-ключей текущего клиента.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Действие: list |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
api_keys/list_for_customer¶
Возвращает список API-ключей, доступных конкретному клиенту.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: list_for_customer |
| token | ✅ | string | Токен авторизации |
| params[customer_id] | ✅ | int | ID клиента (обязателен для выполнения запроса) |
Пример запроса
Пример успешного ответа
api_keys/list_for_server¶
Возвращает список API-ключей, привязанных к конкретному серверу.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: list_for_server |
| token | ✅ | string | Токен авторизации |
| params[server_id] | ✅ | int | ID сервера для фильтрации ключей. Должен быть > 0. |
Пример запроса
Пример успешного ответа
api_keys/view¶
Возвращает детальную информацию об одном API-ключе.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Method identifier: view |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID API-ключа для просмотра |
Пример запроса