Credit Packs
Read the purchasable credit pack catalog with GET /v1/billing/packs: flat EUR pricing at 1,000 credits per euro, from 10 to 1,000 EUR, with Stripe lookup keys.
GET /v1/billing/packs returns the self-serve credit purchase catalog: the prepaid packs a workspace can buy. Pricing is flat at 1,000 credits per EUR with no volume bonuses, so the four packs (10, 50, 250, and 1,000 EUR) differ only in size. The catalog is machine-readable so an agent that hits a 402 insufficient_credits error can present concrete purchase options to its human operator.
Each pack carries a key you pass to GET /v1/billing/upgrade-link?pack=<key> to mint a checkout link for exactly that pack, plus the eur price, the credits granted, and the Stripe lookupKey behind the price. The endpoint reads static catalog data: it never charges anything and needs only the read scope.
/v1/billing/packsResponse
Response fields
curl
Response
{
"currency": "EUR",
"packs": [
{ "key": "10", "lookupKey": "credits_pack_10", "eur": 10, "credits": 10000 },
{ "key": "50", "lookupKey": "credits_pack_50", "eur": 50, "credits": 50000 },
{ "key": "250", "lookupKey": "credits_pack_250", "eur": 250, "credits": 250000 },
{ "key": "1000", "lookupKey": "credits_pack_1000", "eur": 1000, "credits": 1000000 }
]
}GET /v1/credits/balance, pick a pack from this catalog, fetch GET /v1/billing/upgrade-link?pack=<key>, and hand the returned checkout URL to a human. Credits land seconds after the human completes checkout.Errors
Error responses
For spend prediction rather than purchasing, pair the catalog with GET /v1/pricing, which lists the per-unit credit cost of each operation. Together they let an agent estimate the cost of a planned workload, check whether the balance covers it, and quantify exactly which pack closes the gap before starting.