B2BB2B LLM

Справочник операций управления ресурсами

Изменения в области владельца, постраничные записи и примеры точных десятичных сумм.

Отправляйте запросы на https://p-api.b2b-llm.com. Примеры иллюстрируют формат протокола; заменяйте ID и секреты значениями, выданными компании. Все суммы запросов и ответов остаются десятичными строками.

Authorization: Bearer mg_partner_...
Accept: application/json
Idempotency-Key: UNIQUE_LOGICAL_OPERATION

Заголовок Idempotency-Key обязателен для изменений, но не для GET только для чтения.

Передача и правила изменений

Каждая операция требует авторизации владельца. Изменения также требуют уникального Idempotency-Key; при неизвестном результате повторите исходные метод, путь и тело с тем же ключом. Окно повтора — семь дней. Учитывайте 429/Retry-After и сохраняйте X-Request-ID. Все ответы — JSON с no-store. Денежные строки остаются точными, время — UTC RFC3339. Неизвестные поля JSON/query отклоняются. Лимиты коллекций обычно 1–100; следуйте служебному курсору конкретной операции.

Создать ключ для запросов к моделям

Создайте ключ внутри активного проекта компании. Сразу сохраните возвращённый открытый секрет в хранилище приложения; обычный список его не вернёт. Для Business-ключей этого API владельцем полномочий является владелец компании.

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/keys \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Service integration",
    "group_id": "GROUP_PUBLIC_ID",
    "rpm_limit": 30,
    "concurrency_limit": 2,
    "spend_limit": "20.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000"
  }'

Пример ответа

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "group_id": "GROUP_PUBLIC_ID",
    "name": "Service integration",
    "key_prefix": "mg_live_ab12",
    "key": "mg_live_ab12...",
    "status": "active",
    "rpm_limit": 30,
    "concurrency_limit": 2,
    "spend_limit": "20.0000000000",
    "usage": "0.0000000000",
    "total_spent": "0.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000",
    "effective_usage_price_basis": "official_price",
    "effective_usage_price_multiplier": "0.900000"
  }
}

Постраничный список ключей

Сначала идут новые ключи. Выберите limit от 1 до 100 и передавайте meta.next_cursor как cursor, пока meta.has_more равен true. Возвращаемый префикс служит отображению, не является пригодным секретом.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/keys \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": [
    {
      "public_id": "KEY_PUBLIC_ID",
      "group_id": "GROUP_PUBLIC_ID",
      "name": "Service integration",
      "status": "active",
      "spend_limit": "20.0000000000",
      "usage": "3.2500000000",
      "total_spent": "1.1400000000"
    }
  ]
}

Просмотреть запись ключа

Обращайтесь к ключу по публичному ID. Ответ описывает его текущую конфигурацию и счётчики, не давая доступа к ключам другой компании.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "group_id": "GROUP_PUBLIC_ID",
    "name": "Service integration",
    "status": "active",
    "rpm_limit": 30,
    "concurrency_limit": 2,
    "spend_limit": "20.0000000000",
    "usage": "3.2500000000",
    "total_spent": "1.1400000000",
    "effective_usage_price_basis": "official_price",
    "effective_usage_price_multiplier": "0.900000"
  }
}

Изменить настройки ключа

PATCH изменяет только поддерживаемые переданные поля. Пустой group_id отсоединяет ключ; null для базы/коэффициента расчёта восстанавливает наследование. Перед удалением контекста проекта проверьте требования интеграций сотрудников.

Пример запроса

curl -X PATCH https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated user name",
    "group_id": "GROUP_PUBLIC_ID",
    "rpm_limit": 60,
    "concurrency_limit": 4,
    "spend_limit": "40.0000000000",
    "usage_price_basis": null,
    "usage_price_multiplier": null
  }'

Пример ответа

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "spend_limit": "40.0000000000",
    "usage": "3.2500000000",
    "effective_usage_price_basis": "user_price",
    "effective_usage_price_multiplier": "1.000000"
  }
}

Отозвать ключ

Используйте операцию только после определения затронутого приложения. Удаление или отзыв ключа не удаляет журнал кошелька или исторические подтверждённые списания.

Пример запроса

curl -X DELETE https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{"data":{"deleted":true}}

Приостановить и возобновить допуск

Заморозка останавливает новые запросы к моделям без перевыпуска секрета. Возобновление требует подтверждённого email владельца и действующих остальных правил аккаунта. Доступ замороженного ключа к каталогу не означает доступ к выполнению запросов.

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/freeze \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{"data":{"public_id":"KEY_PUBLIC_ID","status":"frozen"}}

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/unfreeze \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{"data":{"public_id":"KEY_PUBLIC_ID","status":"active"}}

Заменить секрет Bearer

Перевыпуск создаёт новый секрет для той же записи ключа. Безопасно обновите использующее его приложение и прекратите использование старого значения. Новый полный секрет нужно сохранить из этого ответа.

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/rotate \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "status": "active",
    "key_prefix": "mg_live_cd34",
    "key": "mg_live_cd34..."
  }
}

Начать новый бюджетный интервал ключа

Очищается только обнуляемый счётчик использования. Расходы за весь период и кошелёк компании не сбрасываются и не возвращаются.

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/reset-usage \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{
  "data": {
    "public_id": "KEY_PUBLIC_ID",
    "usage": "0.0000000000",
    "total_spent": "1.1400000000"
  }
}

Прочитать счётчики ключа

Читайте использование и расходы за весь период как разные десятичные величины. Настройка расчёта может делать обнуляемый счётчик отличным от фактически списанных денег.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/usage \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": {
    "key_id": "KEY_PUBLIC_ID",
    "usage": "3.2500000000",
    "total_spent": "1.1400000000"
  }
}

Просмотреть остаток лимита

Нулевой spend_limit означает отсутствие лимита; remaining представлен как null. Это не остаток в ноль долларов.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/spent-limit \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": {
    "key_id": "KEY_PUBLIC_ID",
    "spend_limit": "20.0000000000",
    "usage": "3.2500000000",
    "remaining": "16.7500000000"
  }
}

Прочитать историю завершённых запросов

Используйте limit 1–100, по умолчанию 10. Сначала идут последние finished_at; для следующей страницы старых записей передавайте meta.next_cursor как before. Подробная история обычно хранится семь дней и сообщает действующее окно. Снимки цены сохраняют исторические фактические/справочные ставки и расчёт использования; недоступные старые снимки помечаются недоступными, а не восстанавливаются по текущему каталогу. gateway_overhead_ms, upstream_first_token_ms и e2e_first_token_ms описывают разные интервалы; E2E шлюза не включает сеть клиента и TLS. Пакетные записи содержат сохранённые protocol/job/custom_id/coefficient. В нативных sync/async объект batch отсутствует. Восстановление токенной стоимости использует сохранённые ставки: выбранная база округляется до десяти знаков до применения и округления коэффициента. Сохранённые cost/official_base_cost/usage_cost — источник истины. Исходные тела запросов и ответов не включаются.

Пример запроса

curl "https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/requests?limit=10" \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": [
    {
      "request_id": "01KZ...",
      "key_id": "KEY_PUBLIC_ID",
      "group_id": "GROUP_PUBLIC_ID",
      "model": "claude-opus-4.7",
      "endpoint": "messages",
      "method": "POST",
      "status": "succeeded",
      "status_code": 200,
      "is_stream": false,
      "request_mode": "batch",
      "batch": {
        "protocol": "claude",
        "job_id": "msgbatch_01K...",
        "custom_id": "request-1",
        "price_multiplier": "0.5"
      },
      "tokens": {
        "input": 120,
        "output": 45,
        "cached": 0,
        "cache_write": 0,
        "reasoning": 0,
        "total": 165
      },
      "cost": "0.0000345",
      "usage_cost": "0.00345",
      "official_base_cost": "0.000345",
      "currency": "USD",
      "usage_pricing": {
        "basis": "official_price",
        "base_field": "official_base_cost",
        "base_amount": "0.000345",
        "multiplier": "10",
        "usage_cost": "0.00345",
        "formula": "round(base_amount * multiplier, 10)"
      },
      "pricing_snapshot": {
        "available": true,
        "unit": "per_1m_tokens",
        "user_price": {
          "input": "0.2",
          "output": "1",
          "cache_read": "0.02",
          "cache_write": "0.25",
          "reasoning": "1"
        },
        "official_price": {
          "input": "1",
          "output": "5",
          "cache_read": "0.1",
          "cache_write": "1.25",
          "reasoning": "5"
        },
        "usage_price": {
          "input": "10",
          "output": "50",
          "cache_read": "1",
          "cache_write": "12.5",
          "reasoning": "50"
        }
      },
      "duration_ms": 842,
      "gateway_overhead_ms": 34,
      "upstream_first_token_ms": 156,
      "e2e_first_token_ms": 190,
      "settlement_status": "settled",
      "started_at": "2026-08-05T10:00:00Z",
      "finished_at": "2026-08-05T10:00:00.842Z"
    }
  ],
  "meta": {
    "key_id": "KEY_PUBLIC_ID",
    "limit": 10,
    "returned": 1,
    "order": "finished_at_desc",
    "next_cursor": "eyJ0IjoiMjAyNi0wOC0wNSAxMDowMDowMCIsInAiOiIwMUt...",
    "has_more": true
  }
}

Пример запроса

curl "https://p-api.b2b-llm.com/api/v1/partner/keys/KEY_PUBLIC_ID/requests?limit=10&before=NEXT_CURSOR" \
  -H "Authorization: Bearer mg_partner_..."

Сверить движения кошелька

Использование API кошелька агрегируется по владельцу списания и минуте завершения. Для устойчивой сверки используйте transaction_id, для числа включённых запросов — request_count. У агрегированных списаний balance_before, balance_after и api_key_id намеренно равны null; детализация ключа находится в истории запросов. Следуйте служебному курсору, не считая внутренние числовые ID публичными идентификаторами.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/transactions \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": [
    {
      "transaction_id": "TRANSACTION_PUBLIC_ID",
      "type": "debit",
      "source": "api_usage_minute",
      "billing_minute_num": 29769120,
      "amount": "-0.0232000000",
      "request_count": 100,
      "balance_before": null,
      "balance_after": null,
      "api_key_id": null,
      "created_at": "2026-08-05T10:00:00Z"
    }
  ]
}

Прочитать кошелёк владельца

Для проверки кошелька владельца, в том числе сверки после уведомления о балансе, используйте ключ Partner API. Не подменяйте баланс использованием проекта.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/balance \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{"data":{"balance":"1234.5678900000","currency":"USD","as_of":"2026-08-28T07:00:00Z"}}

Просмотреть действия управления ресурсами

Записи аудита обозначают успешные операции управления, действие/объект, ID запроса, исходный IP, безопасные метаданные и время UTC. Секреты, тела повторов и ключи идемпотентности исключены. При необходимости фильтруйте по action, для продолжения используйте cursor.

Пример запроса

curl "https://p-api.b2b-llm.com/api/v1/partner/audit-events?limit=100" \
  -H "Authorization: Bearer mg_partner_..."

Создать бюджет проекта

Группа объединяет ключи одной компании с общими пределами запросов и расчётом использования. Её создание не выделяет отдельный кошелёк.

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/groups \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Telegram bot A",
    "description": "Keys created by bot A",
    "rpm_limit": 100,
    "concurrency_limit": 20,
    "spend_limit": "1000.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000"
  }'

Пример ответа

{
  "data": {
    "public_id": "GROUP_PUBLIC_ID",
    "name": "Telegram bot A",
    "status": "active",
    "spend_limit": "1000.0000000000",
    "usage": "0.0000000000",
    "total_spent": "0.0000000000",
    "usage_price_basis": "official_price",
    "usage_price_multiplier": "0.900000"
  }
}

Перечислить проекты компании

Получите проекты в области владельца и следуйте постраничной навигации. Публичные ID групп — устойчивые ссылки для последующих операций с ключами.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/groups \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{"data":[{"public_id":"GROUP_PUBLIC_ID","name":"Telegram bot A","status":"active","usage":"0.0000000000"}]}

Просмотреть и изменить проект

Прочитайте группу до изменения лимитов. PATCH применяет поддерживаемые поля; переопределения ключа могут сохранять приоритет над унаследованными настройками проекта.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{"data":{"public_id":"GROUP_PUBLIC_ID","name":"Telegram bot A","spend_limit":"1000.0000000000","usage":"12.0000000000"}}

Пример запроса

curl -X PATCH https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \
  -H "Content-Type: application/json" \
  -d '{"name":"Telegram bot A production","status":"active","spend_limit":"2000.0000000000","usage_price_basis":"user_price","usage_price_multiplier":"1.200000"}'

Пример ответа

{"data":{"public_id":"GROUP_PUBLIC_ID","name":"Telegram bot A production","spend_limit":"2000.0000000000","usage_price_basis":"user_price","usage_price_multiplier":"1.200000"}}

Удалить пустой проект

Сначала переместите или удалите все входящие ключи. Непустой проект возвращает 409 group_not_empty; не рассчитывайте, что удаление незаметно отсоединит работающие интеграции.

Пример запроса

curl -X DELETE https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{"data":{"deleted":true}}

Сбросить общий счётчик бюджета

Операция очищает использование группы, не очищая счётчики каждого ключа и не меняя подтверждённые транзакции кошелька. Перед сбросом подтвердите нужную область бюджета.

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID/reset-usage \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{"data":{"public_id":"GROUP_PUBLIC_ID","usage":"0.0000000000","total_spent":"8.5000000000"}}

Перечислить ключи проекта

Здесь members означает принадлежность API-ключей группе. Права сотрудников в организации и группах управляются отдельно в рабочей области аккаунта.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID/members \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{"data":[{"public_id":"KEY_PUBLIC_ID","name":"Service integration","status":"active","usage":"3.2500000000","total_spent":"1.1400000000"}]}

Назначить ключ проекту

Оба публичных ID должны принадлежать области владельца. Возвращённое членство отражает обновлённый проект. После переноса повторно оцените наследуемые лимиты и маршрутизацию.

Пример запроса

curl -X POST https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID/members \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \
  -H "Content-Type: application/json" \
  -d '{"key_id":"KEY_PUBLIC_ID"}'

Пример ответа

{"data":[{"public_id":"KEY_PUBLIC_ID","name":"Service integration","status":"active"}]}

Отсоединить ключ от проекта

Удаляйте принадлежность группе намеренно: для выполнения интеграции сотрудника может требоваться активный проект. Операция не удаляет исторические запросы.

Пример запроса

curl -X DELETE https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID/members/KEY_PUBLIC_ID \
  -H "Authorization: Bearer mg_partner_..." \
  -H "Idempotency-Key: provision-key-001" \

Пример ответа

{"data":{"removed":true}}

Прочитать использование бюджета проекта

Счётчики описывают общий обнуляемый лимит использования. Это не независимый предоплаченный баланс.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID/usage \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{"data":{"group_id":"GROUP_PUBLIC_ID","usage":"12.0000000000","total_spent":"8.5000000000","usage_reset_at":"2026-08-01T00:00:00Z"}}

Запросить завершённую активность проекта

Передайте from/to в UTC RFC3339 с завершающим Z; принимается до шести дробных знаков. Статистика формируется из минутных агрегатов завершённых запросов по времени завершения. Открытая минута исключена. average_duration_ms — полная длительность запроса шлюза, не время первого токена и не дополнительные затраты шлюза.

Пример запроса

curl "https://p-api.b2b-llm.com/api/v1/partner/groups/GROUP_PUBLIC_ID/stats?from=2026-08-01T00:00:00Z&to=2026-08-05T23:59:59Z" \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": {
    "group_id": "GROUP_PUBLIC_ID",
    "requests": 120,
    "errors": 3,
    "input_tokens": 50000,
    "output_tokens": 12000,
    "cached_tokens": 8000,
    "cache_write_tokens": 1200,
    "reasoning_tokens": 2000,
    "cost": "8.5000000000",
    "average_duration_ms": "842.50",
    "from": "2026-08-01T00:00:00Z",
    "to": "2026-08-05T23:59:59Z"
  }
}

Получить сохранённый результат модели

Запрос должен принадлежать аккаунту и находиться в сроке хранения результата. Для ожидающего результата нет завершённого тела; конечный результат содержит сохранённые статус/тело ответа или ошибку. Неизвестные, просроченные и чужие ID не возвращаются.

Пример запроса

curl https://p-api.b2b-llm.com/api/v1/requests/01KZ... \
  -H "Authorization: Bearer mg_partner_..."

Пример ответа

{
  "data": {
    "request_id": "01KZ...",
    "status": "processing",
    "created_at": "2026-08-05T10:00:00Z",
    "started_at": "2026-08-05T10:00:00Z",
    "completed_at": null,
    "expires_at": "2026-08-06T10:00:00Z"
  }
}

Пример ответа

{
  "data": {
    "request_id": "01KZ...",
    "status": "completed",
    "response_status": 200,
    "response_headers": {"Content-Type":"application/json"},
    "response": {"id":"resp_example","status":"completed"},
    "completed_at": "2026-08-05T10:00:05Z",
    "expires_at": "2026-08-06T10:00:00Z"
  }
}

Ответы с операционными ошибками

Используйте тип и код ошибки вместе с HTTP-статусом. Тела изменений ограничены 1 MiB. Повторный ключ идемпотентности с другим входом даёт 409. Ограничение частоты возвращает partner_rate_limit_exceeded с Retry-After. Неподдерживаемые методы содержат Allow и остаются JSON, не HTML.

Пример ответа

{"error":{"type":"invalid_token","message":"Invalid Partner API key"}}

Пример ответа

{"error":{"type":"not_found","message":"API key not found"}}

Пример ответа

{"error":{"type":"invalid_request","message":"limit must be an integer from 1 to 100"}}

Правила личности компании

Business-токен Partner API доступен только подтверждённому владельцу компании. Назначение сотрудника исполнителем намеренно выполняется в рабочей области. Переданный group_id должен указывать активный проект этой компании; неверное значение отклоняется, а не превращает ключ в негрупповой. История может содержать публичный ID фактического исполнителя отдельно от владельца списания.

Точный перечень маршрутов Partner API

Таблица описывает контракт PartnerBearer на хосте Partner API, не опрос Images. Подписи публичных вебхуков и сеансы портала — отдельные механизмы. PHP Router подавляет тела GET-ответов для HEAD; ниже перечислены только канонические методы API.

МетодПутьОперация контроллера
POST/api/v1/partner/keyscreate
GET/api/v1/partner/keysindex
GET/api/v1/partner/keys/{id}show
PATCH/api/v1/partner/keys/{id}update
DELETE/api/v1/partner/keys/{id}delete
POST/api/v1/partner/keys/{id}/freezefreeze
POST/api/v1/partner/keys/{id}/unfreezeunfreeze
POST/api/v1/partner/keys/{id}/rotaterotate
POST/api/v1/partner/keys/{id}/reset-usageresetUsage
GET/api/v1/partner/keys/{id}/usageusage
GET/api/v1/partner/keys/{id}/spent-limitspentLimit
GET/api/v1/partner/keys/{id}/requestsrequests
GET/api/v1/partner/transactionstransactions
GET/api/v1/partner/balancebalance
GET/api/v1/partner/audit-eventsauditEvents
GET/api/v1/partner/groupsgroupsIndex
POST/api/v1/partner/groupsgroupsCreate
GET/api/v1/partner/groups/{id}groupsShow
PATCH/api/v1/partner/groups/{id}groupsUpdate
DELETE/api/v1/partner/groups/{id}groupsDelete
POST/api/v1/partner/groups/{id}/reset-usagegroupsResetUsage
GET/api/v1/partner/groups/{id}/usagegroupsUsage
GET/api/v1/partner/groups/{id}/membersgroupsMembers
GET/api/v1/partner/groups/{id}/statsgroupsStats
POST/api/v1/partner/groups/{id}/membersgroupsAddMember
DELETE/api/v1/partner/groups/{id}/members/{keyId}groupsRemoveMember
GET/api/v1/requests/{requestId}requestResult