BUILD / TEST / INTEGRATE

Playground.

Give Dante context. Ask for the decisions your application needs.

“Save on this device” stores this draft in this browser only — nothing is sent to Dante servers.

dante-latest RESEARCH PREVIEW
01 / INPUT
state
Text your questions will evaluate.227 / 5,000
Questions2 QUESTIONS
01
eligibleBOOLEAN

Is this customer eligible for a refund under the stated policy?

02
next_stepCHOICE

Choose the appropriate action based on the policy and customer facts.

refundexchangedenyclarify
Edit questions JSON

Use 1–8 named questions. Choice accepts 2–32 options; score accepts 2–10 ordered levels. Boolean uses noul.

Recorded example availableSign in to run
02 / OUTPUTAWAITING INPUT

Your decisions appear here

The support template includes a recorded model response. Sign in to evaluate your own input.

Open recorded example
03 / APPLICATION BEHAVIOR

Keep the fallback in your code.

Act on the first choice answer when its selected probability meets your threshold. Otherwise, request review or call your LLM.

95%
A choice result will show the route here.

Probability and confidence are different signals. Set thresholds using labeled examples from your application before enabling automatic actions.

INTEGRATE / SERVER SIDE

Use this decision in your app.

Set your API origin and key in your server environment. The TypeScript example includes your current threshold.

dante / integration
SERVER SIDE
POST /v1/systemone
const response = await fetch(
  "https://api.dante.example/v1/systemone",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.DANTE_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": crypto.randomUUID(),
    },
    body: JSON.stringify({
      "model": "dante-latest",
      "state": "Return policy: Unused items may be returned within 30 days with a receipt. Opened electronics can only be exchanged if defective. Customer: I bought this unopened keyboard 12 days ago, have the receipt, and would like a refund.",
      "questions": {
        "eligible": {
          "type": "noul",
          "instructions": "Is this customer eligible for a refund under the stated policy?"
        },
        "next_step": {
          "type": "choice",
          "instructions": "Choose the appropriate action based on the policy and customer facts.",
          "criteria": {
            "refund": "Approve the return and refund",
            "exchange": "Offer an exchange only",
            "deny": "Deny the return",
            "clarify": "Request missing information"
          }
        }
      }
    }),
  },
);

if (!response.ok) {
  throw new Error(`Dante request failed: ${response.status}`);
}

const result = await response.json();

const decision = result.answers["next_step"];
const probability = decision.probabilities[decision.choice];
const nextStep = probability >= 0.95
  ? decision.choice
  : "needs_review";

Create a scoped key under API keys. Every call is billed from your organization's credits, the same as a playground run.