Skip to content

Troubleshooting

  • Confirm the header starts with Bearer and contains no quotes.
  • Check that the secret belongs to the intended LTESocks account.
  • If the token was reset in the dashboard, replace every deployed copy.
  • Test with the read-only GET /user operation.

The equivalent diagnostic request with an official SDK is:

import { LTESocksClient } from '@ltesocks/sdk';
const client = LTESocksClient.withBearerToken(
process.env.LTESOCKS_API_TOKEN,
{ language: 'en' },
);
const user = await client.user.get();
console.log(user.login);

A request fails before reaching the operation

Section titled “A request fails before reaching the operation”

Remove Accept-Language or set it to a supported locale such as en. Verify Content-Type: application/json and validate the JSON syntax.

Port identifiers are scoped to the authenticated account. List ports for that account and pass the exact Port.port value as {id}. Do not pass an internal object ID, service ID, reset token, or plan identifier. A resetToken belongs only in GET /tokens/{token}.

  • Leave at least 60 seconds between user-triggered resets; the port pool can require a longer cooldown.
  • When present, respect Retry-After and Retry-At instead of retrying immediately.
  • Treat HTTP 200 as acknowledgement of the reset request, not proof that IP rotation finished.
  • Compare the port's ip or consume the port.ip_changed webhook; a log entry only confirms that the action was recorded.

See Port reset and readiness for the complete sequence.

Reduce concurrency, use larger pages, and retry after exponential backoff with jitter. Defaults are lower for mutating methods than for GET requests.

VPN operations return a binary archive. Do not call response.json(). Stream the body to a protected file, check status and Content-Type, then validate the archive before use.

For operations that accept Idempotency-Key, repeat the exact request with the same key. Otherwise, do not immediately repeat it: read the affected port or payment history to determine whether the first request succeeded. Never use a new key merely because the first response was lost.

See Idempotency and safe retries for supported operations.

When contacting support, include the UTC time, method, path template, HTTP status, and a sanitized response. Never include the bearer token, full credentials, or VPN archive.