Order a port
Section titled “Order a port”First select a plan and one of its tarifications from GET /plans.
/ports/orderCreate one mobile proxy portcurl -X POST "https://api.ltesocks.io/v2/ports/order" \ -H "Authorization: Bearer ${LTESOCKS_API_TOKEN}" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 7c838e2d-7d52-42e7-aed1-528829cbd514" \ -d '{ "plan": "5349b4ddd2781d08c09890f3", "tarification": { "time": 2592000, "traffic": 51200, "price": 14500 } }'Official SDK
Section titled “Official SDK”const port = await client.ports.order({ body: { plan: 'PLAN_ID', tarification: { time: 2_592_000, traffic: 51_200, price: 14_500 }, },});
console.log(port.port);from ltesocks_sdk.models import OrderPortsBody, PlanTarification
port = client.ports.order( body=OrderPortsBody( plan="PLAN_ID", tarification=PlanTarification( time=2_592_000, traffic=51_200, price=14_500, ), ))print(port.port)<?php
use LTESocks\Dto\OrderPortsRequest;use LTESocks\Dto\PlanTarification;
$port = $client->ports()->order(new OrderPortsRequest([ 'plan' => 'PLAN_ID', 'tarification' => new PlanTarification([ 'time' => 2592000, 'traffic' => 51200, 'price' => 14500, ]),]));
echo $port->getPort();The response is the created Port. Persist its public port value and use it as {id} in port routes. Creation can finish before the proxy connection and IP are ready, so verify the returned port and connectivity before sending production traffic.
If an order times out, retry the exact request with the same Idempotency-Key; do not send a new order with a new key. See Idempotency and safe retries and Port reset and readiness.
List and filter
Section titled “List and filter”GET /ports returns the first page. Use POST /ports for filters and pagination:
{ "plan": "O2", "countryCode": "GB", "tags": ["production"], "page": 1, "pageSize": 100}Official SDK
Section titled “Official SDK”const result = await client.ports.filter({ body: { plan: 'PLAN_ID', countryCode: 'US', tags: ['Production1'], page: 1, pageSize: 100, },});from ltesocks_sdk.models import FilterPortsBody
result = client.ports.filter( body=FilterPortsBody( plan="PLAN_ID", country_code="US", tags=["Production1"], page=1, page_size=100, ))<?php
use LTESocks\Dto\FilterPortsRequest;
$result = $client->ports()->filter(new FilterPortsRequest([ 'plan' => 'PLAN_ID', 'countryCode' => 'US', 'tags' => ['Production1'], 'page' => 1, 'pageSize' => 100,]));Inspect and change the plan
Section titled “Inspect and change the plan”GET /ports/{id}returns one port.POST /ports/{id}/extendextends the current plan.POST /ports/{id}/planchanges the plan using aplanidentifier andtarification.
Read the returned port after each mutation and update your stored expiration, traffic, and status values.
Reset and delete
Section titled “Reset and delete”POST /ports/{id}/reset requests a connection reset and IP rotation. Its successful response acknowledges the request; it does not guarantee that the new IP is ready. Follow the cooldown and completion signals in Port reset and readiness.
DELETE /ports/{id} permanently removes the port. POST /ports/{id}/delete exists as a compatibility endpoint. Prefer DELETE for new integrations.