Questions
Answers checked against the source, not the marketing. Where the product does not do something, it says so.
What is a unit?
An integer you define and pass. AgentBill counts units and compares them to a ceiling; it never converts them to money and never reads your provider bill. If one unit is one cent for you, a ceiling of 500 is five dollars. If one unit is one document, a ceiling of 500 is five hundred documents. The meaning is yours and the arithmetic is ours.
Does AgentBill see my provider bill?
No. It never has access to your OpenAI, Anthropic or cloud account, and it does not read, estimate or reconcile against your invoice. It knows what your code told it a call was worth. That is a deliberate limit and it is why a unit is whatever you say it is.
How is a task budget different from a monthly spend cap?
A monthly cap resets on a calendar. A task budget is attached to a task_ref, so every call in one job draws down one ceiling regardless of which provider it goes to, and the ceiling is consulted before each call rather than totalled at the end of a period. A budget that resets tomorrow does not stop the loop that is running tonight.
What happens if a job dies with units still reserved?
Preflight reserves the units it approves, so two calls racing cannot both be told there is room for one. A reservation that is never settled expires after 60 minutes and is swept back to the budget every five minutes. Nothing is held forever because a process crashed, and nothing is released early because a process was slow.
What happens when I reach the free tier's 1,000 calls?
Preflight starts returning free_tier_exceeded (plan_limit_exceeded on a paid plan) and stops approving calls. It is the same shape of refusal as a task ceiling, so your code catches it the same way. Nothing is billed, nothing is silently allowed through, and the counter is checked and incremented in one statement so calls arriving together cannot all read the same number and all pass.
Which features are on which plan?
All of them, on all of them. Nothing in the code gates a feature by plan: the only thing a plan changes is how many preflight calls a month it includes, and who answers when you write in. Tiers here sell headroom, not capability.
Does AgentBill sit in my request path?
No. It is an endpoint your code calls before it calls a provider, not a gateway your traffic routes through. Nothing to point your base URL at, nothing new that can be down between you and OpenAI, and no third party holding your provider keys. If AgentBill is unreachable your code decides what to do, which is a decision a proxy would have taken away from you.
What can I do if a key leaks?
Revoke it, and it stops authenticating on the next request rather than at the end of a billing period. You can also rotate it, which issues a new key and keeps the old one working for 24 hours so a deploy is not an outage; set an expiry when you generate it; and hold several labelled keys per account. Keys are rate limited, and a key used from a new address emails you.