Enterprise credits let you buy credits once, keep them in an enterprise pool, and deliver them to subscribers as clients purchase on your website.
You can optionally enable auto top-up so the pool refills automatically when it drops below a threshold after allocations.
Step 1: Buy credits into your enterprise pool
Go to the Enterprise hub → `Credits` → `Buy credits`.
Choose the credit amount (volume pricing applies) and complete checkout. When Stripe confirms payment, SpringOS adds the credits to your enterprise pool.
Step 2: Enable auto top-up (optional)
In the same Enterprise hub, open `Auto top-up`.
Enable it, set a threshold (for example 10,000 credits remaining), and set how many credits to purchase when it triggers.
Auto top-up uses your saved Stripe customer payment method. Save and complete at least one checkout first if you haven’t yet.
Step 3: Allocate credits to a subscriber when a client buys
When your client purchases credits on your site, your backend should call SpringOS to allocate credits from your enterprise pool to the subscriber’s CRM.
You can target a subscriber by passing `subscriberCompanyId` (if you store it) or by passing `licenseCode` (recommended when you only have codes).
- POST `/api/v1/enterprise/credits` with `action: "allocate"`
- Provide `credits`, `externalRef` (your order ID), and either `subscriberCompanyId` or `licenseCode`
- If you use `externalRef`, SpringOS allocation is idempotent—safe for webhook retries
Step 4: Handle delivery with webhooks
In Enterprise hub → Integrations, subscribe to `credit.allocated`.
When SpringOS delivers credits, it will emit `credit.allocated` so you can mark the order fulfilled on your side.
Step 5: Verify balances
After allocation, the subscriber’s `purchasedCreditsBalance` increases immediately for the current billing period’s credit usage.
If you have auto top-up enabled and the pool becomes low, you may see `credit.pool.low` webhook events that indicate attention is needed (for example missing payment method).