Plans
When credits refresh
Your credits refresh on your own billing date, not on the 1st of the calendar month.- On a paid plan, that is the day Stripe bills you. Subscribe on the 20th and your credits refresh on the 20th, so the month you pay for and the month of credits you receive are the same month.
- On Free, there is no subscription to follow, so the period runs from the day you signed up and refreshes on that day each month.
- If a month is too short for your date (the 31st, in February), the refresh happens on the last day of that month.
credits_reset_at from GET /v1/billing.
Unused credits do not roll over from month to month. They do carry when you upgrade.
See below.
What consumes a credit
Operations cost different amounts, because they cost us different amounts:
Reads that do not involve the recall pipeline (listing spaces, fetching a memory by id,
reading your billing status) are free.
GET /v1/billing shows your usage for the month so far, broken down by operation type.
The
line_items in that response are credit accounting, not money. What you are
charged is the flat monthly plan price, which comes from Stripe.Upgrading
1
Open Billing
In the dashboard, go to Billing. Each plan you can move to shows an
Upgrade button.
2
Review the breakdown
You will see exactly what you are buying (price, credits, rate limit and space
allowance) before anything is charged. Opening this makes no charge and no
commitment.
3
Pay
Pay now takes you to Stripe’s checkout page. Card details are entered there,
on Stripe’s domain, and are never sent to or stored by Anona.
4
Return
You come back to the billing page, which confirms the payment and shows your new
limits.
Your unused credits come with you
When you move from one paid plan to a larger one, whatever you have not spent this period is added on top of the new plan’s allowance. On Starter with 4,000 of your 6,000 credits left, upgrading to Pro gives you 44,000 to spend: Pro’s 40,000 plus the 4,000 you had already paid for. The bonus covers the current period only. At your next refresh you are back to the new plan’s normal allowance (40,000, in that example).Upgrading from Free carries nothing across. Free credits are not something you paid
for, so a Free organization moving to Pro gets Pro’s 40,000, not 40,000 plus whatever was
left of the free allowance.
Changing or cancelling
Once you are on a paid plan, Manage billing opens the Stripe Customer Portal, where you can:- switch to a different paid plan, and Stripe prorates the difference
- update the card on file
- download past invoices
- cancel the subscription
You paid for the bigger plan through the end of the current period, so you keep it and its
limits until then. A downgrade is scheduled rather than applied on the spot, and the
smaller plan starts at your next billing date. Cancelling behaves the same way, and the
organization returns to Free afterwards.
To move from a paid plan back to Free, cancel in the portal rather than calling the API.
POST /v1/billing/upgrade refuses a downgrade while a subscription is live, so that you
cannot lose your limits while Stripe is still billing you.
If a payment fails
A declined card does not immediately downgrade you. Stripe retries automatically over roughly three weeks, and we email you to update the card. Your plan and limits stay exactly as they are throughout. Only if every retry fails does Stripe cancel the subscription, at which point the organization returns to Free.Receipts
Stripe emails the official receipt and invoice for every payment, to the address on the card. Anona separately emails a confirmation of what changed (your new plan and limits) to both the card address and the organization owner. When those are the same address, you get one of each, not two.Limits when you run out
Running out of credits does not delete anything. Metered operations return429 credits_exhausted until your credits refresh on your billing date, or until you
upgrade. Upgrading raises the limit immediately, and brings your unused credits with it.
The rate limit is separate and per-minute: exceeding it returns 429 rate_limited and is
worth retrying with backoff rather than treating as a failure.
Billing API reference
Endpoint-level detail for viewing status, starting checkout, and opening the portal.
