Subscribe → issue bf_ key (hashed) → Bearer gate · v1.0.0
Results appear here.
POST /api/checkout — subscription Checkout (reuses customer)POST /api/webhook — SubtleCrypto; sync entitlement to D1POST /api/keys — issue key if entitled (plaintext once)GET /api/keys?email= — list prefixes (no secrets)DELETE /api/keys/:id — revokeGET /api/v1/me · POST /api/v1/echo — Bearer bf_...GET /api/health · GET /api/admin/keysKeys are SHA-256 hashed at rest. Entitlement = active|trialing subscription. Add-on to Billflare spine ($99).