> ## Documentation Index
> Fetch the complete documentation index at: https://vargopartners.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Все эндпоинты

> Что умеет API — одной таблицей

Базовый адрес — `https://api.vargopartners.com/api/partner/v1`. Каждый запрос — с ключом `Authorization: Bearer vgo_live_…`.

## Витрина

| Метод | Путь | Что делает |
| - | - | - |
| `GET` | [`/account`](https://vargopartners.com/docs/api/account) | Название сервиса, наценка, ссылка поддержки, включён ли пробный период. Первая проверка ключа |
| `PATCH` | [`/account`](https://vargopartners.com/docs/api/update-account) | Изменить название сервиса, наценку и ссылку поддержки |
| `GET` | [`/plans`](https://vargopartners.com/docs/api/plans) | Тарифы и доп. устройства с ценами для клиента |
| `GET` | [`/payment-methods`](https://vargopartners.com/docs/api/payment-methods) | Способы оплаты, доступные клиенту сейчас |
| `GET` | [`/documents`](https://vargopartners.com/docs/api/documents) | Ссылки на соглашение и политику под названием вашего сервиса |

## Оплата

| Метод | Путь | Что делает |
| - | - | - |
| `POST` | [`/payments`](https://vargopartners.com/docs/api/create-payment) | Счёт на подписку, продление или доп. устройства. Нового клиента заводит сам |
| `GET` | [`/payments/{payment_id}`](https://vargopartners.com/docs/api/get-payment) | Состояние счёта; после оплаты — вместе с клиентом и ссылкой подписки |

## Клиенты

| Метод | Путь | Что делает |
| - | - | - |
| `GET` | [`/clients/{client_id}`](https://vargopartners.com/docs/api/get-client) | Статус и срок подписки, ссылка подписки, ссылки подключения |
| `GET` | [`/apps`](https://vargopartners.com/docs/api/apps) | VPN-приложения и ссылки на установку — для экрана подключения |
| `POST` | [`/clients/{client_id}/trial`](https://vargopartners.com/docs/api/start-trial) | Пробный период — один раз на клиента |
| `GET` | [`/clients`](https://vargopartners.com/docs/api/list-clients) | Все ваши клиенты постранично, с фильтром по статусу подписки |

## Устройства и ссылка

| Метод | Путь | Что делает |
| - | - | - |
| `GET` | [`/clients/{client_id}/devices`](https://vargopartners.com/docs/api/list-devices) | Подключённые устройства и лимит |
| `DELETE` | [`/clients/{client_id}/devices/{device_id}`](https://vargopartners.com/docs/api/delete-device) | Отключить устройство и освободить место |
| `POST` | [`/clients/{client_id}/rotate-link`](https://vargopartners.com/docs/api/rotate-link) | Новая ссылка подписки вместо старой |

## События

API само сообщает вашему серверу о событиях с клиентами — `POST` на адрес, заданный в кабинете. Подробно — [Вебхуки](https://vargopartners.com/docs/webhooks.md).

| Событие | Когда приходит |
| - | - |
| `payment.succeeded` | Счёт оплачен, доступ выдан |
| `payment.expired` | Счёт истёк неоплаченным |
| `subscription.expiring` | До конца подписки 72 или 24 часа; у пробной — только 24 |
| `subscription.expired` | Срок подписки вышел |

## Что требует внимания

* **`POST /payments` без `Idempotency-Key` не работает.** Повтор с тем же ключом и теми же полями отвечает `200` тем же счётом и `replayed: true`, а не выставляет второй. Подробно — [Начало работы](https://vargopartners.com/docs/getting-started.md).
* **`201` и `200` на `POST /payments` — оба успех.** `201` — счёт выставлен сейчас, `200` — это повтор.
* **`expired` не окончательный.** Так помечается и неоплата в срок, и отказ банка; поздняя оплата переводит счёт в `succeeded`. `failed` — только после `succeeded`, когда банк вернул клиенту деньги.
* **Перевыпуск ссылки необратим.** Старая ссылка перестаёт работать сразу, клиент добавляет подписку в приложение заново. Не чаще раза в час на клиента.
* **Удаление устройства необратимо** — устройство отключается; вернуть его можно, только подключив заново.
* **Пробный период — настоящий доступ** и выдаётся клиенту один раз: если подписка у клиента уже была, ответ `409 TRIAL_ALREADY_USED`; если платформа выключила пробный период вашему аккаунту — `403 TRIAL_DISABLED`.
* **`401` и `429` возможны на любом запросе:** ключ не принят или превышен лимит. Пауза до повтора — в заголовке `Retry-After`. Подробно — [Ошибки и лимиты](https://vargopartners.com/docs/errors.md).

Схема OpenAPI целиком: [`openapi.json`](https://api.vargopartners.com/api/partner/v1/openapi.json) — открыта, ключ не нужен.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.