API
Программный доступ к своим ссылкам: список, создание, изменение и удаление. Анонимные ссылки через API не создаются — каждая принадлежит владельцу токена.
Базовый адрес
Авторизация
Каждый запрос несёт заголовок Authorization с токеном из личного кабинета. Cookie и сессия для API не используются вовсе, поэтому запрос из чужого браузера подделать нечем.
Токен создаётся в разделе «Токены API» личного кабинета и показывается один раз.
Формат
Запросы и ответы — JSON в кодировке UTF-8. Тело запроса должно иметь заголовок Content-Type: application/json и не превышать 32 КБ.
Поля ссылки
code | Короткий код, часть адреса |
|---|---|
slug | Своё имя ссылки либо null. Адресация в API идёт по code: имя может смениться, код — никогда |
short_url | Готовая короткая ссылка |
url | Целевой адрес |
clicks | Число переходов |
status | Состояние модерации: active, flagged или blocked |
expires_at | Момент, после которого переход не работает, либо null |
has_password | Закрыт ли переход паролем. Сам пароль не отдаётся ни в каком виде |
tags | Метки владельца. Посетителям ссылки не видны |
created_at | Момент создания, ISO 8601 в UTC |
last_click_at | Момент последнего перехода или null |
Методы
Параметры списка
limit— Сколько вернуть, от 1 до 100. По умолчанию 50.offset— Сколько пропустить. По умолчанию 0.
Свойства при создании и изменении
url— целевой адрес, обязателенslug— своё имя: ссылка будет доступна по адресу /p/<имя>. Пустая строка или null убирает имяexpires— срок: обозначение 1h, 1d, 7d, 30d, 1y либо точная дата ISO в будущем. null снимает срокpassword— пароль на переход. null снимает защитуtags— метки строкой через запятую либо списком. До десяти штук
Свойство, которого нет в теле запроса, остаётся прежним. Чтобы очистить его, передайте null.
Пример
Замените PXNT_TOKEN на свой токен.
Ограничения частоты
Лимит считается по токену, а не по адресу, поэтому несколько машин с одним токеном делят общий счёт. При превышении возвращается код 429 и заголовок Retry-After с числом секунд.
- чтение — 600 запросов в час
- создание, изменение и удаление — 120 запросов в час
Ошибки
Ошибка возвращается с подходящим кодом состояния и телом одинаковой формы: поле error содержит машиночитаемый код, message — пояснение на языке интерфейса.
| Код | Поле error | Когда |
|---|---|---|
| 401 | unauthorized | Заголовок Authorization отсутствует, испорчен или токен отозван |
| 403 | forbidden | Аккаунт заблокирован |
| 404 | not_found | Ссылки с таким кодом у вас нет |
| 400 | validation_error | Целевой адрес не прошёл проверку или тело запроса неверно |
| 409 | conflict | Другая ваша ссылка уже ведёт на этот адрес |
| 413 | payload_too_large | Тело запроса больше 32 КБ |
| 429 | rate_limited | Превышено ограничение частоты |