> ## 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) определяют доступ к данным.

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

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

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

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

Если `last_days` не передан и используется стандартный порядок либо `last_post_date` по убыванию, список дополнительно ограничивается внутренней границей хранения отметок прочтения. Для выдачи без такого ограничения передайте `last_days=0`; это не отменяет проверку видимости тем.

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

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

## Параметры

**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`. Остальные варианты сортировки списка тем поддерживаются только внутри конкретного раздела.

**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).

| Поле | Тип | Описание |
| - | - | - |
| `threads` | `Thread[]` | Темы запрошенной страницы. |
| `pagination` | `pagination` | Метаданные страницы: `current_page`, `last_page`, `per_page`, `shown`, `total`. Размер страницы определяется настройками форума. |

## Ошибки

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

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

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


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