Abrechnung
Verbrauch, Wallet und Monatsrechnungen per API; was bei fehlgeschlagener Abozahlung passiert.
Alle Lesezugriffe brauchen billing:read: GET /billing/usage,
GET /billing/wallet, GET /billing/invoices?limit= (1–100, Standard 24),
GET /billing/invoices/{id} (JSON) und GET /billing/invoices/{id}.pdf (PDF).
Rechnungen
Eine Rechnung pro Organisation und Monat (period = YYYY-MM) mit Zeilen der Art
included (Betrag 0), overage (abgeschlossene Blöcke × Blockpreis, genau die
Wallet-Belastung), wallet_debit, wallet_credit und subscription_ref (das Abo
rechnet der Zahlungsanbieter ab). Status: draft (Periode offen), paid, issued
(Überschreitung nicht vollständig eingezogen), void. Ein täglicher Scheduler-Job
erzeugt die Rechnung des abgeschlossenen Monats.
POST /billing/invoices/generate ist eine Betreiber-Operation
(x-platform-admin-token).
Zahlungsausfall (Dunning)
| Status | Wirkung |
|---|---|
active | Normal |
past_due | Nichts wird abgeschaltet; Owner erhalten eine E-Mail, die Konsole zeigt ein Banner |
suspended | Organisation läuft als Free; bezahlte Funktionen liefern 402 FEATURE_NOT_AVAILABLE mit details.reason = "past_due" |
past_due → suspended nach BILLING_GRACE_DAYS (Standard 7). Eine
erfolgreiche Zahlung stellt active sofort wieder her. Stripe, Lemon Squeezy, Polar
und Dodo Payments melden Zahlungsausfälle; Creem, Robokassa und Tochka noch nicht.
Snapshots
Endpunkte für Index-Snapshots — anlegen, auflisten, lesen mit Download-Link, löschen und wiederherstellen.
Status und Discovery
GET /status, /health, /capabilities, /openapi.json und /metrics — die nicht authentifizierte Oberfläche für Monitore, Statusseiten und Clients, die die Fähigkeiten des Knotens kennen müssen.