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

# Получить раздел

> Информация о разделе с необязательной страницей тем.

Информация о разделе с необязательной страницей тем.

## Доступ

В каждом запросе обязателен заголовок `XF-Api-Key`. Примеры используют серверную переменную `$FORUM_API_KEY`; [тип ключа и контекст пользователя](/guard-forum/authentication.md) определяют доступ к данным.

**XF-Api-Key** `string` *required*

Ключ API. Храните его на сервере интеграции; в примере используется переменная окружения.

Обязательные scopes: `node:read`.

При `with_threads=1` дополнительно требуется `thread:read`.

## Особенности

Темы в `threads` не включают закреплённые темы из `sticky`. Закреплённые выдаются отдельно только на первой странице и не занимают её обычный лимит. Параметр `last_days=0` снимает стандартный лимит раздела по давности.

Фильтры `open_only`, `last_post_from` и `last_post_to` подтверждены реализацией Guard Forum. Они относятся к списку тем, а не к отдельным сообщениям. При совместном использовании условия объединяются.

После формирования страницы темы дополнительно проверяются на видимость. Поэтому `pagination.shown` может оказаться меньше размера страницы: используйте возвращённые метаданные, а не вычисляйте общий размер списка по длине `threads`.

## Параметры

**id** `integer` *required*

ID раздела. Значение `123` в примере условное.

**with\_threads** `boolean`

При `1` включает страницу тем вместе с информацией о разделе. Фильтры и сортировка тем действуют только при включении этой выдачи.

**page** `integer`

Номер страницы. По умолчанию запрашивается первая страница; размер выдачи определяется настройками форума.

**prefix\_id** `integer`

ID префикса для отбора тем.

**starter\_id** `integer`

ID пользователя, создавшего тему; оставляет только его темы.

**last\_days** `integer`

Оставляет темы с последним сообщением за последние указанное число дней. `0` снимает ограничение по давности, включая стандартный лимит раздела.

**unread** `boolean`

При `1` оставляет только непрочитанные темы. Для гостевого контекста фильтр не применяется.

**thread\_type** `string`

Фильтр по идентификатору типа обсуждения.

**order** `string`

Порядок тем: `last_post_date`, `post_date`, `title`, `reply_count`, `view_count`, `vote_score` или `first_post_reaction_score`. Неизвестное значение не меняет стандартную сортировку.

**direction** `string`

Направление сортировки: `asc` или `desc`. Для списка тем действует только вместе с `order`; по умолчанию используется `desc`.

**open\_only** `boolean`

При `1` оставляет только открытые темы (`discussion_open = 1`). Реализован в установленной версии Guard Forum.

**last\_post\_from** `integer`

Нижняя граница времени последнего сообщения темы: Unix timestamp в секундах, включительно (`last_post_date >= значение`). Нулевое значение не применяет фильтр.

**last\_post\_to** `integer`

Верхняя граница времени последнего сообщения темы: Unix timestamp в секундах, включительно (`last_post_date <= значение`). Нулевое значение не применяет фильтр.

## Успешный ответ

HTTP `200`. Пример ниже сокращён и содержит только условные данные. Полные объекты и условия видимости полей описаны в [схемах данных](/guard-forum/models.md).

| Поле | Тип | Описание |
| - | - | - |
| `forum` | `Forum` | Объект раздела `Forum`. |
| `threads` | `Thread[]` | Темы запрошенной страницы. Возвращается только при `with_threads=1`. |
| `pagination` | `pagination` | Метаданные страницы: `current_page`, `last_page`, `per_page`, `shown`, `total`. Размер страницы определяется настройками форума. Возвращается только при `with_threads=1`. |
| `sticky` | `Thread[]` | Закреплённые темы на первой странице. Не входят в лимит обычных тем; на остальных страницах поле отсутствует. Возвращается только при `with_threads=1`. |
| `filters` | `object \| array` | Фактически применённые фильтры тем. При отсутствии фильтров возможен пустой массив. Возвращается только при `with_threads=1`. |

## Ошибки

Стандартный ответ содержит массив `errors` с `code`, `message` и `params`. Проверяйте HTTP-статус и машинный код; [формат и обработка ошибок](/guard-forum/requests-and-errors.md) общие для API.

```bash cURL theme={null}
curl --request GET \
  --header "XF-Api-Key: $FORUM_API_KEY" \
  --header 'Accept: application/json' \
  'https://forum.arzguard.com/api/forums/123/?with_threads=1&page=1'
```

```json Сокращённый условный ответ theme={null}
{
  "forum": {
    "node_id": 123
  },
  "threads": [
    {
      "thread_id": 123,
      "sv_prefix_ids": [
        1
      ]
    }
  ],
  "pagination": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 20,
    "shown": 1,
    "total": 1
  },
  "sticky": [],
  "filters": []
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.