Console

Credit & payments

Pay for usage with prepaid credit: top up when you like, or let it top up automatically.

How it works

Organizations on prepaid billing buy credit. Usage is taken from that credit as you go, at the prices described in Usage & billing. Credit is in euros excluding VAT; VAT is added when you pay.

  • Top up from Billing in the Console. You pay through Mollie by card, Bancontact, iDEAL or another method offered at checkout.
  • Your first top-up also saves your card or bank account, so later top-ups can use it. You can remove it at any time.
  • Automatic top-up buys a fixed amount of credit whenever your credit drops below a threshold you choose, on the saved payment method.
  • When your credit runs out, inference requests are refused with HTTP 402 and error code insufficient_credit until you top up. Requests work again within a minute of a successful payment.

Avoid interruptions

Turn on automatic top-up with a threshold that covers a few days of usage. Direct debits take a few working days to arrive; card payments are immediate.

VAT

  • Customers in Belgium pay Belgian VAT.
  • Businesses elsewhere in the EU with a VAT number that is valid in the EU VAT register (VIES) pay no VAT: it is reverse charged. The number is checked when you top up and again every 30 days.
  • Businesses outside the EU pay no VAT.
  • Private customers in other EU countries pay the VAT rate of their country.

Billing details

Fill in who pays under Billing → Billing details: a company or a private person, name, billing email and address, and for a company the VAT and registration number. Top-ups need these details, because they decide the VAT. Programmatically:

Set billing details
curl -X PUT "https://api.upgreat.ai/v1/orgs/{orgId}/billing" \
  -H "Authorization: Bearer <access-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_type": "business",
    "legal_name": "Example BV",
    "vat_number": "NL123456789B01",
    "billing_email": "finance@example.com",
    "address_line1": "Keizersgracht 1",
    "postal_code": "1015 AA",
    "city": "Amsterdam",
    "country": "NL"
  }'

The response includes vat_valid: the result of the last VIES check (null until it was checked). Changing the VAT number or the country clears it.

From the API

Credit and options

Balance, top-up limits, payment method
curl "https://api.upgreat.ai/v1/orgs/{orgId}/billing/account" \
  -H "Authorization: Bearer <access-token>"

balance_eur is your credit. topup says whether you can top up now (and if not, why in problem), the minimum and maximum amount, and the VAT that applies.

Top up

Buy €50 of credit
curl -X POST "https://api.upgreat.ai/v1/orgs/{orgId}/billing/topups" \
  -H "Authorization: Bearer <access-token>" \
  -H "Content-Type: application/json" \
  -d '{ "amount_eur": 50 }'

The response is the payment, with checkout_url: send the payer there. After paying they come back to the Console. GET /v1/orgs/{orgId}/billing/payments/{paymentId} returns its status (paid, pending, failed, …).

Automatic top-up

Top up €100 when credit drops below €20
curl -X PUT "https://api.upgreat.ai/v1/orgs/{orgId}/billing/auto-topup" \
  -H "Authorization: Bearer <access-token>" \
  -H "Content-Type: application/json" \
  -d '{ "enabled": true, "threshold_eur": 20, "amount_eur": 100 }'

History

  • GET /v1/orgs/{orgId}/billing/payments: your payments, newest first.
  • GET /v1/orgs/{orgId}/billing/ledger: every change to your credit: top-ups, usage per UTC day, free credit and refunds.

Both use cursor pagination: pass next_cursor as cursor. Reading needs the billing:read permission; top-ups, automatic top-up and removing the payment method need billing:manage.

Contract customers

Organizations with a contract are invoiced monthly instead and do not use credit. Their Billing page shows only the billing details.