# VARGO Partner API > REST API для продажи VPN в своём боте, мини-аппе или на сайте: тарифы, счета, клиенты и устройства. - [Обзор](https://docs.vargopartners.com/index.md): REST API для продажи VPN в своём боте, мини-аппе или на сайте - [Начало работы](https://docs.vargopartners.com/getting-started.md): Ключ, повтор запроса без второго счёта, язык ответов - [Все эндпоинты](https://docs.vargopartners.com/api/overview.md): Что умеет API — одной таблицей - [Аккаунт партнёра](https://docs.vargopartners.com/api/account.md): Название сервиса, наценка и включён ли пробный период. Удобная первая проверка ключа: неверный ключ — `401 UNAUTHORIZED`. - [Тарифы](https://docs.vargopartners.com/api/plans.md): Тарифы и доп. устройства с ценами для клиента: цена платформы плюс наценка партнёра, та же формула во всех каналах продаж. `plan_id` отсюда передаётся в `POST /payments`. - [Способы оплаты](https://docs.vargopartners.com/api/payment-methods.md): Способы, доступные клиенту прямо сейчас; `method` отсюда передаётся в `POST /payments`. Список меняется — перечитывайте его перед показом клиенту. - [Документы клиента](https://docs.vargopartners.com/api/documents.md): Ссылки на пользовательское соглашение и политику конфиденциальности под названием сервиса партнёра. Показывайте их клиенту до оплаты. Текст ведёт платформа, страницы открываются без ключа; заголовки — на языке из `Accept-Language`. - [Выставить счёт](https://docs.vargopartners.com/api/create-payment.md): Счёт на подписку (`purpose: subscription` и `plan_id`) или на доп. устройства (`purpose: devices` и `devices`). Клиента нет — заводится. Продление — тот же вызов на тот же `client_id`: срок прибавляется к текущему, ссылка подписки не меняется. Ссылку `payment_url` отдайте клиенту, результат оплаты —… - [Счёт](https://docs.vargopartners.com/api/get-payment.md): Текущее состояние счёта; после оплаты в `client` — клиент со ссылкой подписки. Это источник истины: перед выдачей доступа у себя перечитайте счёт. `expired` не окончательный — поздняя оплата переводит счёт в `succeeded`. - [Клиент](https://docs.vargopartners.com/api/get-client.md): Статус и срок подписки, ссылка подписки и готовые ссылки подключения. Клиент появляется с первым счётом или пробным периодом, до этого — `404 API_CLIENT_NOT_FOUND`. Клиент, заблокированный платформой, — `403 API_CLIENT_BLOCKED` на всех ручках клиента. - [VPN-приложения](https://docs.vargopartners.com/api/apps.md): Для экрана «Как подключиться»: платформы, приложения со ссылками на установку и рекомендованное приложение. `app_id` совпадает с `subscription.connect[].app_id` клиента. Подписи — на языке из `Accept-Language` (`ru` или `en`, без заголовка — `en`). - [Пробный период](https://docs.vargopartners.com/api/start-trial.md): Выдаёт пробный период, если он включён партнёру (`trial_enabled` в `GET /account`). Клиента нет — заводится. Ответ — клиент со ссылкой подписки. Отказы: `403 TRIAL_DISABLED`; `409 TRIAL_ALREADY_USED` — у клиента уже была подписка; `429 TRIAL_DAILY_LIMIT` — исчерпан суточный лимит партнёра; `503 SERV… - [Список клиентов](https://docs.vargopartners.com/api/list-clients.md): Клиенты партнёра постранично, свежие первыми. Фильтр `status` — по подписке: `active`, `expired`, `suspended` — как `subscription.status`; `none` — подписки не было ни разу. - [Устройства клиента](https://docs.vargopartners.com/api/list-devices.md): Подключённые устройства и лимит. Без подписки список пуст. Если платформа не ответила — `503 SERVICE_UNAVAILABLE`, а не пустой список: пустой ответ всегда значит «устройств нет». - [Удалить устройство](https://docs.vargopartners.com/api/delete-device.md): Отключает устройство и освобождает место под новое. `device_id` — из `GET …/devices`, в пути URL-кодированный. Ответ — обновлённый список, как у `GET`. Такого устройства нет — `404 DEVICE_NOT_FOUND`. - [Перевыпустить ссылку подписки](https://docs.vargopartners.com/api/rotate-link.md): Новая ссылка подписки; старая сразу перестаёт работать, и клиент добавляет подписку в приложение заново. Не чаще раза в час на клиента: иначе `429 LINK_ROTATE_TOO_SOON`, пауза в секундах — в заголовке `Retry-After`. Без действующей подписки — `400 NO_ACTIVE_SUBSCRIPTION`. - [Тарифы и деньги](https://docs.vargopartners.com/pricing.md): Из чего складывается цена, как проходит оплата и куда ложится наценка - [Клиент и подключение](https://docs.vargopartners.com/clients.md): Подписка клиента, экран подключения, устройства, документы и мини-апп - [Ошибки и лимиты](https://docs.vargopartners.com/errors.md): Коды ошибок, что делать с каждым, лимиты запросов и версии - [Порядок запуска](https://docs.vargopartners.com/onboarding.md): От ключа до первых продаж и как получить помощь ## OpenAPI Specs - [openapi](https://api.vargopartners.com/api/partner/v1/openapi.json?rev=2)