Credit packs are called add-ons in the API (
/v1/add-ons, addOnId), with type: "credit_pack".
Plan versions
Plans are versioned. When a plan’s credits, price or overage terms change, customers already on it keep the old version and customers who start it afterwards get the new one. Publishing the same values again changes nothing ("changed": false). Features and packs change in place.
IDs and limits
All prices are in USD, and all plans are monthly.
Archiving
Removing an item from your catalog file archives it, which hides it from new checks, tracks and purchases and keeps its history:- An archived feature returns
404 feature_not_foundfromcheckandtrack. Its recorded usage stays. - An archived plan can’t be attached. Customers already on it keep their subscription and credits; nothing is cancelled in Stripe.
- An archived credit pack can’t be bought. A Checkout already open can still complete.
Stripe sync
Paid plans sync to Stripe after each change. A plan’sstripeSyncStatus is pending while the sync runs, synced once Stripe has the Product and Price, or failed; a free plan’s is null. Packs don’t sync ahead of time: Ledger prices each pack’s Checkout when it opens. If a paid plan hasn’t synced when you attach it, attach syncs it first, and returns 502 stripe_checkout_failed if Stripe refuses.