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

# Reorder Rows

> Изменить порядок строк.



## OpenAPI

````yaml /openapi.json post /menu-layout/rows/reorder
openapi: 3.1.0
info:
  title: Remnawave Bot Admin API
  version: 1.0.0
servers: []
security: []
tags:
  - name: health
    description: Проверка состояния сервера и базы данных
  - name: stats
    description: Общая и детальная статистика системы
  - name: logs
    description: Просмотр логов и ошибок
  - name: users
    description: Управление пользователями бота
  - name: subscriptions
    description: Управление подписками и ключами подключения
  - name: transactions
    description: Финансовые операции и платежи
  - name: partners
    description: Партнёрская программа
  - name: broadcasts
    description: Массовые рассылки пользователям
  - name: pages
    description: Информационные страницы (оферта, политика и др.)
  - name: welcome-texts
    description: Приветственные сообщения
  - name: main-menu
    description: Настройки главного меню бота
  - name: menu-layout
    description: Конструктор расположения кнопок меню
  - name: pinned-messages
    description: Закреплённые сообщения в чатах
  - name: notifications
    description: Системные уведомления
  - name: promo-codes
    description: Промокоды для скидок и бонусов
  - name: promo-groups
    description: Группы промо-акций
  - name: promo-offers
    description: Рекламные предложения
  - name: campaigns
    description: Рекламные кампании с UTM-трекингом
  - name: contests
    description: Конкурсы, розыгрыши и ежедневные задания
  - name: polls
    description: Опросы пользователей
  - name: remnawave
    description: RemnaWave интеграция (ноды, сквады, инбаунды)
  - name: servers
    description: Управление VPN-серверами
  - name: settings
    description: Настройки бота
  - name: backups
    description: Резервное копирование данных
  - name: auth
    description: Аутентификация и токены Web API
  - name: webhooks
    description: Webhook-обработчики внешних событий
  - name: miniapp
    description: API для Telegram Mini App
  - name: media
    description: Загрузка и хранение медиафайлов
  - name: support
    description: Система тикетов поддержки
  - name: ban-notifications
    description: Уведомления о банах пользователей
  - name: Landing Pages
    description: Публичные лендинги для привлечения клиентов
  - name: Cabinet Auth
    description: Авторизация через Telegram, email, виджет
  - name: Cabinet OAuth
    description: OAuth 2.0 провайдеры (Google, Яндекс, Discord, VK)
  - name: Cabinet Account Linking
    description: Привязка и отвязка аккаунтов провайдеров
  - name: Cabinet Account Merge
    description: Объединение нескольких аккаунтов в один
  - name: Cabinet Subscription
    description: Управление подписками, тарифами и ключами
  - name: Cabinet Balance
    description: Баланс, пополнение и сохранённые карты
  - name: Cabinet Gift
    description: Подарочные подписки — покупка и активация
  - name: Fortune Wheel
    description: Колесо фортуны с бонусами
  - name: Cabinet Withdrawal
    description: Вывод партнёрских средств
  - name: Cabinet Referral
    description: Реферальная программа
  - name: Cabinet Partner
    description: Партнёрская программа для пользователей
  - name: Cabinet Promo
    description: Промо-акции в личном кабинете
  - name: Cabinet Promocode
    description: Применение промокодов
  - name: Cabinet Contests
    description: Участие в конкурсах
  - name: Cabinet Polls
    description: Участие в опросах
  - name: Cabinet Tickets
    description: Тикеты поддержки
  - name: Cabinet Ticket Notifications
    description: Уведомления по тикетам
  - name: Cabinet Notifications
    description: Системные уведомления
  - name: Cabinet Info
    description: Информация о сервисе, FAQ, контакты
  - name: Cabinet Media
    description: Медиафайлы личного кабинета
  - name: Branding
    description: Брендирование и оформление кабинета
  - name: Cabinet Admin Users
    description: Управление пользователями через админ-панель
  - name: Cabinet Admin Ban System
    description: Система банов и блокировок
  - name: Admin RBAC
    description: Управление ролями и разрешениями
  - name: Admin RBAC Policies
    description: Политики контроля доступа
  - name: Admin RBAC Audit Log
    description: Журнал аудита действий
  - name: Cabinet Admin Tariffs
    description: Управление тарифами
  - name: Cabinet Admin Servers
    description: Управление серверами
  - name: Cabinet Admin RemnaWave
    description: RemnaWave интеграция из админ-панели
  - name: Cabinet Admin Payments
    description: Просмотр и управление платежами
  - name: Cabinet Admin Payment Methods
    description: Настройка способов оплаты
  - name: Admin Traffic
    description: Мониторинг трафика
  - name: Cabinet Admin Broadcasts
    description: Массовые рассылки из админ-панели
  - name: Cabinet Admin Campaigns
    description: Управление рекламными кампаниями
  - name: Cabinet Admin Channels
    description: Обязательные подписки на каналы
  - name: Cabinet Admin Pinned Messages
    description: Закреплённые сообщения
  - name: Cabinet Admin Landings
    description: Управление лендинговыми страницами
  - name: Cabinet Admin Apps
    description: VPN-приложения для скачивания
  - name: Cabinet Admin Updates
    description: Проверка обновлений бота
  - name: Admin Menu Layout
    description: Конструктор меню админ-панели
  - name: Admin Promo Groups
    description: Управление промо-группами
  - name: Admin Promo Offers
    description: Управление промо-предложениями
  - name: Admin Promocodes
    description: Управление промокодами
  - name: Admin Fortune Wheel
    description: Настройка колеса фортуны
  - name: Admin Email Templates
    description: Email-шаблоны
  - name: Admin Button Styles
    description: Стили кнопок интерфейса
  - name: Cabinet Admin Stats
    description: Статистика и аналитика
  - name: Cabinet Admin Sales Stats
    description: Статистика продаж и доходов
  - name: Cabinet Admin Referral Network
    description: Граф реферальной сети
  - name: Cabinet Admin Partners
    description: Управление партнёрами
  - name: Cabinet Admin Tickets
    description: Тикеты поддержки из админ-панели
  - name: Cabinet Admin Ticket Notifications
    description: Уведомления по тикетам
  - name: Cabinet Admin Withdrawals
    description: Выводы партнёрских средств
  - name: Admin Settings
    description: Системные настройки
paths:
  /menu-layout/rows/reorder:
    post:
      tags:
        - menu-layout
      summary: Reorder Rows
      description: Изменить порядок строк.
      operationId: reorder_rows_menu_layout_rows_reorder_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RowsReorderRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/MenuRowConfig'
                type: array
                title: Response Reorder Rows Menu Layout Rows Reorder Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    RowsReorderRequest:
      properties:
        ordered_ids:
          items:
            type: string
          type: array
          minItems: 1
          title: Ordered Ids
          description: Список ID строк в новом порядке
      additionalProperties: false
      type: object
      required:
        - ordered_ids
      title: RowsReorderRequest
      description: Запрос на изменение порядка строк.
    MenuRowConfig:
      properties:
        id:
          type: string
          maxLength: 50
          minLength: 1
          title: Id
          description: Уникальный ID строки
        buttons:
          items:
            type: string
          type: array
          title: Buttons
          description: Список ID кнопок в строке
        conditions:
          anyOf:
            - $ref: '#/components/schemas/ButtonConditions'
            - type: 'null'
          description: Условия показа всей строки
        max_per_row:
          type: integer
          maximum: 4
          minimum: 1
          title: Max Per Row
          description: Максимум кнопок в строке
          default: 2
      additionalProperties: false
      type: object
      required:
        - id
        - buttons
      title: MenuRowConfig
      description: Конфигурация строки меню.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ButtonConditions:
      properties:
        has_active_subscription:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Active Subscription
          description: Требуется активная подписка
        subscription_is_active:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Subscription Is Active
          description: Подписка должна быть активна (не приостановлена)
        has_traffic_limit:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Traffic Limit
          description: Подписка с лимитом трафика
        is_admin:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Admin
          description: Пользователь - админ
        is_moderator:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Moderator
          description: Пользователь - модератор
        referral_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Referral Enabled
          description: Реферальная программа включена
        contests_visible:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Contests Visible
          description: Конкурсы видимы
        support_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Support Enabled
          description: Поддержка включена
        language_selection_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Language Selection Enabled
          description: Выбор языка включен
        happ_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Happ Enabled
          description: Кнопка Happ включена
        simple_subscription_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Simple Subscription Enabled
          description: Простая подписка включена
        show_trial:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Show Trial
          description: Показать пробный период
        show_buy:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Show Buy
          description: Показать кнопку покупки
        has_saved_cart:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Saved Cart
          description: Есть сохраненная корзина
        min_balance_kopeks:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Min Balance Kopeks
          description: Минимальный баланс в копейках
        max_balance_kopeks:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Max Balance Kopeks
          description: Максимальный баланс в копейках
        min_registration_days:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Min Registration Days
          description: Минимум дней с регистрации
        max_registration_days:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Max Registration Days
          description: Максимум дней с регистрации
        min_referrals:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Min Referrals
          description: Минимальное количество рефералов
        has_referrals:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Referrals
          description: Есть рефералы
        promo_group_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Promo Group Ids
          description: Список ID промо-групп (пользователь должен быть в одной из них)
        exclude_promo_group_ids:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Exclude Promo Group Ids
          description: Исключить пользователей из этих промо-групп
        has_subscription_days_left:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Has Subscription Days Left
          description: Минимум дней до окончания подписки
        max_subscription_days_left:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Max Subscription Days Left
          description: Максимум дней до окончания подписки
        is_trial_user:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Trial User
          description: Пользователь на пробном периоде
        has_autopay:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Has Autopay
          description: Автоплатёж включён
      additionalProperties: false
      type: object
      title: ButtonConditions
      description: Условия показа кнопки.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````