api docs

// публичное api wentik.dev — база: https://wentik.pages.dev/api/v1/. без ключей там, где не сказано.

GET/api/v1/wentik-timezone

моя таймзона и текущее время (Europe/Moscow). алиасы: /timezone, /time.

curl https://wentik.pages.dev/api/v1/wentik-timezone
GET/api/v1/stats

счётчики платформы: треды, комментарии, голоса, число стаффа.

GET/api/v1/staff

список администрации с бейджами.

GET/api/v1/pastes?limit=30

последние пасты novabox. одна паста: GET /api/v1/paste?id=…, добавить &raw=1 для чистого текста.

POST/api/v1/paste

создать пасту. тело: { "title": "...", "lang": "js", "content": "..." }. вход не обязателен.

curl -X POST https://wentik.pages.dev/api/v1/paste \
  -H "Content-Type: application/json" \
  -d '{"title":"hello","lang":"js","content":"console.log(1)"}'
GET/api/v1/me · /whoami

кто я. работает с сессией или токеном: заголовок Authorization: Bearer wt_….

GET/api/v1/files

мои загруженные файлы (нужен вход). скачать: GET /api/v1/download-file?id=…, показать в браузере: GET /api/v1/file?id=…

POST/api/v1/upload-file

загрузка файла до 2МБ (нужен вход): multipart с полем file или сырые байты + ?name=&mime=. алиас: /upload.

curl -X POST https://wentik.pages.dev/api/v1/upload-file \
  -H "Authorization: Bearer wt_..." \
  -F "file=@cat.png"
POST/api/v1/token

показать свой api-токен (нужен пароль). { "password": "…" }; если токена ещё нет — создаст. перевыпуск: POST /api/v1/token/reset — старый перестаёт работать.

GET/api/threads

лента novahub: ?cat=all|minecraft|mc-mods|dev|games|creative|…, сортировка &sort=new|top|old. у постов есть tags[] — по ним хаб фильтрует лоадеры и версии.

// ошибки

все ошибки — json вида {"error":"код"}: bad_json, auth_required, not_found, forbidden, too_big, banned…