SystemOne

Call decision models via the SystemOne protocol: send business state plus typed questions (choice / noul / score) in one request and receive judgments with probability distributions in one forward pass—no free-form text. Built for ticket routing, content moderation, agent routing, and result verification.
POST/v1/systemone

Authorization

AuthorizationstringheaderRequired
HTTP: Bearer Auth

Request Header

Content-Typeenum<string>Default: application/jsonRequired

Set the request body media type to application/json. Allowed value: application/json

Request Bodyapplication/json

statestring | object | arrayRequired

Business context to decide on: ticket text, a dialogue array, or a structured object. Non-string values are serialized (json.dumps) before inference.

questionsobjectRequired

Question map. Keys are caller-defined question IDs; values are question objects. At least one field is required.

questions.typestringRecommended

Question type: choice (single choice) / noul (yes-no) / score (ordinal scale/rating). If omitted, inferred from criteria.

questions.instructionsstringRecommended

Question description or rubric.

questions.criteriaobject | arrayType-dependent

choice / enum: { "option_id": "description" }, ordered by key, max 255; score: ascending level array or object (default 0..4, max 255); noul / boolean: optional, fixed true / false.

modelstringRequired

Model code; currently fixed to u2-decision

API limits and recommendations

  • No API limit on the number of questions (recommend ≤ 16; latency grows approximately linearly with the number of questions).
  • choice options ≤ 255 (recommend ≤ 26; too many options reduce model reasoning quality).
  • score options ≤ 255 (default 0..4).
  • Context limit: 131072 tokens; an overlong state will be truncated.

systemone response object

modelstring

Fixed to u2-decision.

answersobject

Answer map keyed by request question IDs; invalid or oversized fields may be missing.

answers.typeString

Matches the question type (choice / noul / score).

answers.choiceString

For choice questions: the selected option name.

answers.noulFloat

P(true),∈ [0, 1]. A decision can use noul >= 0.5.

answers.scoreFloat

For score questions: the probability-weighted expected level index, which may fall between levels (e.g. 1.43).

answers.probabilitiesObject

Probability of each option / level (sums to 1).

answers.confidenceFloat

Confidence of this answer (returned for choice / score questions).

answers.legendObject

For score questions: level index → level description.

latency_msnumber

Inference latency in milliseconds.