Язык: Русский · English
Публичный клиентский API LTESpace: покупка и продление мобильных прокси, управление доступами и настройками аккаунта.
Через API можно делать всё то же, что и в клиентском кабинете: узнать цены и наличие каналов, оформить и оплатить заказ, получить купленные прокси, сменить логин, пароль и протокол, продлить срок действия.
curl -H "Authorization: Bearer <api_key>" https://api.ltespace.com/user/balance
POST /channels/available, создайте
заказ через POST /orders/buy и оплатите его через
POST /orders/{order_id}/pay. Купленные прокси вернутся в ответе на
оплату, а позже их всегда можно получить через GET /proxies.Все методы требуют заголовок:
Authorization: Bearer <api_key>
Ключ действует до тех пор, пока вы не выпустите новый: выпуск нового ключа немедленно отключает предыдущий.
Все запросы и ответы используют application/json. Успешный ответ всегда
содержит status: "ok", время передаётся в ISO 8601, а суммы — в валюте из
поля currency (валюта берётся из профиля пользователя, цены уже приведены
к ней).
Тело ошибки одинаково для всех методов:
{
"status": "error",
"error": { "code": "PAYMENT_NOT_ENOUGH_MONEY", "params": {} },
"message": "Not enough money"
}
Важно: проверяйте поле status, а не только HTTP-код. Ошибки
аутентификации и недоступности сервиса приходят с HTTP 401 и 503, но
большинство ошибок бизнес-логики возвращается с HTTP 200 и различимо
только по status: "error". Отдельно стоит 422 — так сервис отвечает,
если тело запроса не соответствует схеме: пропущено обязательное поле,
значение не того типа или не проходит проверку. Формат такого ответа
отличается от описанного выше: подробности перечислены в поле detail.
Значение error.code стабильно и предназначено для программной обработки,
message — человекочитаемое пояснение, его текст может меняться.
Поле error.params содержит подробности, если они есть.
| Код | Что означает |
| --- | --- |
| AUTH_REQUIRED | Заголовок Authorization не передан |
| AUTH_INVALID_TOKEN | API-ключ не найден или отозван |
| SERVICE_UNAVAILABLE | Сервис или база данных временно недоступны |
| USER_NOT_FOUND | Пользователь не найден |
| ORDER_NOT_FOUND | Заказ не найден или принадлежит другому пользователю |
| ORDER_UNSUPPORTED_PERIOD | Период не входит в список допустимых |
| ORDER_UNSUPPORTED_TYPE | Неизвестный тариф |
| ORDER_NOT_ENOUGH_CHANNELS | Свободных каналов меньше, чем запрошено |
| ORDER_NO_FREE_PORTS_AVAILABLE | Нет свободных портов для выдачи |
| ORDER_ZERO_AMOUNT | Стоимость заказа вычислилась как ноль |
| PAYMENT_NOT_ENOUGH_MONEY | Недостаточно средств на балансе |
| PRICE_NOT_CONFIGURED | Для выбранной комбинации не задана цена |
| PRICE_FOR_PERIOD_NOT_CONFIGURED | Для выбранного периода не задана цена |
| PORT_NOT_FOUND | Порт не принадлежит текущему пользователю |
| PORT_DOES_NOT_EXIST | Такого порта не существует |
| PORTS_REQUIRED | Не передан ни один порт |
| PROXY_UNSUPPORTED_CONNECTION_TYPE | Недопустимый протокол подключения |
| IPAUTH_INVALID | Передан некорректный IP-адрес |
| IPAUTH_TOO_MANY | Превышено число адресов для IP-аутентификации |
| ORDERS_LIMIT_OUT_OF_RANGE | Параметр limit вне допустимого диапазона |
| PAYMENTS_LIMIT_OUT_OF_RANGE | Параметр limit вне допустимого диапазона |
http — HTTP-прокси с методом CONNECT
(подходит и для HTTPS-сайтов; в строке подключения используйте схему
http://), socks — SOCKS5, auto — HTTP и SOCKS5 на одном порту.
Значение https — устаревший синоним http: оно принимается на вход,
но в ответах всегда возвращается http.shared, sharednowait, private, privatenowait,
multiport, multiregion.В ответах со списком прокси каждый элемент содержит поле id — постоянный
идентификатор, который не меняется за всё время жизни прокси. Именно его
стоит хранить у себя, если нужно связать прокси с записью в вашей системе.
Адресация в методах управления прокси сейчас выполняется по номеру порта. Порт уникален среди действующих прокси, но освободившийся порт со временем может быть выдан снова, поэтому как долговременный идентификатор он не подходит.
Методы /proxies, принимающие несколько портов, допускают как массив чисел
([11010, 11011]), так и строку с разделителем — запятой или точкой с
запятой. Все порты должны принадлежать текущему пользователю: чужой порт
приведёт к ошибке PORT_NOT_FOUND.
Model Context Protocol (MCP) — открытый протокол, через который AI-ассистенты вызывают внешние инструменты. MCP-сервер LTESpace даёт Claude, Cursor, VS Code и другим совместимым агентам прямой доступ к вашему аккаунту: агент сам проверит баланс и цены, подберёт гео, купит или продлит прокси и сменит IP — по обычной просьбе в чате, без написания кода.
https://api.ltespace.com/mcp, транспорт Streamable HTTP.Authorization: Bearer <api_key>.Claude Code:
claude mcp add --transport http ltespace https://api.ltespace.com/mcp \
--header "Authorization: Bearer <api_key>"
Cursor — файл ~/.cursor/mcp.json или .cursor/mcp.json в проекте:
{
"mcpServers": {
"ltespace": {
"url": "https://api.ltespace.com/mcp",
"headers": { "Authorization": "Bearer <api_key>" }
}
}
}
VS Code — файл .vscode/mcp.json. Ключ запрашивается при первом
подключении и не хранится в файле:
{
"inputs": [
{ "type": "promptString", "id": "ltespace-key", "description": "LTESpace API key", "password": true }
],
"servers": {
"ltespace": {
"type": "http",
"url": "https://api.ltespace.com/mcp",
"headers": { "Authorization": "Bearer ${input:ltespace-key}" }
}
}
}
Подойдёт и любой другой клиент, который умеет подключать удалённый MCP-сервер по HTTP с собственным заголовком. Коннекторы claude.ai и ChatGPT, которым нужен вход через OAuth, пока не поддерживаются.
| Инструмент | Что делает |
| --- | --- |
| get_balance | Баланс и валюта аккаунта |
| list_proxies | Ваши прокси с данными для подключения; фильтр по стране и заказу |
| get_geo | Доступные страны, города и операторы |
| get_prices | Цены по странам, тарифам и срокам |
| check_availability | Сколько каналов можно купить прямо сейчас |
| list_orders, get_order | История заказов и заказ по номеру |
| create_order | Заказ на покупку прокси — только расчёт суммы, без списания |
| create_extend_order | Заказ на продление прокси — только расчёт суммы, без списания |
| pay_order | Оплата заказа с баланса — списывает деньги |
| rotate_ip | Смена IP прокси с ручной ротацией |
Страну можно указывать ISO-кодом (RU, GE) или slug из get_geo
(russia). Города и операторы задаются slug из get_geo.
Покупка всегда проходит в два шага. Сначала агент создаёт заказ через
create_order или create_extend_order и получает сумму — деньги при этом
не списываются. Затем, после вашего подтверждения, он вызывает pay_order.
Повторная оплата того же заказа не списывает деньги второй раз.
Инструмент pay_order помечен как необратимый, и большинство клиентов
спрашивают подтверждение перед его вызовом. Не включайте автоматическое
одобрение этого инструмента, если не хотите, чтобы агент тратил баланс
без вашего ведома.
MCP-сервер работает с теми же данными и ограничениями, что и API: заказ, созданный через агента, виден в кабинете, а ошибки приходят с теми же кодами из таблицы выше.
Баланс, профиль, операции по балансу и настройки аккаунта.
GET /user/balance — Получить балансGET /user/profile — Получить профильGET /user/payments — Получить операции балансаPOST /user/ip-auth — Изменить авторизацию по IP для всех проксиGET /user/auto-replace — Получить настройки автозаменыPOST /user/auto-replace — Сохранить настройки автозаменыТарифы по странам и периодам. Цены приведены к валюте пользователя.
GET /prices — Получить тарифыGET /prices/flat — Получить тарифы спискомНаличие свободных каналов. Проверяйте доступность перед созданием заказа: она меняется в реальном времени.
GET /channels/available — Получить всю доступность каналовPOST /channels/available — Проверить доступность каналовСправочник стран, городов и операторов. Меняется редко, ответ разрешено кэшировать на 5 минут.
GET /geo — Получить географический справочникЗаказы на покупку и продление. Создание заказа и его оплата — два отдельных шага: /orders/buy только фиксирует состав и стоимость, средства списываются в /orders/{order_id}/pay.
Срок заказа и продления задаётся в днях и принимает значения 1, 7, 14, 30 и 90. Тарифы: shared, sharednowait, private, privatenowait, multiport, multiregion. Протокол подключения: http — HTTP-прокси, socks — SOCKS5 или auto — HTTP и SOCKS5 на одном порту. Страна, город и оператор задаются slug-ами из справочника GET /geo.
POST /orders/buy — Создать заказ на покупкуPOST /orders/extend — Создать заказ на продлениеGET /orders — Получить список заказовGET /orders/{order_id} — Получить заказPOST /orders/{order_id}/pay — Оплатить заказКупленные прокси: адрес и порт, логин и пароль, протокол, комментарии и ссылки ручной ротации.
GET /proxies — Получить список проксиPATCH /proxies/credentials — Изменить учётные данные нескольких проксиPATCH /proxies/{port}/credentials — Изменить учётные данные проксиPATCH /proxies/protocol — Изменить протокол нескольких проксиPATCH /proxies/{port}/protocol/{protocol} — Изменить протокол проксиPATCH /proxies/{port}/rotation — Изменить интервал ротации проксиPATCH /proxies/rotation — Изменить интервал ротации нескольких проксиPATCH /proxies/{port}/comment — Сохранить комментарий проксиPATCH /proxies/ip-auth — Изменить авторизацию по IP нескольких проксиPATCH /proxies/{port}/ip-auth — Изменить авторизацию по IP проксиPOST /proxies/{port}/rotation-link/regenerate — Перевыпустить ссылку ротации