Пагинация и фильтры
Курсорная пагинация
Все списки отвечают одинаково:
{ "data": [], "page": { "nextCursor": "eyJ2IjoxMiwiaWQiOjQ1fQ", "hasMore": true } }
limit— размер страницы, 1..100. По умолчанию 20 для большинства списков (24 для коллекций).cursor— передайтеpage.nextCursorиз предыдущего ответа, с теми же фильтрами и сортировкой. Остановитесь, когдаhasMoreравенfalse.- Курсоры непрозрачны: не собирайте и не меняйте их (
400 invalid_cursor). - Пагинация по ключу: записи, появившиеся во время обхода, не сдвигают и не повторяют уже полученные.
Фильтры модов
GET /mods принимает параметры запроса, они объединяются через «И»:
| Параметр | Пример | Значение |
|---|---|---|
game | deadlock | Slug игры |
category | skins | Slug категории, вместе с подкатегориями (лучше вместе с game: slug-и повторяются в разных играх) |
tag | hd | Slug тега |
author | meow | Имя пользователя автора |
nsfw | include | exclude (по умолчанию), include или only |
wip | false | Только в разработке (true) или только готовые (false) |
featured | true | Только выбор редакции |
updatedSince | 2026-01-01T00:00:00Z | Изменённые в это время или позже — для синхронизации |
GET /mods?game=deadlock&category=skins&nsfw=exclude&sort=updated&limit=50
Сортировка и поиск
sort:
new(по умолчанию) — сначала новые публикации.updated— сначала недавно изменённые.downloads,likes— по общему числу.trending— загрузки + 5 × лайки среди модов, опубликованных за последние 7 дней.relevance— только вместе сq; при заданномqиспользуется по умолчанию.
q — полнотекстовый поиск по названиям, тегам, описаниям, авторам и играм. Если поиск недоступен, API отвечает 503 search_unavailable; тот же запрос без q работает.
Синхронизация каталога
Чтобы держать у себя копию модов игры, один раз обойдите GET /mods?game=…&sort=updated, запомните самый свежий updatedAt, а в следующий раз запрашивайте с updatedSince, равным ему. Моды, которые перестали быть публичными, пропадают из списков; о своих модах без опросов сообщат вебхуки.