Billing
Current plan, upgrade path, invoice history, and the audit endpoint for every fee-bearing transaction.
Current plan
Wire to GET /api/v1/billing for the live plan + subscription history.
Upgrade
POST /api/v1/billing/upgrade with { plan }. Requires STRIPE_ENABLED=true at the operator level — otherwise returns 503 with a clean message including wouldChargeMinor.
Per BRIEFING: Stripe is dormant by default, lit up at go-live by the operator.
Invoices
Every payment intent (subscription + remediation) ships with a fee breakdown line. History view is L2 — for now query /api/v1/billing directly.
Fee audit
Every transaction has a public audit URL:
- · /api/fee-audit/policy — the rules
- ·
/api/fee-audit/compute?amountMinor=…&kind=…— what would the fee be? - ·
/api/fee-audit/remediation/:id— per-txn breakdown