Токен xyp_… даёт вашему боту или сайту доступ к кабинету: создавать и менять API-ключи, пополнять баланс через СБП, карту или крипту, активировать промокоды. Запросы к нейросетям идут по обычным ключам sk_live_… на https://xyvero.store/v1.
01Создайте токенниже на этой странице
02Передавайте егов Authorization: Bearer
03Вызывайте методыключи, оплата, баланс
Токены аккаунта
До 10 активных. Полное значение показывается один раз.
0
Загрузка…
Основы
Адрес, авторизация и формат ответов
Адресhttps://xyvero.store
АвторизацияBearer xyp_…
ФорматJSON, UTF-8
Деньгибаланс в USD, пополнение в ₽
401 неверный токен
403 нет прав
429 слишком часто
Ошибки: HTTP-код + {"error":{"message":"…"}}
bash
export XYVERO_TOKEN="xyp_…"# токен аккаунта с этой страницы
Баланс аккаунта
GET/api/dashboard
Сколько денег на счёте и сколько потрачено сегодня. Суммы — в долларах; в рубли — × курс со страницы оплаты.
Ключ покупателю: имя, лимит токенов и какие модели разрешены (пусто — все). Нужен положительный баланс.
Запрос
curl
curl-X POST "https://xyvero.store/api/keys"\-H"Authorization: Bearer $XYVERO_TOKEN"\-H"Content-Type: application/json"\-d'{"name":"Клиент 42","token_limit":1000000,"allowed_models":["claude-sonnet-5-5","gpt-6.1-sol"],"rpm_limit":60}'
Ответ
json
{"key":{"id":"6f1c…","name":"Клиент 42","key":"sk_live_ab12…","key_prefix":"sk_live_ab12"},"warning":"Секрет показывается только один раз. Сохраните его."}
Поле key.key — секрет для запросов к моделям. Сохраните его у себя: повторно он не отдаётся.
Изменить ключ
POST/api/keys/{id}/edit
Переименовать, сменить лимит токенов или список моделей. Передавайте только то, что меняете.
Запрос
curl
curl-X POST "https://xyvero.store/api/keys/{id}/edit"\-H"Authorization: Bearer $XYVERO_TOKEN"\-H"Content-Type: application/json"\-d'{"name":"Клиент 42 — VIP","token_limit":5000000,"allowed_models":[]}'
Ответ
json
{"ok":true}
Добавить ключу токены
POST/api/keys/{id}/topup
Увеличить лимит конкретного ключа, например после оплаты покупателем.
Запрос
curl
curl-X POST "https://xyvero.store/api/keys/{id}/topup"\-H"Authorization: Bearer $XYVERO_TOKEN"\-H"Content-Type: application/json"\-d'{"tokens":2000000}'
Ответ
json
{"ok":true,"token_limit":3000000}
Выключить / включить ключ
POST/api/keys/{id}/toggle
Временно остановить ключ без удаления. Повторный вызов включает обратно.
Запрос
curl
curl-X POST "https://xyvero.store/api/keys/{id}/toggle"\-H"Authorization: Bearer $XYVERO_TOKEN"
Ответ
json
{"ok":true,"active":false,"status":"disabled"}
Перевыпустить секрет ключа
POST/api/keys/{id}/rotate
Старый секрет перестаёт работать сразу, лимиты и история остаются.
Запрос
curl
curl-X POST "https://xyvero.store/api/keys/{id}/rotate"\-H"Authorization: Bearer $XYVERO_TOKEN"
Создаёт счёт и возвращает ссылку на оплату — откройте её пользователю или отправьте в бот. Минимум 20 ₽. Способ: rollypay_sbp — СБП, rollypay_card — карта, cryptobot — криптовалюта.
Запрос
curl
curl-X POST "https://xyvero.store/api/payments"\-H"Authorization: Bearer $XYVERO_TOKEN"\-H"Content-Type: application/json"\-d'{"amount_rub":500,"provider":"rollypay_sbp"}'
curl-X POST "https://xyvero.store/api/payments/redeem"\-H"Authorization: Bearer $XYVERO_TOKEN"\-H"Content-Type: application/json"\-d'{"code":"XYABC123DEFG"}'
Ответ
json
{"ok":true,"amount_rub":10,"balance_rub":25.4}
Готовый сценарий: магазин ключей в боте
Покупатель платит вам → бот создаёт ему ключ из вашего баланса. Баланс пополняете ссылкой на СБП и ждёте подтверждения.
python
# Мини-магазин ключей в Telegram-боте (python-telegram-bot + requests)import os, time, requests
BASE="https://xyvero.store"H={"Authorization": f"Bearer {os.environ['XYVERO_TOKEN']}"}defsell_key(buyer_id: int, tokens: int)-> str:"""Покупатель оплатил у вас — выдаём ему ключ из вашего баланса."""
r = requests.post(f"{BASE}/api/keys",headers=H,json={"name": f"tg-{buyer_id}","token_limit": tokens,})
r.raise_for_status()return r.json()["key"]["key"]# sk_live_… — отправьте покупателюdeftopup_link(amount_rub: int)-> tuple[str, str]:"""Ссылка на пополнение вашего баланса через СБП."""
r = requests.post(f"{BASE}/api/payments",headers=H,json={"amount_rub": amount_rub,"provider":"rollypay_sbp"})
r.raise_for_status()
p = r.json()return p["id"], p["pay_url"]defwait_paid(payment_id: str,timeout=600)-> bool:
end = time.time()+ timeout
while time.time()< end:
items = requests.get(f"{BASE}/api/payments",headers=H).json()["items"]
st =next((i["status"]for i in items if i["id"]== payment_id),None)if st =="confirmed":returnTrue
time.sleep(8)returnFalse
Токен не даёт доступа к админке и не может выпускать другие токены. Если он утёк — перевыпустите или отзовите его выше: старый перестанет работать сразу.