BlockRun
← All Services

JUDGMENT

Yes/no decisions for agents

An agent that has to decide something usually asks a chat model and hopes the answer parses. Ask this instead: send the text or JSON, send the questions, get typed answers back with the probability behind each one. No prompt to tune, no output to parse, no schema to police.

Three question types, one request

Yes / no, with a probability
Not a bare boolean. You get how strongly the text supports the claim, so an agent can set its own threshold instead of inheriting someone else's.
Choice, with per-option probabilities
Route a ticket, pick a label, classify an intent. Every option comes back scored, so a close call is visible as a close call rather than a confident-looking winner.
Score, on a rubric you write
Define the rungs in words — calm, frustrated, very angry — and get a weighted position across them plus the distribution behind it.

Ask up to sixty-four of them about the same state in a single call, and pay for the call, not the questions.

A judgment is not a short answer — it is a different kind of output

A chat model returns text and you hope it parses. This returns a value with a type, and a number beside it. It does not write replies, produce code, or explain its reasoning, and there is no field where it could: you define the answer space, and the answer comes back inside it.

TypeThe question it answersYou defineYou get back
noulDoes this message request a refund?nothing — it is true or false0.95
choiceWhich team should handle this ticket?billing, technical, account"billing" + a share per option
scoreHow frustrated is this customer?calm, frustrated, very angry1.4 across those rungs

What the number actually is, and what it is not

Under the three types is one operation: natural-language inference. The model is given your state as a premise and your question as a hypothesis, and it returns how strongly the premise entails the hypothesis. A noul is that score directly.

For a choice, every option is scored the same way and the scores are then divided by their total so they sum to one. That last step is the part worth understanding, because it throws information away. Three options that each score 0.1 — the model finding none of them supported — come back as an even 0.33 / 0.33 / 0.33. Two options scoring 0.9 and 0.85 — both strongly supported — come back as 0.51 / 0.49. Those are opposite situations and they look identical.

So the number beside a choice is a share of the agreement the model found, not the probability that the answer is right. It ranks the options against each other honestly and says nothing about whether any of them fit. Treat it as an ordering with a margin: a wide gap means the model preferred one option clearly, a narrow one means it did not, and neither tells you the answer is correct.

This is where a model trained for calibrated decisions differs, and it is the concrete version of the warning above. A calibrated model's probabilities are fitted against real outcomes, so across many predictions the ones it calls 0.7 come true about seventy percent of the time. Nothing here has been fitted that way. Pick your threshold by running your own labelled examples through it and looking at where the errors land — not by reading the number as a percentage.

Where a judgment sits in a real workflow

It is rarely the decision on its own. The shape that works is judgment for the part a program cannot read, and ordinary code for everything else:

  1. Build the state: the customer's message, the transactions it refers to, the policy that governs it.
  2. Ask the independent questions together in one call — was a refund requested, does the evidence read like a duplicate charge, does the tone suggest escalation.
  3. Combine the answers with deterministic checks your code already has: the amount, the account age, whether a refund was issued before.
  4. Route. Act automatically where the margin is wide and the checks agree, send the rest to a person or to a reasoning model.

Step four is the reason the margin is in the response at all. A judgment API that only returned labels would force you to act on every one of them; the margin is what lets you hand the narrow cases to something slower and better, which on this platform is a reasoning model one endpoint over.

OpenJev is not Jev — read this before you benchmark us

The default backend is called OpenJev. It is an open-source NLI cross-encoder, MIT licensed, that we host ourselves. It is not Jev, it is not made by the people who make Jev, and it is not a smaller version of it. The name is the open model's own.

We expect it to be materially weaker than Jev, and we have not benchmarked the two against each other — so we are not going to put a number on the gap. What we can say is what the open model reports on standard natural-language-inference sets, which is the task underneath all three question types above, and nothing about how it does on yours. Try it on your own data before you depend on it.

What OpenJev actually is — the architecture, the licence and its authors' own benchmark figures — and how it compares to Jev are each their own page. Jev itself, from TypeSafe, is a different product that we do not resell and do not serve. There is one backend here and the response header names it, so you are never quietly handed something other than what you asked for. If Jev is what you want, go to TypeSafe for it.

One call: the state, the questions, the answers

curl -X POST https://api.blockrun.ai/v1/decide \
  -H 'authorization: Bearer $BLOCKRUN_API_KEY' \
  -H 'content-type: application/json' \
  -d '{
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
      "is_urgent":   { "type": "noul",   "instructions": "Does this convey urgency?" },
      "department":  { "type": "choice", "instructions": "Which team should handle this?",
                       "criteria": { "billing": "Payments, refunds",
                                     "technical": "Bugs, outages" } },
      "frustration": { "type": "score",  "instructions": "How frustrated is the customer?",
                       "criteria": ["Calm", "Frustrated", "Very angry"] }
    }
  }'

# Free with any registered key. No payment header, no wallet.

state takes a string, an object or an array — a whole ticket, a diff, a tool result. The response carries the answers, the probabilities, and a header naming which backend served it. The key comes from user.blockrun.ai and costs nothing.

What this is not

It does not write, summarise, or explain. There is no free-text field in the response and there is not going to be: the whole point is an answer with a type and a number, which is the part a program can act on without a parser. For prose, the chat models are next door and speak the OpenAI protocol.

It also has no memory between calls, and it judges what you send rather than going to look anything up. If the judgment needs a fact from the web, fetch it with search and pass it in as part of the state.

Free, with a key you can have in a minute

Ask one question or sixty-four in a call, and the call is free. That is not an introductory rate that expires: a judgment is worth less than the smallest amount our paid rail can settle, so metering it would cost more than the answer. Register, take a key, and the same key reaches every other endpoint on the platform — the ones that are worth metering, you pay for per call.

Get a free API key 

Judgment API questions: types, accuracy, backends, cost

What does the judgment API actually return?
A typed answer per question, with the probability behind it: a yes/no as a probability rather than a bare boolean, a choice with every option scored, or a score positioned across rungs you defined in words. No free text, so nothing needs parsing.
Is OpenJev the same thing as Jev?
No. OpenJev is an unaffiliated open-source NLI cross-encoder, MIT licensed, that we host ourselves; Jev is TypeSafe's model. They answer the same request shape and that is the extent of the relationship. The name belongs to the open model, and the resemblance is exactly the confusion worth stating plainly.
How accurate is the default judgment model?
We have not benchmarked it against Jev and will not put a number on the gap we have not measured. We expect it to be materially weaker. The open model reports its own results on standard natural-language-inference sets, which is the task underneath all three question types, and that says nothing about how it performs on your data. Try it on yours.
Can I use Jev as the backend instead?
No. We do not resell it and do not serve it — there is one backend here and the response header names it, so you are never quietly handed something other than what you asked for. If Jev is what you want, TypeSafe sells it directly.
How much does a decision cost?
Nothing. Ask one question or sixty-four in a call and the call is free. That is not an introductory rate: a judgment is worth less than the smallest amount our paid rail can settle, so metering it would cost more than the answer does.
Do I need an API key to call the judgment API?
Yes, and it is free. Register at user.blockrun.ai, take a key, and the same key reaches every other endpoint on the platform. This is the one place on BlockRun where a key is the entry rather than an alternative to paying per call.
Judgment API vs asking a chat model for JSON?
A chat model can be prompted into a label, but you are paying for tokens, tuning a prompt, policing a schema and getting a confident string with no calibrated number behind it. This returns the type and the probability directly, free, with nothing to parse.
What can the state be that the judgment API reads — text only?
Text, an object or an array. A whole support ticket, a diff, a tool result, a row of data. It is judged as given; the endpoint does not fetch anything, so a fact that matters has to be in what you send.
Can an AI agent make decisions this way on its own key?
Yes. Give the agent a registered key and it decides as often as it needs to, within a generous hourly limit, getting back a number it can branch on without a parser. The wallet-per-call path that the other endpoints use does not apply here, because there is nothing to charge.