State

September 17, 2026 ยท View on GitHub

What state is, how to structure it, and how to give a System One model the context it needs.

Stateis the content you ask a System One model to evaluate. It could be a support message, a passage of text, or the current state of your application. You pass it in thestatefield of an API request, alongside the questions you want answered.Each request evaluates one state against one or more questions. All questions see the same state and are evaluated independently. You can mixChoice,Score, andNoulquestions in one request.

State can be as simple as a string

The simplest state is a plain string:``` state = "My card was charged twice."


State can also be a JSON object or array containing related context, examples, and other information that helps the model answer the associated questions. Think of state as the material you would present to a panel of experts before asking them to make a judgment. In Python, pass the corresponding string, dictionary, or list directly to`client.system_one(state=...)`.| Format | Useful for | Example |
| --- | --- | --- |
| String | A message, article, or passage | "My card was charged twice." |
| Object | Named fields, related records, or application state | {"message": "My card was charged twice.", "order_id": "A-104"} |
| Array | A sequence of messages or records | ["Hi", "My customer number is TS1337.", "My card was charged twice."] |

Use an object for most requests so each part of the state has a descriptive name and its relationships remain clear. A string is suitable when the use case is simple and requires only one piece of text.A support conversation as state```
{
 "ticket": {
 "subject": "Duplicate charge",
 "messages": [
 {"from": "customer", "text": "I was charged twice for order A-104. Please refund the duplicate."},
 {"from": "support", "text": "We are checking the charges."}
 ]
 },
 "order": {
 "id": "A-104",
 "charges": [
 {"amount_usd": 49, "status": "captured"},
 {"amount_usd": 49, "status": "captured"}
 ]
 },
 "refund_policy": "Duplicate charges are eligible for a refund."
}

This object is one state, even though it contains a conversation, an order, and a policy. Put related information together when the decision requires comparing those parts.

Separate content from questions

The state contains the content and supporting facts.Questionsdefine the judgments the model should make about that material. For example, keep the refund request and policy in the state, then ask whether the customer requested a refund and whether the policy supports it.SeePrimitives (Questions)for guidance on instructions, criteria, question types, and asking several questions about one state.See theAPI referencefor the request schema andclient SDKsfor installation, typed inputs, and response handling.