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

Всё, что нужно.
И ничего лишнего.

REST API отвечает JSON’ом. Базовый URL: https://stathapi.dbln.dev/api/v1.

Авторизация

Создай ключ в кабинете и передавай его в заголовке. Не клади ключ в URL.

curl https://stathapi.dbln.dev/api/v1/quotes/random \
  -H "Authorization: Bearer st_live_xxxxxxxxx"

Endpoints

GET/quotes/random

Одна случайная опубликованная цитата.

GET/quotes

Список цитат с cursor-пагинацией.

GET/quotes/{id}

Одна цитата по ID.

GET/tags

Теги и число цитат в каждом.

Пример ответа

{
  "data": {
    "id": "qt_glavnoe",
    "text": "Главное — оставаться главным…",
    "language": "ru",
    "rating": "safe",
    "tags": ["главное", "жизнь"],
    "origin": "internet_folklore"
  },
  "meta": { "request_id": "req_a03f…" }
}

Фильтры

tagstring

Slug тега.

ratingsafe | adult

Возрастной рейтинг.

max_length1…2000

Максимальная длина текста.

querystring

Полнотекстовый поиск; только /quotes.

limit1…100

Размер страницы, по умолчанию 20.

cursorstring

meta.next_cursor из прошлого ответа.

Лимиты

Каждый успешно аутентифицированный ответ содержит заголовки:

RateLimit-Limit: 100
RateLimit-Remaining: 74
RateLimit-Reset: 1788998400

Квота сбрасывается в 00:00 UTC. После исчерпания API отвечает 429.

Ошибки

{
  "error": {
    "code": "invalid_api_key",
    "message": "API-ключ неверен или отозван."
  },
  "meta": { "request_id": "req_a03f…" }
}