Русский English Български Eesti Українська Latviešu
ARSSBOORU

Документация по API ArssBooru

Базовый URL: http://arss.lol. Все ответы в формате JSON. Эндпоинты на чтение доступны без авторизации, на запись — нужен api_key.

Авторизация

У каждого зарегистрированного аккаунта есть личный api_key — смотри на странице настроек профиля. Передавай его как Bearer-токен:

Authorization: Bearer <твой_api_key>

Эндпоинты

GET /api/posts.json

Поиск/список постов. Параметры: tags (через пробел, минус впереди — исключить тег), page, limit (максимум 100).

curl "http://arss.lol/api/posts.json?tags=cat+-indoor&page=1"

GET /api/post/{id}.json

Один пост по id, вместе с тегами.

GET /api/tags.json

Параметр query для автокомплита, без него — самые популярные теги.

GET /api/stats.json

Базовая статистика сайта: количество постов, тегов, юзеров.

POST /api/posts.json (нужна авторизация)

Загрузка нового поста. multipart/form-data с полями: file (обязательно), tags (через пробел), source (необязательно). Лимит — 1 загрузка в минуту на один api_key, при превышении — 429 с заголовком Retry-After.

curl -X POST "http://arss.lol/api/posts.json" \
  -H "Authorization: Bearer <твой_api_key>" \
  -F "file=@photo.jpg" -F "tags=cat outdoor" -F "source=https://example.com"

POST /api/post/{id}/tags.json (нужна авторизация)

Добавить теги существующему посту. JSON-тело: {"tags": ["a", "b"]}.

Лимиты запросов

Загрузка поста через API (POST /api/posts.json) ограничена до 1 запроса в минуту на api_key. При превышении — HTTP 429 и JSON вида {"error":"rate_limited","retry_after_seconds":N}. Остальные эндпоинты сейчас без жёстких лимитов на уровне приложения, но всё равно не стоит злоупотреблять автоматизированным трафиком.

Справка по ролям

РольМожет
userзагружать, тегировать, комментировать, голосовать, жаловаться на посты, открывать тикеты в поддержку
helperвсё вышеперечисленное + работа на хелпдеске, ответы и закрытие тикетов поддержки
moderatorвсё вышеперечисленное + удаление постов, обработка жалоб, назначение роли helper
adminвсё вышеперечисленное + назначение любой роли, включая admin