Skip to main content
State is 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 the state field 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 mix Choice, Score, and Noul questions in one request.

State can be as simple as a string

The simplest state is a plain string:
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=...). 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
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. Questions define 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. See Primitives (Questions) for guidance on instructions, criteria, question types, and asking several questions about one state. See the API reference for the request schema and client SDKs for installation, typed inputs, and response handling.