Billing
Billing and pricing
One prepaid balance, topped up in pounds. Your first top-up unlocks the curriculum data endpoints for good; the endpoints that run a model, or that search on your behalf, spend that balance per call.
How data access works
Your first top-up, of any amount we offer, unlocks the curriculum data endpoints on your account permanently. After that they cost nothing per call: read them as often as your rate limit allows and your balance does not move. Before your first top-up they answer 402 topup_required.
Running your balance down does not take that access away. If you spend to zero, the paid endpoints stop until you top up again, and the data endpoints carry on working. We set it up this way deliberately: an integration that has been live for a term should not stop reading the curriculum because a balance ran out on a Friday afternoon.
There is no separate data plan, no monthly data fee and no billing period to agree. GET /api/v1/account reports where you stand as billing.dataUnlocked, and it is free to call before you have paid us anything.
What each call costs
These are the published prices, and the published prices are the prices we charge (developer terms clause 10.3). We may change them on at least 30 days' notice, and a change never applies to a call you have already made.
| Endpoint | Price | Charged per |
|---|---|---|
| GET /v1/subjects | Included once you've topped up | Nothing |
| GET /v1/subjects/{subjectId}/tree | Included once you've topped up | Nothing |
| GET /v1/search | Included once you've topped up | Nothing |
| GET /v1/subtopics/{subtopicId}/spec-points | Included once you've topped up | Nothing |
| POST /v1/align | 1p | call |
| POST /v1/genies/{shortName}/chat | 4p | assistant message |
| POST /v1/chat | 4p | assistant message |
| POST /v1/questions/generate | 8p | set, however many questions and whichever types you asked for |
| GET /v1/account | Free | Nothing |
Your balance is money, not a token or a unit of credit. It cannot be transferred between accounts and it does not expire while your developer account is active.
Topping up
The amount you pay is the balance you get. There is no bulk discount and no bonus, so there is nothing to work out: £100.00 buys £100.00 of API calls. Prices exclude VAT unless we say otherwise.
| Top-up | Balance added |
|---|---|
| £10.00 | £10.00 |
| £25.00 | £25.00 |
| £100.00 | £100.00 |
To put that in working terms, £100.00 is 10,000 alignment calls, 2,500 genie messages, 2,500 chat messages, or 1,250 question sets.
Three ways to add money
All three are managed on the developer platform, and you can change or switch off any of them at any time. A top-up always adds to your balance; nothing ever resets it.
Manual
Press the top-up button, pick an amount, pay through Stripe Checkout. The balance moves when Stripe confirms the money arrived, not when the checkout page closes.
Monthly
A subscription that adds your chosen amount every time an invoice is paid. Because it adds rather than resets, an unused month is not lost: it carries.
Automatic
Opt in, choose an amount and a threshold, and when a charge takes your balance below that threshold we add the money on your saved card without you being present. It needs a card on file, which is what the "save my card" option on a manual top-up is for.
- Thresholds run from £0.50 to £50.00. The floor stops a top-up that fires on nearly every call; the ceiling stops one that is permanently armed.
- One crossing buys one top-up. Several calls crossing the threshold within milliseconds of each other do not each buy one.
- If the card is declined we tell you and fall back to manual top-up. Your integration keeps working until the balance actually runs out.
Watch the balance from your own code
GET /api/v1/account is free and returns your live balance as billing.balancePence, so you can alert on it yourself rather than discovering the problem as a 402. See the account reference.
Refunds
- Failed calls. A call that fails through a fault on our side is not charged, and where a charge was already taken it is returned to your balance automatically. You do not have to ask.
- Within 14 days of a top-up you may ask us to refund any of it you have not spent. The Consumer Contracts Regulations 2013 protect consumers rather than businesses, but we apply the same 14-day position to developers as a matter of policy.
- If your access ends, we refund your unspent balance, unless we ended your access because you broke the terms.
- If we permanently withdraw an endpoint and that leaves you with a balance you cannot use, the same refund applies.
Payments are handled by Stripe. Section 10 of the developer terms is the part that governs all of this; ask us anything about it at support@revisiongenie.com.
Usage and reporting
The platform shows your balance, what you have spent over your account's lifetime, and a 30-day breakdown of calls by kind. The same figures are on GET /api/v1/account.
The balance is live. The usage rollup is not: rows are queued and drained on a five-minute cycle, so a call made seconds ago may not appear yet. If the two seem to disagree, the balance is the one to believe.