API Meowx v2
Каталог, продажи, покупки и личные функции — из вашей программы.
https://chernovik.shop/api/v2Доступ и разрешения
Создайте или откройте токен в «Мой профиль» → «Настройки» → «API-токен». Передавайте его заголовком Authorization: Bearer YOUR_MEOWX_TOKEN. JSON-запросы используют Content-Type: application/json. Пароль и email другого пользователя, его баланс и настройки остаются закрытыми.
readПросмотрpurchaseПокупки и выдача файловsellerПродажа и управление товарамиfinanceПополнения, вывод и решения по претензиямsettingsНастройки и персональные спискиРазрешения покупки, продажи, финансов и настроек включаются отдельно. В списке дополнительные токены замаскированы; полный новый токен виден при создании. Дочерний токен получает только те разрешения, которые есть у вызывающего токена.
Все цены и суммы — рубли. Для денежного ввода используйте строку, например "65.00". Поля amount_cents, available_delta_cents и held_delta_cents — целые копейки. Цена новых аккаунтов в запросах продажи — целое число рублей от 10.
id аккаунта — ID отдельной единицы товара (stock unit). Это другой идентификатор, чем product_id, ID заказа или задачи. Страны получают собственные ID из /account_countries.
Загрузка и продажа своих аккаунтов
Для интеграции с вашей программой используйте базовый адрес https://chernovik.shop/api/v2. В настройках API-токена включите «Разрешить размещение и управление своими товарами и личными прокси» (can_sell, разрешение seller). API поддерживает загрузку VK; Telegram tdata пока добавляется через раздел «Продать аккаунт» на сайте.
| Метод | Назначение |
|---|---|
POST /accounts/sell | Разместить один VK-аккаунт. Создаёт фоновую задачу. |
POST /account_uploads | Загрузить пакет своих VK-аккаунтов; до 500 файлов за задачу. |
GET /account_uploads/ID | Статус задачи и счётчики total, completed, added, existing, failed, processed, processing, pending и remaining. |
GET /account_uploads/ID/lines | Результаты по аккаунтам: status, reason, account_id и product_id. Переход на следующую страницу — links.next. |
POST /account_uploads/ID/stop | Остановить оставшуюся обработку. Уже опубликованные товары сохраняются. |
POST /account_uploads/ID/recheck | Повторить неудавшиеся проверки завершённой задачи в пределах 24 часов хранения. |
POST /accounts/bulkPrice | Изменить цену своих предложений по фильтру, до 100 выбранных аккаунтов за запрос. |
Порядок работы
- Укажите обязательные
originиprice. Происхождение:personal— личный аккаунт,auto— авторегистрация,retrieve— восстановленный. Цена — от 10 ₽. Необязательные поля:mark,is_resellиwas_used_in_services. - Для пакета используйте массив
cookiesс объектами{"filename":"account.txt","content":"СОДЕРЖИМОЕ_ВАШЕГО_ФАЙЛА"}. Это текст файла, не путь на диске. Допустимые размеры: содержимое до 200 000 байт UTF-8, имя до 100 символов, JSON запроса до 10 МиБ. Альтернатива — полеlinesдо 1 МиБ в поддерживаемом строковом формате VK. В запросе одного аккаунта/accounts/sellполеcookiesявляется строкой, а не массивом; доступен также вариант с данными входа из схемы метода. - Передайте уникальный UUID через
Idempotency-Keyили полеkey. Ответ202содержит задачу вdata; сохранитеdata.id. Принятие задачи ещё не означает публикацию аккаунтов. При обрыве ответа повторяйте тот же запрос с тем же UUID и телом. - Опрашивайте
GET /account_uploads/IDраз в 3–5 секунд:pending— очередь,process— обработка,completed— обработка завершена,failed— задача не завершилась успешно. Статусcompletedне гарантирует успех каждого аккаунта: проверьте счётчики и/lines. - Число успешных публикаций читайте из
data.completed, новых публикаций — изdata.added, уже существовавших — изdata.existing. Например, в Python:response.json()["data"]["completed"]. Счётчики охватывают всю пачку и не требуют подсчёта страниц/lines.processed = completed + failed,remaining = pending + processing. Ошибки файлов входят вfailed, поэтомуprocessedне равно числу запросов к VK. - Успешная строка в
/linesимеетstatus=completed,account_idиproduct_id; ошибка —status=failedиreason. Для подробностей всех записей проходитеlinks.nextдоnull. Для списка своих публикаций используйтеGET /accounts?filter[account_upload_id]=ID. ID задачи, аккаунта и товара различаются.
Одновременно у пользователя выполняется одна задача, в очереди допускается до трёх незавершённых. При 429 или временном 503 учитывайте Retry-After. Примеры ниже используют только заглушки: замените их своими данными перед отправкой; сама документация запросы не выполняет.
Создать задачу размещения своих VK-аккаунтов
curl -X POST 'https://chernovik.shop/api/v2/account_uploads' \
-H 'Authorization: Bearer YOUR_MEOWX_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 00000000-0000-4000-8000-000000000003' \
--data '{"origin":"personal","price":100,"mark":"Мои предложения","cookies":[{"filename":"account.txt","content":"REPLACE_WITH_YOUR_FILE_CONTENT"}]}'Проверить статус загрузки
curl 'https://chernovik.shop/api/v2/account_uploads/UPLOAD_ID' \ -H 'Authorization: Bearer YOUR_MEOWX_TOKEN'
Получить результаты и ID опубликованных аккаунтов
curl 'https://chernovik.shop/api/v2/account_uploads/UPLOAD_ID/lines' \ -H 'Authorization: Bearer YOUR_MEOWX_TOKEN'
Автопокупка из своего скрипта
Доступны совместимые адреса GET https://chernovik.shop/api/accounts и POST https://chernovik.shop/api/accounts/ID/buy. Они используют тот же API-токен и разрешение purchase, что и API v2.
- Получите список:
GET /api/accounts?per_page=100. Размер страницы — от 1 до 100, по умолчанию 40. Следующая страница находится вlinks.next; также можно передаватьmeta.next_cursorкакcursorс прежними фильтрами иper_page. Конец списка —links.next=null. - Выберите
data[].idаккаунта и отправьтеPOST /api/accounts/ID/buyс JSON{"max_price":100}и новым UUID вIdempotency-Key. При сетевой ошибке повторяйте тот же UUID и тело: повтор не создаёт новую покупку. - Ответ
202содержит ID задания вdata.id. ОпрашивайтеGET /api/account_purchases/IDраз в 3–5 секунд. Приpurchase_status=awaiting_confirmationтребуетсяPOST /api/account_purchases/ID/decisionс{"decision":"accept"}или{"decision":"cancel"}. После оплаты файлы доступны черезGET /api/account_purchases/ID/download. ID аккаунта, задания и товара различаются.
Основные адреса /api/v2/accounts и /api/v2/account_purchases также работают. Cursor привязан к адресу и параметрам запроса: переходите по возвращённой ссылке целиком.
Покупки и файлы
- Выберите аккаунты через
GET /accounts. Для массовой покупки отправьтеPOST /account_purchasesс количеством и фильтром. Сохраняйте UUID вIdempotency-Keyи повторяйте запрос с тем же телом при обрыве ответа. - Опрашивайте
GET /account_purchases/IDраз в 3–5 секунд. Состояние задачи:pending / process / completed / failed; состояние покупки находится отдельно вpurchase_status. Задача может завершить проверку и ожидать вашего решения. - При
purchase_status: awaiting_confirmationотправьтеPOST /account_purchases/ID/decisionс{"decision":"accept"}для оплаты подтверждённых аккаунтов либо{"decision":"cancel"}для возврата резерва. До решения файлы закрыты; срок указан вconfirmation.expires_at. - У Telegram вход может быть подтверждён при неизвестном спамблоке.
confirmation.unknown_spam_countпоказывает такие аккаунты. Оплата требует вашего согласия; неизвестный статус не становится отсутствием ограничений. - После оплаты используйте
/account_purchases/ID/download?ids=201,202&format=json-base64. До 100 выбранных ID; безids— вся оплаченная покупка в пределах размера архива. Для VKformat=json-base64выдаёт по одной Base64 UTF-8 JSON-строке на аккаунт;format=netscape-base64— по одной Base64-строке полного текста Netscape с доменом, путём, HttpOnly, secure и сроком действия. Без параметра используется обычныйformat=netscape. Telegram выдаётся в ZIP; смешанный набор — общий ZIP.
/accounts/ID/cookies?format=json возвращает {"data":[...]} с полным массивом browser cookies; format=netscape — {"data":"..."} с текстом Netscape. Доступ имеет владелец непроданного товара с разрешением seller либо покупатель оплаченного аккаунта с разрешением purchase. Карточки аккаунтов не раскрывают логин, пароль и токен.
Перепродажа создаёт новый проверенный товар и сохраняет старую выдачу. Последний подтверждённый покупатель может сразу выставить аккаунт. Для продавца действует КД 7 дней после его успешной продажи этого аккаунта; новый покупатель этот КД не наследует. Прежний продавец и посторонние не могут публиковать аккаунт, принадлежащий покупателю. Поля can_resell, resale_available_at и resale_blocked_reason показывают предварительную доступность и дату окончания КД. При публикации условия проверяются повторно. Отмена отдельного аккаунта методом /accounts/ID/cancel отменяет всю ожидающую покупку, в которую он входит.
Лимиты и ошибки
Лимиты общие для ваших токенов. На сервере: 1200 запросов в минуту и 24 одновременно. Массовая покупка — до 1000 аккаунтов в задаче, одна загрузка — до 500 cookies (до 200 000 байт UTF-8 на файл, имя до 100 символов). Массовое изменение — до 100 выбранных единиц; купленные, зарезервированные или невыбранные соседние единицы защищены. В очереди — до 3 незавершённых задач пользователя и до 20 на сервере; одновременно выполняются 1 и 2 соответственно. Ограничения очереди и проверок дополнительно могут вернуть 429 или 503.
Обычный JSON — до 8 КиБ; отдельная продажа /accounts/sell — до 64 КиБ; массовая загрузка — до 10 МиБ. Поле lines — до 1 МиБ UTF-8. Строка параметров — до 16 384 символов. Используйте выданный cursor со своим запросом и фильтрами. Файлы, деньги и личные данные не кешируются.
В час: до 6 новых задач перепродажи и 30 задач покупки; для загрузки отдельный часовой лимит новых задач не взимается. Для загрузок через сайт, отдельного чекера и API действует общий остаток: 1000 бесплатных проверок аккаунтов в сутки на пользователя, включая все его токены. Сброс — в 00:00 МСК. Дополнительные проверки доступны в профиле, чекере и форме продажи: можно указать нужное количество по тарифу 15 ₽ за 1000 с баланса Meowx; итог округляется вверх до полной копейки. Сначала расходуются бесплатные, затем платные; купленные проверки не сгорают. Если за 10 минут получено не менее 500 подтверждённых результатов и валидных не больше 2% (например, 10 из 500), новые проверки приостанавливаются на 10 минут. Таймауты, ошибки прокси, недоступность VK/TG и ошибки разбора до проверки в эту долю не входят. Платный пакет не снимает паузу и ограничения нагрузки. Для покупки и перепродажи действуют их часовые квоты. Считаются новые задачи; повтор с прежним ключом и телом не расходует квоту ещё раз. Один переданный аккаунт, включая невалидный или ошибку формата, расходует одну проверку. Остановка возвращает не начатые проверки, временные ошибки соединения возвращают использованную квоту. Перепроверка неудавшихся строк использует новые проверки; передавайте отдельный стабильный Idempotency-Key для безопасного повтора запроса /recheck. API загружает VK; Telegram tdata добавляют через сайт. Исходные файлы задач хранятся зашифрованными до 24 часов; поздняя перепроверка возвращает 410. Архив всей покупки — до 1000 единиц, 90 МиБ зашифрованных и 64 МиБ декодированных данных.
Создание задачи возвращает 202. Ответ операции: {"data":...}; коллекции дополнительно содержат links и meta. Ошибки содержат message, errors и request_id. 401 — токен, 403 — разрешение, 404 — недоступные данные, 409 — изменившиеся условия или конфликт, 422 — неподдерживаемое условие, 429 — лимит. При 413 запрос превышает размер для выбранного метода: повтор того же тела без изменений не поможет. При 429 прочитайте message и Retry-After (секунды): лимит запросов, новых задач, количества аккаунтов и заполненная очередь — разные ограничения. Для квот приложение также возвращает объект rate_limit и заголовки X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (Unix-время) и X-RateLimit-Scope. Учитывайте весь срок ожидания; прекратите автоматические повторы после ограниченного числа попыток и покажите пользователю причину. Повтор создания задачи использует прежние Idempotency-Key и тело. При временном 503 также учитывайте Retry-After.
Неподдерживаемые действия и неизвестные данные
- Изменение пароля аккаунта VK и дополнительные password flow
- Выпуск нового токена VK вместо предоставленного владельцем
- Обязательная проверка VK Знакомств без подтверждённого ответа платформы
- Фильтры, для которых чекер не получил требуемые данные или не поддерживает проверку
Недостающие сведения платформы остаются null или unknown. В частности, отсутствие ответа VK Знакомств не означает отсутствия бана. API не создаёт анкету и не подтверждает согласия вместо владельца. Маршрута включения 2FA для входа в Meowx нет.
Пополнение создаёт счёт: указанная сумма amount_cents зачисляется на баланс, сверху добавляется комиссия площадки — CryptoBot 3%, Custodex 2%, округление вверх до копейки. market_fee_cents показывает комиссию, payment_cents и payment_amount — итог к оплате. Условия фиксируются в счёте и сохраняются при повторе; старые счета остаются без новой комиссии. Зачисление происходит только после подтверждения полной оплаты. Возможные сборы провайдера и сети показываются отдельно на странице оплаты. Вывод создаёт заявку и резерв всей указанной суммы. Комиссия площадки — 5%, округление вверх до копейки. Поля market_fee_cents и payout_cents показывают комиссию и остаток для выплаты; условия сохраняются в заявке и не пересчитываются при повторе. Новые заявки CryptoBot и USDT на кошелёк выплачиваются автоматически при включённом автовыводе; поля automatic_payout и manual_review сообщают режим заявки. Курс и комиссии провайдера в предварительной проверке параметров равны null, пока провайдер или оператор не выполнил расчёт. Претензию может принять продавец; отклонение доступно администратору. Диалог претензии — последние сообщения общей переписки участников.
Попробуйте из терминала
Примеры используют условные ID, UUID и строку YOUR_MEOWX_TOKEN. Подставьте собственный токен и доступные ID. Документация не выполняет покупки и не сохраняет ваш токен в браузере.
Создать задачу размещения своих VK-аккаунтов
curl -X POST 'https://chernovik.shop/api/v2/account_uploads' \
-H 'Authorization: Bearer YOUR_MEOWX_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 00000000-0000-4000-8000-000000000003' \
--data '{"origin":"personal","price":100,"mark":"Мои предложения","cookies":[{"filename":"account.txt","content":"REPLACE_WITH_YOUR_FILE_CONTENT"}]}'Проверить статус загрузки
curl 'https://chernovik.shop/api/v2/account_uploads/UPLOAD_ID' \ -H 'Authorization: Bearer YOUR_MEOWX_TOKEN'
Получить результаты и ID опубликованных аккаунтов
curl 'https://chernovik.shop/api/v2/account_uploads/UPLOAD_ID/lines' \ -H 'Authorization: Bearer YOUR_MEOWX_TOKEN'
Найти аккаунты
curl --get 'https://chernovik.shop/api/v2/accounts' \ -H 'Authorization: Bearer YOUR_MEOWX_TOKEN' \ --data-urlencode 'filter[price][to]=100' \ --data-urlencode 'filter[sort]=new'
Создать покупку по фильтру
curl -X POST 'https://chernovik.shop/api/v2/account_purchases' \
-H 'Authorization: Bearer YOUR_MEOWX_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 00000000-0000-4000-8000-000000000001' \
--data '{"count":5,"filter":{"category":"VK","price":{"to":100}}}'Оплатить подтверждённые аккаунты
curl -X POST 'https://chernovik.shop/api/v2/account_purchases/101/decision' \
-H 'Authorization: Bearer YOUR_MEOWX_TOKEN' \
-H 'Content-Type: application/json' \
--data '{"decision":"accept"}'Скачать выбранное
curl 'https://chernovik.shop/api/v2/account_purchases/101/download?ids=201,202&format=json-base64' \ -H 'Authorization: Bearer YOUR_MEOWX_TOKEN' \ -o selected-accounts.txt
Создать счёт Custodex
curl -X POST 'https://chernovik.shop/api/v2/user_payments/replenish' \
-H 'Authorization: Bearer YOUR_MEOWX_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 00000000-0000-4000-8000-000000000002' \
--data '{"provider":"custodex","currency":"RUB","amount":"1000.00"}'Аккаунты40
GET/accountsКаталог аккаунтов
Для Telegram extra.signup_month содержит официальный месяц. Если он недоступен, extra.signup_before и signup_before_source могут показать подтверждённую верхнюю границу существования аккаунта, включительно по календарной дате. Она не является точной датой, не заполняет signup_at и не участвует в фильтре extra.signup.
| Параметр | Где | Значения |
|---|---|---|
filter[user_id] | query | integer |
filter[origins][] | query | personal, auto, retrieve |
filter[status] | query | active, sold, closed, timeout, deleted, purchased |
filter[status_reason] | query | deactivated, blocked, invalid, invalid_credentials, canceled, manualФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[price][from] | query | integer |
filter[price][to] | query | integer |
filter[is_resell] | query | boolean |
filter[was_used_in_services] | query | boolean |
filter[can_change_password] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[can_check_dating] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[need_token] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[user_agent_types][] | query | random, user, market, unknownФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[login_types][] | query | password, token, password_token, cookies, no |
filter[purchase] | query | boolean |
filter[seller_ids][] | query | array |
filter[buyer_ids][] | query | array |
filter[account_upload_id] | query | integer |
filter[account_purchase_id] | query | integer |
filter[extra][gender] | query | male, female |
filter[extra][is_closed] | query | boolean |
filter[extra][is_verified] | query | boolean |
filter[extra][country_ids][] | query | array |
filter[extra][country_ids_exclude] | query | 1 |
filter[extra][mobile_country_ids][] | query | array |
filter[extra][mobile_country_ids_exclude] | query | 1 |
filter[extra][city] | query | string |
filter[extra][has_2fa] | query | boolean |
filter[extra][has_dating_ban] | query | boolean |
filter[extra][has_mobile] | query | boolean |
filter[extra][has_email] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][friends_count][from] | query | integer |
filter[extra][friends_count][to] | query | integer |
filter[extra][followers_count][from] | query | integer |
filter[extra][followers_count][to] | query | integer |
filter[extra][votes_count][from] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][votes_count][to] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][conversations_count][from] | query | integer |
filter[extra][conversations_count][to] | query | integer |
filter[extra][age][from] | query | integer |
filter[extra][age][to] | query | integer |
filter[extra][id_length][from] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][id_length][to] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][marital_statuses][] | query | no, alone, has_friend, engaged, married, difficult, searching, love, civil_marriage |
filter[extra][signup][from] | query | integer |
filter[extra][signup][to] | query | integer |
filter[groups][members_count][from] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[groups][members_count][to] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[groups][roles][] | query | editor, administrator, creator, unknownФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[sort] | query | new, old, cheap, expensive |
filter[is_favorite] | query | 1 |
filter[is_seen] | query | boolean |
filter[is_on_sale] | query | boolean |
filter[was_on_sale] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[mark] | query | string |
filter[query] | query | string |
filter[sold_count][from] | query | integer |
filter[sold_count][to] | query | integer |
filter[favorite_sellers] | query | boolean |
cursor | query | string / null |
per_page | query | integerРазмер страницы. Сохраняйте per_page и фильтры при переходе по cursor; проще использовать links.next. |
filter[category] | query | VK, Telegram |
filter[ids][] | query | array |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/accounts/countКоличество аккаунтов
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[user_id] | query | integer |
filter[origins][] | query | personal, auto, retrieve |
filter[status] | query | active, sold, closed, timeout, deleted, purchased |
filter[status_reason] | query | deactivated, blocked, invalid, invalid_credentials, canceled, manualФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[price][from] | query | integer |
filter[price][to] | query | integer |
filter[is_resell] | query | boolean |
filter[was_used_in_services] | query | boolean |
filter[can_change_password] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[can_check_dating] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[need_token] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[user_agent_types][] | query | random, user, market, unknownФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[login_types][] | query | password, token, password_token, cookies, no |
filter[purchase] | query | boolean |
filter[seller_ids][] | query | array |
filter[buyer_ids][] | query | array |
filter[account_upload_id] | query | integer |
filter[account_purchase_id] | query | integer |
filter[extra][gender] | query | male, female |
filter[extra][is_closed] | query | boolean |
filter[extra][is_verified] | query | boolean |
filter[extra][country_ids][] | query | array |
filter[extra][country_ids_exclude] | query | 1 |
filter[extra][mobile_country_ids][] | query | array |
filter[extra][mobile_country_ids_exclude] | query | 1 |
filter[extra][city] | query | string |
filter[extra][has_2fa] | query | boolean |
filter[extra][has_dating_ban] | query | boolean |
filter[extra][has_mobile] | query | boolean |
filter[extra][has_email] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][friends_count][from] | query | integer |
filter[extra][friends_count][to] | query | integer |
filter[extra][followers_count][from] | query | integer |
filter[extra][followers_count][to] | query | integer |
filter[extra][votes_count][from] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][votes_count][to] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][conversations_count][from] | query | integer |
filter[extra][conversations_count][to] | query | integer |
filter[extra][age][from] | query | integer |
filter[extra][age][to] | query | integer |
filter[extra][id_length][from] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][id_length][to] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[extra][marital_statuses][] | query | no, alone, has_friend, engaged, married, difficult, searching, love, civil_marriage |
filter[extra][signup][from] | query | integer |
filter[extra][signup][to] | query | integer |
filter[groups][members_count][from] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[groups][members_count][to] | query | integerФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[groups][roles][] | query | editor, administrator, creator, unknownФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[sort] | query | new, old, cheap, expensive |
filter[is_favorite] | query | 1 |
filter[is_seen] | query | boolean |
filter[is_on_sale] | query | boolean |
filter[was_on_sale] | query | booleanФильтр распознан, но пока не поддерживается: запрос вернёт 422. |
filter[mark] | query | string |
filter[query] | query | string |
filter[sold_count][from] | query | integer |
filter[sold_count][to] | query | integer |
filter[favorite_sellers] | query | boolean |
filter[category] | query | VK, Telegram |
filter[ids][] | query | array |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/accounts/{id}Карточка аккаунта
Для Telegram extra.signup_month содержит официальный месяц. Если он недоступен, extra.signup_before и signup_before_source могут показать подтверждённую верхнюю границу существования аккаунта, включительно по календарной дате. Она не является точной датой, не заполняет signup_at и не участвует в фильтре extra.signup.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
PUT/accounts/{id}Изменить свой товар
До 100 выбранных аккаунтов. Нельзя менять товар с невыбранными, купленными или зарезервированными соседними единицами.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
JSON-тело запроса
{
"origin": {
"type": "string",
"enum": [
"personal",
"auto",
"retrieve"
]
},
"price": {
"type": "integer",
"minimum": 10,
"description": "Цена одного аккаунта в рублях."
},
"is_resell": {
"type": "boolean"
},
"was_used_in_services": {
"type": "boolean"
},
"mark": {
"type": [
"string",
"null"
],
"maxLength": 120
},
"proxy": {
"type": [
"string",
"null"
]
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/accounts/{id}Удалить свой товар
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/accounts/{id}/historyИстория своего аккаунта
Для Telegram extra.signup_month содержит официальный месяц. Если он недоступен, extra.signup_before и signup_before_source могут показать подтверждённую верхнюю границу существования аккаунта, включительно по календарной дате. Она не является точной датой, не заполняет signup_at и не участвует в фильтре extra.signup.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/accounts/{id}/cookiesCookies своего аккаунта
Только свой непроданный товар с seller либо своя оплаченная покупка с purchase. format=json — массив browser cookies; netscape — строка. В карточке секреты остаются null.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
format | query | json, netscape |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/sellПроверить и выставить аккаунт
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
Idempotency-Key | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"origin": {
"type": "string",
"enum": [
"personal",
"auto",
"retrieve"
]
},
"price": {
"type": "integer",
"minimum": 10,
"description": "Цена одного аккаунта в рублях."
},
"is_resell": {
"type": "boolean"
},
"was_used_in_services": {
"type": "boolean"
},
"mark": {
"type": [
"string",
"null"
],
"maxLength": 120
},
"proxy": {
"type": [
"string",
"null"
]
},
"login": {
"type": "string"
},
"password": {
"type": "string"
},
"token": {
"type": [
"string",
"null"
]
},
"cookies": {
"type": [
"string",
"null"
],
"x-max-utf8-bytes": 200000
},
"user_agent": {
"type": [
"string",
"null"
]
},
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 202 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/buyКупить выбранный аккаунт
Покупки и выдача файлов. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Idempotency-Key | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"mark": {
"type": [
"string",
"null"
],
"maxLength": 120
},
"password": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"need_password_flow": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"need_token": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"need_dating": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"max_price": {
"oneOf": [
{
"type": "string",
"pattern": "^\\d{1,8}(?:\\.\\d{1,2})?$",
"examples": [
"65.00"
]
},
{
"type": "integer",
"minimum": 1
}
],
"description": "Рубли. Строка с точностью до копеек; amount_cents в ответах — целые копейки."
},
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 202 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/resellПерепродать купленный аккаунт
Только последние подтверждённые покупатели. Последний подтверждённый покупатель может сразу выставить аккаунт. Для продавца действует КД 7 дней после его успешной продажи этого аккаунта; новый покупатель этот КД не наследует. Прежний продавец и посторонние не могут публиковать аккаунт, принадлежащий покупателю. Новый товар проходит свежую проверку; исторические файлы не меняются. can_resell, resale_available_at и resale_blocked_reason сообщают предварительную доступность и дату окончания КД; перед публикацией условия и состояние проверяются повторно.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Idempotency-Key | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"price": {
"type": "integer",
"minimum": 10,
"description": "Цена одного аккаунта в рублях."
},
"was_used_in_services": {
"type": "boolean"
},
"mark": {
"type": [
"string",
"null"
]
},
"proxy": {
"type": "null",
"description": "Используются настроенные маршруты проверки."
},
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 202 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/closeСкрыть товар
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/openОткрыть товар
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/cancelОтменить ожидающую покупку
Отмена относится ко всей ожидающей покупке, в которую входит аккаунт. Оплаченный заказ этим методом не возвращается.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/complainОткрыть претензию
Покупки и выдача файлов. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
JSON-тело запроса
{
"reason": {
"type": "string",
"enum": [
"credentials",
"no_password",
"not_registered",
"spam",
"activity"
]
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/favoriteДобавить отметку избранного
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/accounts/{id}/favoriteУбрать отметку избранного
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/{id}/markAsSeenОтметить просмотренным
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/bulkOpenОткрыть выбранные товары
До 100 выбранных аккаунтов. Нельзя менять товар с невыбранными, купленными или зарезервированными соседними единицами.
JSON-тело запроса
{
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/bulkCloseСкрыть выбранные товары
До 100 выбранных аккаунтов. Нельзя менять товар с невыбранными, купленными или зарезервированными соседними единицами.
JSON-тело запроса
{
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/bulkDeleteУдалить выбранные товары
До 100 выбранных аккаунтов. Нельзя менять товар с невыбранными, купленными или зарезервированными соседними единицами.
JSON-тело запроса
{
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/bulkUpdateИзменить выбранные товары
До 100 выбранных аккаунтов. Нельзя менять товар с невыбранными, купленными или зарезервированными соседними единицами.
JSON-тело запроса
{
"origin": {
"type": "string",
"enum": [
"personal",
"auto",
"retrieve"
]
},
"price": {
"type": "integer",
"minimum": 10,
"description": "Цена одного аккаунта в рублях."
},
"is_resell": {
"type": "boolean"
},
"was_used_in_services": {
"type": "boolean"
},
"mark": {
"type": [
"string",
"null"
],
"maxLength": 120
},
"proxy": {
"type": [
"string",
"null"
]
},
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/bulkPriceИзменить цены выбранных товаров
До 100 выбранных аккаунтов. Нельзя менять товар с невыбранными, купленными или зарезервированными соседними единицами.
JSON-тело запроса
{
"price": {
"type": "integer",
"minimum": 10,
"description": "Цена одного аккаунта в рублях."
},
"percent": {
"type": "integer",
"minimum": 1,
"maximum": 99
},
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/accounts/bulkComplainПретензии по выбранным покупкам
До 100 своих оплаченных аккаунтов. Открывает претензии по заказам; HTTP 207 и failed сообщают частичные ошибки. Деньги этим действием не возвращаются.
JSON-тело запроса
{
"reason": {
"type": "string",
"enum": [
"credentials",
"no_password",
"not_registered",
"spam",
"activity"
]
},
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
}
}Коды ответов: 200 · 207 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_uploads/{id}Статус загрузки
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_uploadsЗагрузки аккаунтов
API-загрузка VK: до 500 cookie-файлов, content≤200000 байт UTF-8, filename≤100 символов. lines≤1 МиБ. 1000 бесплатных проверок в сутки на пользователя (сброс в 00:00 МСК); дополнительные проверки покупаются в нужном количестве по тарифу 15 ₽ за 1000 с баланса в профиле, с округлением итоговой суммы вверх до копейки. Сначала используются бесплатные, затем купленные. Повтор той же задачи с тем же UUID не списывает проверки снова. Проверка идёт в фоне. Исходные данные зашифрованы и хранятся до 24 часов; поздняя перепроверка возвращает 410. Telegram tdata загружают через сайт.
| Параметр | Где | Значения |
|---|---|---|
filter[status] | query | pending, process, completed, failed |
filter[sort] | query | old, new |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/account_uploadsСоздать загрузку
API-загрузка VK: до 500 cookie-файлов, content≤200000 байт UTF-8, filename≤100 символов. lines≤1 МиБ. 1000 бесплатных проверок в сутки на пользователя (сброс в 00:00 МСК); дополнительные проверки покупаются в нужном количестве по тарифу 15 ₽ за 1000 с баланса в профиле, с округлением итоговой суммы вверх до копейки. Сначала используются бесплатные, затем купленные. Повтор той же задачи с тем же UUID не списывает проверки снова. Проверка идёт в фоне. Исходные данные зашифрованы и хранятся до 24 часов; поздняя перепроверка возвращает 410. Telegram tdata загружают через сайт.
| Параметр | Где | Значения |
|---|---|---|
Idempotency-Key | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"origin": {
"type": "string",
"enum": [
"personal",
"auto",
"retrieve"
]
},
"price": {
"type": "integer",
"minimum": 10,
"description": "Цена одного аккаунта в рублях."
},
"is_resell": {
"type": "boolean"
},
"was_used_in_services": {
"type": "boolean"
},
"mark": {
"type": [
"string",
"null"
],
"maxLength": 120
},
"proxy": {
"type": [
"string",
"null"
]
},
"lines": {
"type": [
"string",
"null"
],
"x-max-utf8-bytes": 1048576
},
"cookies": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"content": {
"type": "string",
"maxLength": 200000,
"x-max-utf8-bytes": 200000
},
"filename": {
"type": "string",
"maxLength": 100
}
},
"required": [
"content",
"filename"
]
}
},
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 202 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_uploads/{id}/linesРезультаты строк загрузки
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
filter[status] | query | pending, process, completed, failed |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_uploads/countКоличество загрузок
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[status] | query | pending, process, completed, failed |
filter[sort] | query | old, new |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/account_uploads/{id}/recheckПерепроверить доступные строки
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
JSON-тело запроса
{
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 202 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/account_uploads/{id}/stopОстановить загрузку
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_purchases/{id}Статус массовой покупки
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_purchasesМассовые покупки
До 1000 аккаунтов в задаче. Проверка, резерв, частичная оплата и возвраты используют существующий механизм покупки. Неизвестный спамблок требует решения покупателя.
| Параметр | Где | Значения |
|---|---|---|
filter[status] | query | pending, process, completed, failed |
filter[sort] | query | old, new |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/account_purchasesСоздать массовую покупку
До 1000 аккаунтов в задаче. Проверка, резерв, частичная оплата и возвраты используют существующий механизм покупки. Неизвестный спамблок требует решения покупателя.
| Параметр | Где | Значения |
|---|---|---|
Idempotency-Key | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"mark": {
"type": [
"string",
"null"
],
"maxLength": 120
},
"password": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"need_password_flow": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"need_token": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"need_dating": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
},
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 202 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_purchases/countКоличество массовых покупок
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[status] | query | pending, process, completed, failed |
filter[sort] | query | old, new |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_purchases/{id}/logsРезультаты проверки покупки
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
filter[status] | query | completed, failed |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/account_purchases/{id}/resellПерепродать выбранное из покупки
Только последние подтверждённые покупатели. Последний подтверждённый покупатель может сразу выставить аккаунт. Для продавца действует КД 7 дней после его успешной продажи этого аккаунта; новый покупатель этот КД не наследует. Прежний продавец и посторонние не могут публиковать аккаунт, принадлежащий покупателю. Новый товар проходит свежую проверку; исторические файлы не меняются. can_resell, resale_available_at и resale_blocked_reason сообщают предварительную доступность и дату окончания КД; перед публикацией условия и состояние проверяются повторно.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Idempotency-Key | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"price": {
"type": "integer",
"minimum": 10,
"description": "Цена одного аккаунта в рублях."
},
"was_used_in_services": {
"type": "boolean"
},
"mark": {
"type": [
"string",
"null"
]
},
"proxy": {
"type": "null"
},
"key": {
"type": "string",
"format": "uuid"
},
"ids": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[1-9][0-9]{0,19}$"
}
}
}Коды ответов: 200 · 202 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/account_purchases/{id}/decisionПодтвердить покупку или вернуть резерв
Покупки и выдача файлов. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
JSON-тело запроса
{
"decision": {
"type": "string",
"enum": [
"accept",
"cancel"
]
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_purchases/{id}/downloadСкачать оплаченные файлы покупки
Только свои оплаченные аккаунты. По умолчанию format=netscape сохраняет обычный Netscape. format=json-base64 выдаёт Base64 UTF-8 JSON; format=netscape-base64 — Base64 полного UTF-8 Netscape с доменом, путём, HttpOnly, secure и сроком действия. В обоих Base64-форматах одна строка на аккаунт в TXT; Telegram сохраняет tdata ZIP, смешанный набор — общий ZIP.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
ids | query | stringДо 100 уникальных stock unit IDs. Без параметра — вся оплаченная покупка в пределах размера архива. |
format | query | netscape, json-base64, netscape-base64 |
category | query | VK, Telegram |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_resales/{id}Статус массовой перепродажи
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_resales/{id}/linesРезультаты массовой перепродажи
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Обновления3
GET/updatesНовости обновлений
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[unseen] | query | 1 |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/updates/countКоличество обновлений
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[unseen] | query | 1 |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/updates/{id}/markAsSeenОтметить обновление прочитанным
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Пользователи14
GET/users/meМой профиль и баланс
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/usersПубличные профили
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[query] | query | string |
filter[list] | query | ignored_sellers, ignored_buyers, favorite_sellers |
filter[is_blocked] | query | boolean |
filter[sort] | query | old, new |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/users/countКоличество публичных профилей
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[query] | query | string |
filter[list] | query | ignored_sellers, ignored_buyers, favorite_sellers |
filter[is_blocked] | query | boolean |
filter[sort] | query | old, new |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/users/{id}Публичный профиль
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
PUT/users/me/passwordИзменить пароль Meowx
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
JSON-тело запроса
{
"old_password": {
"type": "string",
"minLength": 8,
"maxLength": 128
},
"new_password": {
"type": "string",
"minLength": 8,
"maxLength": 128
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
PUT/users/me/emailИзменить email Meowx
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
JSON-тело запроса
{
"old_password": {
"type": "string",
"minLength": 8,
"maxLength": 128
},
"email": {
"type": "string",
"format": "email"
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
PUT/users/me/settingsИзменить настройки
Настройки применяются к будущим операциям. Опции buy_change_password, buy_need_password_flow и buy_need_token сохраняются как предпочтения; покупка с ними true вернёт 422. Автоматическая переоценка требует seller.
JSON-тело запроса
{
"show_links": {
"type": "boolean"
},
"price_change_interval": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 86400,
"description": "Интервал в минутах (60 = 1 час). После изменения правила отсчитывается полный интервал. null отключает автоснижение."
},
"price_change_percent": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 99,
"description": "Снижать текущую цену на этот процент, не опускаясь ниже min_price. null отключает автоснижение."
},
"min_price": {
"oneOf": [
{
"type": "string",
"pattern": "^\\d{1,8}(?:\\.\\d{1,2})?$",
"examples": [
"65.00"
]
},
{
"type": "integer",
"minimum": 1
}
],
"description": "Рубли. Строка с точностью до копеек; amount_cents в ответах — целые копейки."
},
"vk_app_id": {
"type": [
"integer",
"null"
],
"enum": [
2274003,
3140623,
2685278,
null
]
},
"vk_api_version": {
"type": [
"string",
"null"
],
"enum": [
"5.131",
"5.134",
"5.137",
"5.138",
"5.139",
"5.141",
"5.154",
"5.186",
"5.192",
"5.193",
"5.194",
"5.195",
"5.199",
null
]
},
"buy_change_password": {
"type": "boolean"
},
"buy_need_password_flow": {
"type": "boolean"
},
"buy_need_token": {
"type": "boolean"
},
"buy_need_dating": {
"type": "boolean",
"const": false,
"description": "Значение true не поддерживается и возвращает 422."
},
"sell_origin": {
"type": [
"string",
"null"
],
"enum": [
"personal",
"auto",
"retrieve",
null
]
},
"sell_is_resell": {
"type": "boolean"
},
"sell_was_used_in_services": {
"type": "boolean"
},
"sell_price": {
"type": [
"integer",
"null"
],
"minimum": 10,
"maximum": 1000000
},
"sell_view": {
"type": [
"string",
"null"
],
"enum": [
"lines",
"files",
null
]
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/users/tokensСписок своих токенов
В списке токены замаскированы. Полный новый токен возвращается только при создании.
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/users/tokensСоздать дополнительный токен
До 10 дополнительных токенов. Нельзя выдать больше разрешений, чем у вызывающего токена.
JSON-тело запроса
{
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"enabled": {
"type": "boolean"
},
"can_purchase": {
"type": "boolean"
},
"can_sell": {
"type": "boolean"
},
"can_finance": {
"type": "boolean"
},
"can_settings": {
"type": "boolean"
}
}Коды ответов: 200 · 201 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/users/tokens/{id}Отозвать свой токен
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/users/{id}/ignoreДобавить пользователя в личный список игнорирования
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
JSON-тело запроса
{
"type": {
"type": "string",
"enum": [
"seller",
"buyer"
]
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/users/{id}/ignoreУбрать игнорирование
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
type * | query | seller, buyer |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/users/{id}/favoriteДобавить продавца в личный список
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/users/{id}/favoriteУбрать продавца из личного списка
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Претензии6
GET/claimsПретензии по моим сделкам
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[user_id] | query | integer |
filter[status] | query | pending, rejected, accepted |
filter[reason] | query | credentials, no_password, not_registered, spam, activity |
filter[type] | query | incoming, outgoing |
filter[sort] | query | new, old |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/claims/countКоличество претензий
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[user_id] | query | integer |
filter[status] | query | pending, rejected, accepted |
filter[reason] | query | credentials, no_password, not_registered, spam, activity |
filter[type] | query | incoming, outgoing |
filter[sort] | query | new, old |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/claims/{id}Детали претензии
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/claims/{id}/acceptПринять претензию и вернуть средства
Только продавец или администратор с finance. Доход продавца списывается, покупатель получает возврат атомарно. Недостаток средств требует ручного разбора и возвращает 409.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/claims/{id}/rejectРешение администратора по претензии
Только администратор с finance после разбора спора.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/claims/{id}/messagesДиалог участников сделки
Последние 100 сообщений существующего диалога покупателя и продавца; это общий диалог участников, не отдельная переписка для одного заказа.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Прокси6
GET/user_proxiesМои прокси
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[status] | query | valid, invalid |
filter[sort] | query | old, new |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/user_proxiesДобавить личный прокси
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
JSON-тело запроса
{
"proxy": {
"type": "string",
"maxLength": 1200
},
"check": {
"type": "boolean"
}
}Коды ответов: 200 · 201 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/user_proxiesУдалить выбранные личные прокси
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[status] | query | valid, invalid |
filter[sort] | query | old, new |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/user_proxies/countКоличество личных прокси
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[status] | query | valid, invalid |
filter[sort] | query | old, new |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
PUT/user_proxies/{id}Изменить личный прокси
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
JSON-тело запроса
{
"proxy": {
"type": "string",
"maxLength": 1200
},
"check": {
"type": "boolean"
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/user_proxies/{id}Удалить личный прокси
Продажа и управление товарами. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Сохраненные фильтры3
GET/account_filtersМои сохранённые фильтры
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[query] | query | string |
filter[ids][] | query | array |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/account_filtersСохранить фильтр
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
JSON-тело запроса
{
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"filter": {
"type": "object",
"additionalProperties": true,
"description": "Вложенные фильтры каталога. Неподдерживаемый фильтр возвращает 422."
}
}Коды ответов: 200 · 201 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
DELETE/account_filters/{id}Удалить сохранённый фильтр
Настройки и персональные списки. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Страницы1
GET/pages/{slug}Информационная страница
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
slug * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Страны2
GET/account_countriesСтраны доступных товаров
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[query] | query | string |
filter[ids][] | query | array |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/account_countries/{id}Название страны
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
id * | path | string |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
Финансы8
GET/user_payments/withdrawalСпособы вывода
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/user_payments/replenishmentСпособы пополнения
Способы пополнения: CryptoBot с комиссией площадки 3% (300 bps), Custodex — 2% (200 bps). Комиссия добавляется к сумме зачисления, округление вверх до копейки. Монету и сеть выбирают на странице оплаты.
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/user_payments/estimatedWithdrawalПроверить параметры заявки на вывод
Проверяет параметры RUB без создания заявки. Курс и комиссии провайдера null до расчёта. automatic_payout и manual_review отражают текущий режим вывода; комиссия площадки при выводе — 5% от суммы, округление вверх до копейки. market_fee_cents — комиссия, payout_cents — сумма после неё; amount_cents — полный резерв.
| Параметр | Где | Значения |
|---|---|---|
provider | query | cryptobot, crypto |
currency * | query | RUB, USDT |
wallet * | query | string |
amount * | query | строка RUB или целое число |
network | query | trc20, erc20, bep20, tonДля provider=crypto: сеть USDT; amount всегда в рублях. |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/user_payments/estimatedReplenishmentПроверить параметры пополнения
Расчёт без создания счёта: amount_cents — зачисление, market_fee_cents — комиссия площадки (CryptoBot 3%, Custodex 2%), payment_cents/payment_amount — сумма к оплате с комиссией. Курс и сборы провайдера/сети остаются null до расчёта на странице оплаты.
| Параметр | Где | Значения |
|---|---|---|
provider | query | custodex, cryptobot |
currency * | query | RUB |
amount * | query | строка RUB или целое число |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/user_payments/replenishСоздать счёт на пополнение
Создаёт счёт на указанную сумму зачисления amount_cents плюс комиссию площадки: CryptoBot 3%, Custodex 2%, округление вверх до копейки. market_fee_cents — комиссия, payment_cents/payment_amount — итог к оплате. Комиссия фиксируется при создании; повтор и ранее созданные счета сохраняют свои условия. Только подтверждённая полная оплата зачисляет amount_cents на баланс. Возможные комиссии сети и провайдера показываются на странице оплаты отдельно.
| Параметр | Где | Значения |
|---|---|---|
Idempotency-Key * | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"provider": {
"type": "string",
"enum": [
"custodex",
"cryptobot"
],
"default": "custodex"
},
"currency": {
"type": "string",
"const": "RUB"
},
"amount": {
"oneOf": [
{
"type": "string",
"pattern": "^\\d{1,8}(?:\\.\\d{1,2})?$",
"examples": [
"65.00"
]
},
{
"type": "integer",
"minimum": 1
}
],
"description": "Рубли. Строка с точностью до копеек; amount_cents в ответах — целые копейки."
},
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
POST/user_payments/withdrawСоздать заявку на вывод
Создаёт заявку на вывод и резервирует всю указанную сумму. Из неё удерживается комиссия площадки 5% (округление вверх до копейки); оставшаяся сумма конвертируется для выплаты. Комиссия фиксируется в заявке, повтор не пересчитывает её. Новые заявки CryptoBot и USDT на кошелёк обрабатываются автоматически при включённом автовыводе; поля automatic_payout и manual_review сообщают режим заявки.
| Параметр | Где | Значения |
|---|---|---|
Idempotency-Key * | header | stringСохраняйте UUID и тело запроса для безопасного повтора. Для отдельной новой операции используйте новый UUID. |
JSON-тело запроса
{
"provider": {
"type": "string",
"enum": [
"cryptobot",
"crypto"
],
"default": "cryptobot"
},
"currency": {
"type": "string",
"enum": [
"RUB",
"USDT"
]
},
"amount": {
"oneOf": [
{
"type": "string",
"pattern": "^\\d{1,8}(?:\\.\\d{1,2})?$",
"examples": [
"65.00"
]
},
{
"type": "integer",
"minimum": 1
}
],
"description": "Рубли. Строка с точностью до копеек; amount_cents в ответах — целые копейки."
},
"wallet": {
"type": "string"
},
"network": {
"type": "string",
"enum": [
"trc20",
"erc20",
"bep20",
"ton"
]
},
"key": {
"type": "string",
"format": "uuid"
}
}Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/user_transactionsМоя финансовая история
Собственные события денежного журнала: signed amount_cents, available_delta_cents и held_delta_cents. Резерв и списание — разные события; это не два повторных списания.
| Параметр | Где | Значения |
|---|---|---|
filter[type] | query | replenishment, withdrawal, purchase, sale, canceled_purchase, canceled_sale, incoming_transfer, outgoing_transfer |
filter[status] | query | pending, process, hold, rejected, canceled, completed, locked |
filter[amount][from] | query | integer |
filter[amount][to] | query | integer |
filter[sort] | query | old, new |
cursor | query | string / null |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
GET/user_transactions/countКоличество финансовых записей
Просмотр. Доступ проверяется отдельно для каждого владельца и действия.
| Параметр | Где | Значения |
|---|---|---|
filter[type] | query | replenishment, withdrawal, purchase, sale, canceled_purchase, canceled_sale, incoming_transfer, outgoing_transfer |
filter[status] | query | pending, process, hold, rejected, canceled, completed, locked |
filter[amount][from] | query | integer |
filter[amount][to] | query | integer |
filter[sort] | query | old, new |
Коды ответов: 200 · 400 · 401 · 403 · 404 · 405 · 409 · 410 · 413 · 415 · 422 · 429 · 503. Полные структуры доступны в OpenAPI JSON.
