Skip to content
DecisionNodeDecisionNdedocs
  • Guides
  • API reference
  • Examples
  • Playground

start here

  • QuickstartGet startedGet an API key, send one request with three questions, and branch your code on the typed answers. Plain HTTPS, no SDK to install.
  • POST /v1/decideAPI referenceAnswer typed questions about a state and optional images. One request, one buffered JSON response, one answer per question.
  • QuestionsConceptsQuestions say what to decide. Each one has a type that fixes the shape of its answer: a choice from your options, a score on your scale, a…
  • ConfidenceConceptsProbabilities are calibrated per question type, so a threshold means what it says.
  • ImagesConceptsSend images and text in the same request. The model reads printed and handwritten text, amounts, dates, objects and layout, and answers…
  • Pricing and billingYou pay for input tokens only. Output is free because the model generates no text.
↑↓ moveopen6 suggestions
Get API keyGet API key
DecisionNodeDecisionNde

Get started

  • Introduction
  • Quickstart
  • With coding agents
  • Examples

Concepts

  • State
  • Questions
  • Choice
  • Score
  • Truth
  • Number
  • Images
  • Confidence
  • Determinism

Models

  • DecisionNode-1.0
  • DecisionNode-1.0 Flash
  • Limits

Patterns

  • Confidence-gated routing
  • Fan-out
  • Guardrails
  • Control loopscomingcoming soon

API reference

  • POST/v1/decide
  • POST/v1/sessionscomingcoming soon
  • GET/v1/models
  • Errors
  • Rate limits

Pricing and billing

  • Pricing and billing

Policies

  • Responsible use

Migrate

  • Coming from a Jev-shaped API
  • Benchmarks
  • Pricing
  • Playground
Get API key
  • Guides
  • API reference
  • Examples
  • Playground

Get started

  • Introduction
  • Quickstart
  • With coding agents
  • Examples

Concepts

  • State
  • Questions
  • Choice
  • Score
  • Truth
  • Number
  • Images
  • Confidence
  • Determinism

Models

  • DecisionNode-1.0
  • DecisionNode-1.0 Flash
  • Limits

Patterns

  • Confidence-gated routing
  • Fan-out
  • Guardrails
  • Control loopscomingcoming soon

API reference

  • POST/v1/decide
  • POST/v1/sessionscomingcoming soon
  • GET/v1/models
  • Errors
  • Rate limits

Pricing and billing

  • Pricing and billing

Policies

  • Responsible use

Migrate

  • Coming from a Jev-shaped API
  1. docs
  2. /
  3. Patterns

Confidence-gated routing

Set a threshold once: every answer above it is acted on instantly, and everything below it is re-checked by the full model or takes the safe path. Calibrated confidence makes the split predictable.

The shape of it#

  1. 1.Ask your questions in one request to DecisionNode-⁠1.0 Flash, the fastest tier.
  2. 2.If confidence clears the threshold, act on the answer at once.
  3. 3.If it does not, send the same request to DecisionNode-⁠1.0 and act on that answer when it clears the bar.
  4. 4.If neither clears it, take the safe action your product defines. Log every decision with the model that made it.
THRESHOLDS = {"route": 0.7}   # per question, in config

def handle(ticket, request):
    for model in ("decisionnode-flash-latest", "decisionnode-latest"):
        route = decide({**request, "model": model})["route"]
        if route["confidence"] >= THRESHOLDS["route"]:
            queues[route["choice"]].put(ticket)
            return log(ticket, decided_by=model, answer=route)
    queues["general"].put(ticket)           # the safe default, still automatic
    log(ticket, decided_by="safe_default", answer=route)

Tuning the threshold#

Your outcomes are the labels: reopened tickets, refunds charged back, comments restored on appeal. After a week, compute for a few thresholds how much traffic Flash settles on its own, how much the full model settles, and how often either was wrong. Raise the threshold if the error rate is too high; lower it if the full model agrees with Flash on nearly every re-check.

  • The full model agrees with almost every re-check

    What it means
    The threshold is stricter than it needs to be
    Move
    Lower it
  • Automatic answers are wrong too often

    What it means
    The threshold is too loose
    Move
    Raise it
  • Many items sit just below the line

    What it means
    The question may be ambiguous
    Move
    Rewrite the options or split the question
Reading a threshold sweep
SignalWhat it meansMove
The full model agrees with almost every re-checkThe threshold is stricter than it needs to beLower it
Automatic answers are wrong too oftenThe threshold is too looseRaise it
Many items sit just below the lineThe question may be ambiguousRewrite the options or split the question

Two thresholds for Truth

For a truth gate use a band: act above 0.8, take the opposite action below 0.2, and re-check the middle with the full model. The band's width is how many requests take a second call.

Decisions about people are the exception

Gate tickets, payments, posts and tool calls fully automatically. A consequential decision about a person in hiring, credit, housing, insurance, education, benefits, law enforcement or health needs a qualified person to review it before it takes effect. See Responsible use.

previousLimitsnextFan-out

DecisionNode is built and run by Bynn Intelligence, Inc.

  • Home
  • Playground
  • Examples
  • Console
  • Responsible use
  • Terms
  • Acceptable use
  • Privacy
  • Data processing
  • Defence addendum
  • Cookies

on this page

  1. The shape of it
  2. Tuning the threshold