Sonoe API
Sonoe is a decision model. You send a state (text or JSON) and a set of typed questions; it answers each one with calibrated probabilities your code can act on. It never writes free text, so there is nothing to parse.
What a request looks like
One state, any mix of questions, one round trip:
curl https://api.sonoeai.com/v1/systemone \
-H "Authorization: Bearer $SONOE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sonoe-latest",
"state": "My card was charged twice for order 4417 and I need the money back today.",
"questions": {
"wants_refund": { "type": "noul", "instructions": "Does the customer want their money back?" },
"team": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, charges, refunds",
"shipping": "Deliveries and tracking",
"technical": "Bugs, the app or the website"
}
}
}
}'{
"model": "sonoe-1.1.0",
"answers": {
"wants_refund": { "type": "noul", "noul": 0.8695 },
"team": {
"type": "choice",
"choice": "billing",
"probabilities": { "billing": 0.9913, "shipping": 0.0031, "technical": 0.0056 },
"confidence": 0.9493
}
},
"usage": { "input_tokens": 372, "output_tokens": 0 }
}Your code reads answers.team.choice and routes the ticket. If confidence is low, it can ask a person instead of guessing. See Confidence.
Why a decision model
- Answers are data. A probability, an option you defined, or a position on your scale. No parsing, no retries for malformed output.
- Probabilities are calibrated. A 0.9 should be right about 90% of the time, so thresholds mean something.
- It knows when it doesn't know. Every choice and score comes with a confidence, and the native API can abstain for you.
- Small and fast. Sonoe 1.1 is a 118M-parameter multilingual model that runs on CPU. A request with a few questions takes tens of milliseconds.
Two APIs, one model
| Endpoint | Use it when |
|---|---|
POST /v1/systemone | You want the Jev-compatible API: noul, choice and score questions, and the official TypeSafe SDKs. |
POST /v1/decide | You want Sonoe's native API: binary, choice and scale questions with built-in abstention. |
Both run the same model and are charged the same way: by the tokens the model reads.