Credits and repeats
Your organization pays once for each answer in a credit period. This page says what counts as the same answer, what the API and MCP tell you about it, and when a call costs nothing.
The rule
Within a credit period your organization pays once per answer, on the web app, the API and MCP alike. A search is the words typed. Paging, sorting and filters on the same words are included. A decision is the decision, a provision is the provision, and the Legal Discovery Graph of a decision is one answer.
The rule applies to the whole organization, not one user or one token. A colleague, another API token or another MCP connection reads the same answer for 0 credits.
Seven exceptions follow in the table and in the worked examples. The pricing page states them in plain words.
How we charge, in plain words, on the pricing pageWhat counts as the same answer
Each row names an answer, what makes a second call the same answer, and what makes it a new one.
The credits block
Every metered answer from the REST API and from MCP carries a credits block. It tells you what the call took and whether the answer was already included.
A repeated search that was already paid for{
"credits": {
"metered": true,
"cost": 0,
"credits_remaining": 412,
"included": true,
"covered_by": "search.semantic",
"refinements_left": 17
}
}The response header
Answers from the REST API and from the web app carry the header X-Klaracase-Credits. Its value reads charged=<n>; included=<true|false>. charged is the credits this call took. included is true when your organization had already paid for the answer. Over MCP, read the credits block of the result: it carries the same facts.
A repeat, as the header shows itX-Klaracase-Credits: charged=0; included=trueWhat counts as an error
Only an answer that was served is charged. These statuses charge nothing: 403, 404, 429, any 5xx and validation errors (422). A refusal for lack of credits (402) did not run. An MCP tool error charges nothing either.
A crash, a timeout or a stopped worker charges nothing, because the charge comes after the answer. If a call fails on our side and you send it again, you pay once, when the retry works.
One case runs after the answer. A citation check in the web app is charged when we accept it and refunded in full if the run fails.
The credit period on each plan
A repeat is free inside one credit period. For Free and tester organizations, the credit period is the calendar month (UTC). For a paid plan, it is the billing period that starts with a paid invoice.
A normal renewal starts a new count: what you open again in the new period is charged again. An upgrade, a downgrade or a new billing date does not. An answer paid in an earlier period that overlaps the current one stays included.
Numbers and limits
20 different combinations of filters, sorting and mode are included per search and credit period. Paging never counts. We publish this number and review it against measured use. A change is announced in the changelog, never made silently.
An organization admin can set a credit limit for each API token and each MCP connection. A limit counts the credits a call takes, so an included answer does not use it up.
Worked examples
Prices are the current ones: a search 1 credit, a decision 1 credit, a provision 1 credit, a Legal Discovery Graph 2 credits.
The same search on the web, then over MCP
A colleague searches "Mietminderung Schimmel" in the web app. It costs 1 credit. Later an agent calls search_decisions with the same words and adds a court filter. The credits block reads cost 0, included true, covered_by search.semantic and refinements_left 18. Nothing is charged, because the words are the same.
Three changes of filters, then page 2
You search "Kündigung Eigenbedarf" and pay 1 credit, with 19 combinations left. You narrow by court, then by year, then sort by date. That is three more combinations, with 16 left. You open page 2 of the last view. Paging never counts, so nothing changes. The total is 1 credit.
The 21st refinement
After 20 different combinations on the same words, the next new combination is charged as a new search. It costs 1 credit and starts a new count with 19 left. The combinations you already used stay free to repeat.
A full-text datapackage of 3, then reading one
You assemble a datapackage of 3 decisions with full_text. It costs 3 credits. You then read one of them with get_decision: cost 0, included true. A decision you did not bundle costs 1 credit. Assemble the same datapackage again in the credit period and it costs nothing.
A Free organization upgrades mid-month
A Free organization opens a decision on the 3rd and pays 1 credit. On the 15th it upgrades to a paid plan, which starts a new credit period. Opening the same decision on the 20th costs nothing, because the new period overlaps the old one. When the paid plan renews, the new period starts a new count, and opening it again costs 1 credit.
A server error, then a retry
You read a decision and the call fails with a 500. No credit is taken. You send it again and it works: it costs 1 credit, once. A third read in the same credit period costs nothing.