Расход и начисления

Все списания и начисления с остатком после каждого.

GET /usage/ledger · чтение

Каждая операция — озвучка главы (одна задача), прослушивание строк (одна запись в день на книгу), начисление (пакет, проба, подарок). Новые — сверху.

Параметры запроса

Параметр Тип Что это
book_id строка Только по этой книге
days число За последние N дней
limit число Сколько строк (по умолчанию 300)

Что в ответе

Поле Что это
items[].type render — озвучка, listen — прослушивание, grant — начисление
items[].credits Знаков: минус — списано, плюс — начислено
items[].balance Остаток после операции
items[].chars Знаков текста (до умножения на вес)
items[].voice Какими голосами
spent / given / left Итоги по выбранному
reserved Отложено под задачи в очереди
curl "https://golosar-kniga.tech/api/v1/usage/ledger?limit=20" \
  -H "x-api-key: $KEY"
import os, requests

API = "https://golosar-kniga.tech/api/v1"
H = {"x-api-key": os.environ["GOLOSAR_KEY"]}

r = requests.get(f"{API}/usage/ledger", headers=H, params={"limit": 20})
r.raise_for_status()
print(r.json())
const API = "https://golosar-kniga.tech/api/v1";
const H = { "x-api-key": process.env.GOLOSAR_KEY };

const r = await fetch(`${API}/usage/ledger?limit=20`, { headers: H });
if (!r.ok) throw new Error(await r.text());
console.log(await r.json());

json Ответ 200 { "items": [ { "type": "render", "what": "Озвучка: Глава 1", "book": "Вечер в саду", "book_id": "01a134d0-dd73-77be-aa8d-0944ffb2b5e3", "chars": 108, "voice": "наши голоса", "audio_s": 6.9, "at": "2026-10-13T10:31:07.399828+00:00", "credits": -108.0, "balance": 1834512.5 }, { "type": "grant", "what": "Куплен пакет «Студия»", "book": "", "book_id": null, "chars": null, "voice": "", "audio_s": null, "at": "2026-10-12T09:02:11.104223+00:00", "credits": 2000000.0, "balance": 2000000.0 } ], "more": 0, "spent": 165487.5, "given": 2000000.0, "left": 1834512.5, "unlimited": false, "reserved": 0.0, "books": [ { "id": "01a134d0-dd73-77be-aa8d-0944ffb2b5e3", "title": "Вечер в саду" } ] }