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

# Раунды

> Сущность раундов

## Как получить список раундов

Получить список раундов можно с помощью `GET` запроса к API `/rounds`.

<Card title="Get rounds list" icon="link" href="/api-reference/rounds/get-rounds">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

### Структура ответа

Метод возвращает массив объектов раундов с продуктом и участниками:

```json theme={null}
[
  {
    "id": "string",
    "status": "string",
    "entry_fee": "string",
    "is_active": true,
    "owner_id": "string",
    "product": {
      "id": "string",
      "name": "string",
      "price": 0,
      "main_picture_url": "string",
      "is_active": true,
      "quantity": 0,
      "store_id": 0,
      "detail_desc": "string",
      "question_id": 0,
      "format_price": "string"
    },
    "participant_statuses": [
      {
        "status": "string",
        "user": {
          "id": "string",
          "phone": "string",
          "first_name": "string",
          "last_name": "string",
          "avatar_url": "string",
          "is_verified": true
        }
      }
    ]
  }
]
```

## Как получить один раунд

Получить один раунд можно с помощью `GET` запроса к API `/rounds/{id}` по `ID` раунда.

<Card title="Get single round" icon="link" href="/api-reference/rounds/get-single-round">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

### Структура ответа

Метод возвращает объект раунда с продуктом и участниками:

```json theme={null}
{
  "id": "string",
  "status": "string",
  "entry_fee": "string",
  "is_active": true,
  "owner_id": "string",
  "product": {
    "id": "string",
    "name": "string",
    "price": 0,
    "main_picture_url": "string",
    "is_active": true,
    "quantity": 0,
    "store_id": 0,
    "detail_desc": "string",
    "question_id": 0,
    "format_price": "string"
  },
  "participant_statuses": [
    {
      "status": "string",
      "user": {
        "id": "string",
        "phone": "string",
        "first_name": "string",
        "last_name": "string",
        "avatar_url": "string",
        "is_verified": true
      }
    }
  ]
}
```

## Как создать раунд

Создать раунд можно с помощью `POST` запроса к API `/rounds`.

<Card title="Create round" icon="link" href="/api-reference/rounds/create-round">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

### JSON объект, необходимый для создания

```json theme={null}
{
  "entry_fee": 0,
  "is_active": true,
  "status": "WAITING_FOR_PLAYERS",
  "product_id": "string",
  "participants": [
    "string"
  ]
}
```

где:

`product_id` - `ID` выбранного продукта

`entry_fee` - стоимость входа в раунд

`participants` - массив строк с телефонами участников

## Как присоединиться к раунду

Присоединиться к раунду можно с помощью `POST` запроса к API `/rounds/{id}/join`.

<Card title="Join round" icon="link" href="/api-reference/rounds/join-round">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

## Как покинуть раунд

Покинуть раунд можно с помощью `DELETE` запроса к API `/rounds/{id}/leave`.

<Card title="Leave round" icon="link" href="/api-reference/rounds/leave-round">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>
