Перейти до вмісту

Керування портами

У всіх публічних операціях передавайте значення Port.port як {id}. Наприклад, "port": "10000" відповідає шляху /ports/10000.

POST /ports/{id}/tags замінює список тегів порту. Публічний контракт дозволяє до 30 тегів і до 50 символів у кожному тезі.

{
"tags": ["production", "crawler-eu"]
}

Облікові дані та список дозволених IP

Section titled “Облікові дані та список дозволених IP”

POST /ports/{id}/credentials замінює налаштування облікових даних. Модель містить:

  • ip: масив дозволених вихідних IP-адрес;
  • password: масив об’єктів із login і password.
{
"ip": ["203.0.113.10"],
"password": [
{
"login": "integration",
"password": "use-a-generated-secret"
}
]
}

Зберігайте паролі в менеджері секретів і не повертайте їх із власних API.

Сигнатура, продовження та розклад скидання

Section titled “Сигнатура, продовження та розклад скидання”
EndpointТілоПризначення
POST /ports/{id}/signature{ "signature": "Linux" }Застосувати актуальну сигнатуру з GET /signatures
POST /ports/{id}/autorenew{ "autoRenew": true }Увімкнути або вимкнути продовження тарифу
POST /ports/{id}/autoreset{ "autoResetInterval": 600 }Задати інтервал скидання в секундах; 0 вимикає його

Для вимкнення автоскидання використовуйте 0, а для ввімкнення — інтервал щонайменше 180 секунд. Значення від 1 до 179 можуть зберегтися, але планувальник автоскидання їх не обробляє. Виконання асинхронне й не гарантує точного часу за годинником. Докладніше: Скидання та готовність порту.

await client.ports.updateTags({
id: '10000',
body: { tags: ['Production1'] },
});
await client.ports.setAutoResetInterval({
id: '10000',
body: { autoResetInterval: 600 },
});

GET /ports/{id}/log повертає останні події. POST /ports/{id}/log приймає from, to, page і pageSize для фільтрації історії. Стандартно використовуються сторінка 1 і розмір сторінки 20.

ПолеЗначення
actionЗаписана операція, наприклад скидання або призначення
causeНормалізований ініціатор: system, admin або user
sourceТочніше джерело, записане платформою
extraДодатковий контекст операції; приймайте невідомі поля
createdAtЧас події

Якщо передано обидві дати, API повертає точний діапазон fromto. Якщо передано лише from, діапазон закінчується поточним часом. Якщо передано лише to, він починається за місяць до to. Зберігайте часові позначки в UTC і переглядайте сторінки до завершення.

Запис про скидання підтверджує реєстрацію дії, але не готовність нової IP-адреси. Підтверджуйте зміну за полем ip порту або вебхуком port.ip_changed.

const log = await client.ports.filterLog({
id: '10000',
body: {
from: '2026-08-01T00:00:00Z',
to: '2026-08-31T23:59:59Z',
page: 1,
pageSize: 100,
},
});

GET /ports/{id}/vpn завантажує архів конфігурації VPN для порту. Також існує POST-маршрут сумісності. Вважайте архів секретом, адже він може містити дані для підключення, та обробляйте відповідь як двійкові дані, а не JSON.

const archive = await client.downloadPortVpn('10000');
await archive.saveTo('./ltesocks-vpn.zip');

GET /tokens/{token} знаходить модель порту за його токеном скидання. Цей маршрут усе одно потребує bearer-токен облікового запису; токен у шляху не замінює автентифікацію API.