LTESpace API

Language: Русский · English

The LTESpace public customer API: buy and renew mobile proxies, manage access and account settings.

The API lets you do everything you can do in the customer dashboard: check prices and channel availability, place and pay for an order, get your purchased proxies, change login, password and protocol, and renew proxies.

Quick start

  1. Issue an API key in the settings section of the customer dashboard. The key is shown only once: only its hash is stored, so it cannot be recovered — you can only issue a new one to replace it.
  2. Check the key and get your balance:
curl -H "Authorization: Bearer <api_key>" https://api.ltespace.com/user/balance
  1. Check channel availability with POST /channels/available, create an order with POST /orders/buy and pay for it with POST /orders/{order_id}/pay. The purchased proxies are returned in the payment response, and you can always get them later with GET /proxies.

Authentication

Every method requires the header:

Authorization: Bearer <api_key>

The key stays valid until you issue a new one: issuing a new key immediately disables the previous one.

Response format

All requests and responses use application/json. A successful response always contains status: "ok", timestamps are in ISO 8601, and amounts are in the currency from the currency field (the currency comes from the user profile, and prices are already converted to it).

Errors

The error body is the same for all methods:

{
  "status": "error",
  "error": { "code": "PAYMENT_NOT_ENOUGH_MONEY", "params": {} },
  "message": "Not enough money"
}

Important: check the status field, not just the HTTP code. Authentication errors and service unavailability are returned with HTTP 401 and 503, but most business logic errors are returned with HTTP 200 and can only be told apart by status: "error". 422 is a separate case: the service returns it when the request body does not match the schema — a required field is missing, a value has the wrong type or fails validation. Such a response has a different format: the details are listed in the detail field.

The error.code value is stable and intended for programmatic handling; message is a human-readable explanation and its text may change. The error.params field contains details when there are any.

Main error codes

| Code | Meaning | | --- | --- | | AUTH_REQUIRED | The Authorization header is missing | | AUTH_INVALID_TOKEN | The API key was not found or has been revoked | | SERVICE_UNAVAILABLE | The service or database is temporarily unavailable | | USER_NOT_FOUND | User not found | | ORDER_NOT_FOUND | The order was not found or belongs to another user | | ORDER_UNSUPPORTED_PERIOD | The period is not in the list of allowed values | | ORDER_UNSUPPORTED_TYPE | Unknown plan | | ORDER_NOT_ENOUGH_CHANNELS | Fewer free channels than requested | | ORDER_NO_FREE_PORTS_AVAILABLE | No free ports available to issue | | ORDER_ZERO_AMOUNT | The order amount was calculated as zero | | PAYMENT_NOT_ENOUGH_MONEY | Insufficient balance | | PRICE_NOT_CONFIGURED | No price is set for the selected combination | | PRICE_FOR_PERIOD_NOT_CONFIGURED | No price is set for the selected period | | PORT_NOT_FOUND | The port does not belong to the current user | | PORT_DOES_NOT_EXIST | The port does not exist | | PORTS_REQUIRED | No ports were passed | | PROXY_UNSUPPORTED_CONNECTION_TYPE | Invalid connection protocol | | IPAUTH_INVALID | An invalid IP address was passed | | IPAUTH_TOO_MANY | Too many addresses for IP authentication | | ORDERS_LIMIT_OUT_OF_RANGE | The limit parameter is out of range | | PAYMENTS_LIMIT_OUT_OF_RANGE | The limit parameter is out of range |

Allowed values

Proxy identifiers

In proxy list responses each item contains an id field — a permanent identifier that never changes during the proxy's lifetime. Store it on your side if you need to link a proxy to a record in your system.

Proxy management methods currently address proxies by port number. A port is unique among active proxies, but a released port may eventually be issued again, so it is not suitable as a long-term identifier.

Working with ports

/proxies methods that accept several ports take either an array of numbers ([11010, 11011]) or a string separated by commas or semicolons. All ports must belong to the current user: a port owned by someone else results in a PORT_NOT_FOUND error.

MCP for AI agents

Model Context Protocol (MCP) is an open protocol that AI assistants use to call external tools. The LTESpace MCP server gives Claude, Cursor, VS Code and other compatible agents direct access to your account: the agent checks your balance and prices, picks a location, buys or renews proxies and rotates IPs when you simply ask in chat, with no code to write.

Connecting

Claude Code:

claude mcp add --transport http ltespace https://api.ltespace.com/mcp \
  --header "Authorization: Bearer <api_key>"

Cursor — ~/.cursor/mcp.json, or .cursor/mcp.json in your project:

{
  "mcpServers": {
    "ltespace": {
      "url": "https://api.ltespace.com/mcp",
      "headers": { "Authorization": "Bearer <api_key>" }
    }
  }
}

VS Code — .vscode/mcp.json. The key is requested on first connection and is not stored in the file:

{
  "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}" }
    }
  }
}

Any other client that can connect to a remote MCP server over HTTP with a custom header works too. claude.ai and ChatGPT connectors, which require OAuth sign-in, are not supported yet.

Tools

| Tool | What it does | | --- | --- | | get_balance | Account balance and currency | | list_proxies | Your proxies with connection details; filter by country and order | | get_geo | Available countries, cities and operators | | get_prices | Prices by country, plan and period | | check_availability | How many channels can be bought right now | | list_orders, get_order | Order history and a single order | | create_order | Order to buy proxies — calculates the amount, charges nothing | | create_extend_order | Order to renew proxies — calculates the amount, charges nothing | | pay_order | Pays an order from the balance — charges money | | rotate_ip | Rotates the IP of a proxy with manual rotation |

Countries accept an ISO code (RU, GE) or a slug from get_geo (russia). Cities and operators are slugs from get_geo.

Buying and renewing

A purchase always takes two steps. First the agent creates an order with create_order or create_extend_order and gets the amount — nothing is charged. Then, after you confirm, it calls pay_order. Paying the same order again does not charge twice.

pay_order is marked as irreversible, and most clients ask for confirmation before calling it. Do not auto-approve this tool unless you want the agent to spend your balance without asking.

Example requests

The MCP server works with the same data and limits as the API: an order placed by an agent shows up in the dashboard, and errors come with the same codes as in the table above.

User

Balance, profile, balance transactions and account settings.

Prices

Plan prices by country and period. Prices are converted to the user's currency.

Channels

Free channel availability. Check availability before creating an order: it changes in real time.

Geo

Directory of countries, cities and carriers. It rarely changes; the response may be cached for 5 minutes.

Orders

Purchase and renewal orders. Creating an order and paying for it are two separate steps: /orders/buy only fixes the contents and the amount, and funds are charged in /orders/{order_id}/pay.

The order and renewal period is set in days and takes the values 1, 7, 14, 30 and 90. Plans: shared, sharednowait, private, privatenowait, multiport, multiregion. Connection protocol: http — an HTTP proxy, socks — SOCKS5 or auto — HTTP and SOCKS5 on the same port. Country, city and carrier are set by slugs from the GET /geo directory.

Proxies

Purchased proxies: host and port, login and password, protocol, comments and manual rotation links.