API StealthSurf — авторизация, лимиты, формат запросов
Базовая информация об API: авторизация, лимиты, формат запросов и ответов.
Базовый URL
https://api.stealthsurf.netВсе запросы к API выполняются по HTTPS.
Авторизация
API использует Bearer-токены для авторизации. Передавайте API ключ в заголовке Authorization:
curl -X GET "https://api.stealthsurf.net/configs" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Формат API ключа
stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY
| |
prefix (8) secret (24, хешируется SHA-256)Максимум 5 API ключей на пользователя.
Rate Limiting
| Тип лимита | Значение |
|---|---|
| Глобальный лимит | 60 запросов за 60 секунд |
| Привязка лимита | По user_id для авторизованных, по IP для остальных |
| Специфичные лимиты | Указаны для каждого endpoint |
Ограничения по эндпоинтам
| Эндпоинт | Лимит |
|---|---|
POST /configs | 1 запрос/сек |
POST /configs/renewal/:id | 1 запрос/сек |
PATCH /configs/:id/settings | 1 запрос/сек |
PATCH /configs/:id/XrayConfig | 1 запрос/сек |
PATCH /configs/:id/awgConfig | 1 запрос/сек |
PATCH /configs/title/:id | 1 запрос/сек |
PATCH /configs/:id/auto-renewal | 1 запрос/сек |
POST /configs/makeBridge | 1 запрос/сек |
GET /configs/available-servers | 5 запросов/5 сек |
GET /configs/:id/serverStats | 3 запроса/5 сек |
POST /configs/:id/subconfig | 1 запрос/сек |
PATCH /configs/:id/subconfig | 1 запрос/сек |
DELETE /configs/:id/subconfig | 1 запрос/сек |
POST /configs/:id/resetXrayConfig | 1 запрос/4 сек |
POST /cloud-servers | 1 запрос/5 сек |
POST /cloud-servers/renewal | 1 запрос/5 сек |
POST /cloud-servers/:id/reboot | 1 запрос/30 сек |
GET /cloud-servers/:id/serverStats | 3 запроса/5 сек |
POST /cloud-servers/:server_id/configs | 1 запрос/сек |
PATCH /cloud-servers/:server_id/configs/:id/protocol | 1 запрос/сек |
PATCH /cloud-servers/:server_id/configs/:id/xray | 1 запрос/сек |
PATCH /cloud-servers/:server_id/configs/:id/awg | 1 запрос/сек |
PATCH /cloud-servers/:server_id/configs/:id/title | 1 запрос/сек |
DELETE /cloud-servers/:server_id/configs/:id | 1 запрос/сек |
POST /cloud-servers/:server_id/configs/:id/resetXrayConfig | 1 запрос/4 сек |
GET /paid-options | 60 запросов/мин |
POST /paid-options | 1 запрос/сек |
GET /paid-options/:id/devices | 60 запросов/мин |
DELETE /paid-options/:id/devices | 1 запрос/5 сек |
DELETE /paid-options/:id/devices/:id | 20 запросов/мин |
GET /paid-options/:id/subscription | 60 запросов/мин |
PATCH /paid-options/:id/limits | 1 запрос/5 сек |
GET /paid-options/:id/stats/:index | 3 запроса/5 сек |
POST /paid-options/:id/configs | 1 запрос/сек |
PATCH /paid-options/:id/configs/:configId/settings | 1 запрос/сек |
PATCH /paid-options/:id/configs/:configId/xray | 1 запрос/сек |
POST /paid-options/:id/configs/:configId/resetXrayConfig | 1 запрос/4 сек |
PATCH /paid-options/:id/configs/:configId/title | 1 запрос/сек |
POST /xray/keys | 1 запрос/сек |
PATCH /profile/subscriptionLink | 2 запроса/мин |
PATCH /profile/notification-settings | 5 запросов/мин |
GET /profile/referral/withdraw/sbp-bank-list | 5 запросов/5 сек |
GET /profile/promocodes | 30 запросов/мин |
POST /profile/custom-subscriptions | 3 запроса/5 сек |
PATCH /profile/custom-subscriptions/:id/title | 5 запросов/1 сек |
PUT /profile/custom-subscriptions/:id/items | 3 запроса/2 сек |
POST /profile/custom-subscriptions/:id/reset-key | 2 запроса/10 сек |
DELETE /profile/custom-subscriptions/:id | 3 запроса/2 сек |
PATCH /profile/custom-subscriptions/:id/devices/settings | 3 запроса/1 сек |
PATCH /profile/custom-subscriptions/:id/devices/:deviceId/blocked | 3 запроса/1 сек |
DELETE /profile/custom-subscriptions/:id/devices/:deviceId | 3 запроса/1 сек |
DELETE /profile/custom-subscriptions/:id/devices | 1 запрос/2 сек |
GET /profile/custom-subscriptions/:id/encrypted-subscription-link | 3 запроса/мин |
PATCH /profile/custom-subscriptions/:id/xray-template/settings | 3 запроса/сек |
PUT /profile/custom-subscriptions/:id/xray-template | 3 запроса/сек |
DELETE /profile/custom-subscriptions/:id/xray-template | 3 запроса/2 сек |
POST /profile/balance/topup | 1 запрос/сек |
GET /profile/balance/calculate | 5 запросов/сек |
PATCH /profile/devices/settings | 5 запросов/1 сек |
PATCH /profile/devices/:id/blocked | 5 запросов/1 сек |
DELETE /profile/devices/:id | 5 запросов/1 сек |
DELETE /profile/devices | 1 запрос/1 сек |
PATCH /paid-options/:id/titles/:index | 5 запросов/2 сек |
DELETE /paid-options/:id/titles/:index | 5 запросов/2 сек |
POST /paid-options/:id/configs/:configId/subconfig | 1 запрос/сек |
PATCH /paid-options/:id/configs/:configId/subconfig | 1 запрос/сек |
DELETE /paid-options/:id/configs/:configId/subconfig | 1 запрос/сек |
POST /cloud-servers/:server_id/proxies | 1 запрос/сек |
PATCH /cloud-servers/:server_id/proxies/:proxy_id/protocol | 1 запрос/сек |
PATCH /cloud-servers/:server_id/proxies/:proxy_id/title | 1 запрос/сек |
DELETE /cloud-servers/:server_id/proxies/:proxy_id | 1 запрос/сек |
PATCH /cloud-servers/:id/auto-renewal | 1 запрос/сек |
GET /paid-options/:id/configs/available-servers | 5 запросов/5 сек |
PATCH /paid-options/:id/auto-renewal | 1 запрос/сек |
GET /configs/:id/subconfig/protocols | 60 запросов/мин |
GET /paid-options/:id/locations | 10 запросов/5 сек |
GET /paid-options/:id/configs/:configId/subconfig/protocols | 60 запросов/мин |
PATCH /profile/custom-subscriptions/:id/items/order | 5 запросов/сек |
GET /profile/custom-subscriptions/:id/display/settings | 60 запросов/мин |
PATCH /profile/custom-subscriptions/:id/display/settings | 3 запроса/сек |
PATCH /profile/custom-subscriptions/:id/devices/:deviceId/title | 3 запроса/сек |
GET /profile/custom-subscriptions/:id/routing/configs/:type/:refId | 60 запросов/мин |
PUT /profile/custom-subscriptions/:id/routing/configs/:type/:refId | 3 запроса/сек |
DELETE /profile/custom-subscriptions/:id/routing/configs/:type/:refId | 3 запроса/2 сек |
GET /profile/custom-subscriptions/:id/routing/available-tunnels | 60 запросов/мин |
При превышении лимита API вернёт ошибку 429 Too Many Requests.
Заголовки ответа
| Заголовок | Описание |
|---|---|
X-RateLimit-Limit | Максимальное количество запросов |
X-RateLimit-Remaining | Оставшееся количество запросов |
X-RateLimit-Reset | Unix timestamp сброса лимита |
Формат ответов
Все ответы возвращаются в JSON формате:
{
status: boolean // true при успехе
statusCode: number // HTTP код ответа
data: any // Данные ответа
}При ошибке:
{
status: false
statusCode: number
errorCode: number // Код ошибки (см. справочник)
message: string // Описание ошибки
}Несовместимые опции конфигурации
При создании или изменении конфигурации некоторые опции нельзя использовать вместе:
| Опция 1 | Опция 2 | Результат |
|---|---|---|
use_xhttp | disable_flow_reality | BAD_REQUEST |
use_grpc | use_xhttp | BAD_REQUEST |
use_grpc | disable_flow_reality | BAD_REQUEST |
protocol=vless-2410 | change_sni | BAD_REQUEST |
protocol=vless-2410 | disable_sni | BAD_REQUEST |
protocol=trojan-2901 | change_sni | BAD_REQUEST |
protocol=trojan-2901 | disable_sni | BAD_REQUEST |
server_id | server_ids | BAD_REQUEST |
Зависимости опций
Некоторые опции требуют активации других:
| Опция | Требование |
|---|---|
use_warp | use_extended_settings=true |
disable_reality | use_extended_settings=true |
change_sni | use_extended_settings=true |
enable_family_filter | use_extended_settings=true |
block_bittorrent | use_extended_settings=true |
pass_all_traffic_through_vpn | use_extended_settings=true |
use_xhttp | use_extended_settings=true |
use_grpc | use_extended_settings=true |
grpc_multi_mode | use_grpc=true |
pass_all_traffic_through_vpn | smart-локация (иначе BAD_REQUEST) |
Примечания
- Все timestamps в Unix формате (секунды)
- Все суммы в минимальных единицах валюты (рубли для RUB)
server_idиserver_ids— взаимоисключающие поля;server_idsпринимает до 50 серверов, отсортированных по возрастанию задержки (сначала самые быстрые)randomize_fingerprint— использует рандомизированный uTLS-отпечаток вместоchrome
Эндпоинты недоступные через API ключ
Следующие эндпоинты требуют JWT авторизации и не могут быть вызваны через API ключ:
| Эндпоинт | Метод | Описание |
|---|---|---|
/profile/transfer/createKey | POST | Создание ключа переноса |
/profile/transfer/activateKey | POST | Активация ключа переноса |
/profile/passkeys | GET | Список Passkeys |
/profile/passkeys | POST | Регистрация Passkey |
/profile/passkeys/verify | POST | Подтверждение Passkey |
/profile/passkeys/:id | DELETE | Удаление Passkey |
/profile/otp | POST | Генерация OTP |
/profile/signInCode | POST | Генерация кода авторизации |
/profile/onboarding | PATCH | Завершение онбординга |
/profile | DELETE | Удаление аккаунта |
/auth/* | ALL | Все эндпоинты авторизации |
Помогла ли вам эта статья?