Open System OneGitHub

Reference

The schemas of the 2026-11-07 release. Download it asopenapi/2026-11-07.json, or see theworking draft.

SystemOneRequest

Content and named questions to evaluate together.

PropertyTypeRequiredDescription
modelstringyesName or alias of the model to use.
stateSystemOneContentyesThe content all questions in this request refer to: a string, or structured data as an object or array.
questionsmap of SystemOneQuestionyesQuestions about the state, each under a name you choose. The response uses the same names for the answers.
assetsmap of SystemOneAssetMedia assets keyed by an opaque placeholder, such as a per-image UUID. Each placeholder, wherever it appears as or inside a string in state, question instructions, or criteria, is replaced with the asset. The placeholder's position is a hint: an implementer may present assets before the state instead. Image assets require a model that accepts images.
reference_datestringThe date that relative dates in the state are resolved against, as YYYY-MM-DD. A server that cannot honor it rejects the request with unsupported_parameter.

SystemOneResponse

Answers keyed by question name, with the model used and token usage.

PropertyTypeRequiredDescription
modelstringyesName of the model that answered. May differ from the alias in the request.
answersmap of SystemOneAnsweryesAnswers keyed by the question names in the request. Each answer's type matches its question's type.
usageSystemOneUsageyes
truncatedbooleanWhether the server shortened the state to fit the model's context. Present whenever the server knows. A server may instead reject oversized input with an error of its own.
state_textstringThe text the model read, when it differs from the state as sent, for example when structured state is serialized to text, or only the portion the model read when truncated is true. Answer spans index into state_text when it is present.

SystemOneUsage

Token usage for the request.

PropertyTypeRequiredDescription
input_tokensintegeryesNumber of input tokens used to evaluate the request.
output_tokensintegeryesNumber of output tokens used to answer the questions.

SystemOneContent

Text or structured data: a string, an object, or an array.

Type: string | object | array of any

SystemOneAsset

An image that replaces its placeholder: its bytes in data_base64 with their format, or, in a multipart request, the name of the image part that holds them.

PropertyTypeRequiredDescription
type"image"Identifies an image asset.
format"png" | "jpg" | "jpeg" | "webp"The image format, required with data_base64.
data_base64stringBase64-encoded image data.
partstringIn a multipart request, the name of the image part this asset uses. With part, data_base64 is ignored.

SystemOneQuestion

A question about the state: a core question, or an extension question whose type is named owner:type. The type selects the question shape and the answer shape.

Type: SystemOneCoreQuestion | ExtensionQuestion

SystemOneCoreQuestion

A question of a core type. Decision types are noul, choice, score, and box; extraction types are text, number, date, time, datetime, duration, list, estimate, and forecast.

Type: NoulQuestion | ChoiceQuestion | ScoreQuestion | BoxQuestion | TextQuestion | NumberQuestion | DateQuestion | TimeQuestion | DateTimeQuestion | DurationQuestion | ListQuestion | EstimateQuestion | ForecastQuestion

SystemOneAnswer

An answer whose type matches its question's type: a core answer, or an extension answer.

Type: SystemOneCoreAnswer | ExtensionAnswer

SystemOneCoreAnswer

An answer of a core type.

Type: NoulAnswer | ChoiceAnswer | ScoreAnswer | BoxAnswer | TextAnswer | NumberAnswer | DateAnswer | TimeAnswer | DateTimeAnswer | DurationAnswer | ListAnswer | EstimateAnswer | ForecastAnswer

NoulQuestion

A yes/no question or statement, answered with the probability of yes or true.

PropertyTypeRequiredDescription
type"noul"yes
instructionsSystemOneContent | nullThe yes/no question or statement to evaluate.
criteriaNoulCriteria | nullWhat counts as a yes or a no answer.

NoulCriteria

Criteria defining what counts as a yes or a no answer.

PropertyTypeRequiredDescription
trueSystemOneContent | nullWhat counts as a yes answer.
falseSystemOneContent | nullWhat counts as a no answer.

NoulAnswer

The probability of a yes answer or a true statement.

PropertyTypeRequiredDescription
type"noul"yes
noulSystemOneProbabilityyesProbability of a yes answer or a true statement, from 0 to 1.

ChoiceQuestion

A question that selects one option from the choices in criteria.

PropertyTypeRequiredDescription
type"choice"yes
instructionsSystemOneContent | nullWhat to decide when choosing an option.
criteriamap of SystemOneContent | nullyesChoice names mapped to descriptions of when each applies. A choice without a description is interpreted by its name alone.

ChoiceAnswer

The selected choice, confidence, and the probability of each choice.

PropertyTypeRequiredDescription
type"choice"yes
choicestringyesThe name of the selected choice, one of the question's criteria. Normally the choice with the highest probability.
confidenceSystemOneProbabilityyesConfidence in the selected choice, from 0 to 1.
probabilitiesmap of SystemOneProbabilityyesProbability of each choice, keyed by choice name. Values sum to approximately 1.

ScoreQuestion

A question that rates the state on an ordered rubric.

PropertyTypeRequiredDescription
type"score"yes
instructionsSystemOneContent | nullWhat to rate.
criteriaarray of SystemOneContentyesOrdered descriptions of the score levels, lowest first. Each description's position is its score, starting at zero.

ScoreAnswer

An expected score with its rubric, confidence, and the probability of each level.

PropertyTypeRequiredDescription
type"score"yes
scorenumberyesExpected score: the probability-weighted average of the levels. May fall between levels.
confidenceSystemOneProbabilityyesConfidence in the score, from 0 to 1.
legendmap of SystemOneContentyesThe question's criteria keyed by their score level.
probabilitiesmap of SystemOneProbabilityyesProbability of each score level, using the same keys as legend. Values sum to approximately 1.

BoxQuestion

A question that locates what its instructions describe in the request's image.

PropertyTypeRequiredDescription
type"box"yes
instructionsSystemOneContent | nullWhat to locate in the image.

BoxAnswer

A located box with normalized edge coordinates and confidence.

PropertyTypeRequiredDescription
type"box"yes
boxBoxCoordinatesyes
confidenceSystemOneProbability | nullyesConfidence in the box, from 0 to 1. Null when the model does not provide confidence.

BoxCoordinates

Box edges as fractions of the image's height and width, from 0 to 1. Vertical edges are measured from the top; horizontal edges from the left.

PropertyTypeRequiredDescription
topSystemOneFractionyes
bottomSystemOneFractionyes
leftSystemOneFractionyes
rightSystemOneFractionyes

TextQuestion

A question answered with text copied from the state, such as a name or an ID.

PropertyTypeRequiredDescription
type"text"yes
instructionsSystemOneInstructions
null_thresholdSystemOneNullThreshold

TextAnswer

Text copied from the state. value is null when p_null is above the question's null_threshold, and not null otherwise. When span is not null, the text it covers equals guess.

PropertyTypeRequiredDescription
type"text"yes
valuestring | nullyesThe text, or null when the state does not determine it.
guessstringThe most likely text, present even when value is null.
spanSystemOneSpan | nullWhere guess was read in the state text. Absent or null when guess was not read from the state text, for example when it was read from an image or computed.
p_nullSystemOneProbabilityyesProbability that the state does not determine a value.
confidenceSystemOneProbabilityyesConfidence in guess, from 0 to 1.

NumberQuestion

A question answered with a number read or computed from the state.

PropertyTypeRequiredDescription
type"number"yes
instructionsSystemOneInstructions
unitSystemOneUnitLabel
integerSystemOneInteger
decimalsSystemOneDecimals
null_thresholdSystemOneNullThreshold

NumberAnswer

A number that honors the question's integer and decimals settings. value is null when p_null is above the question's null_threshold, and not null otherwise.

PropertyTypeRequiredDescription
type"number"yes
valuenumber | nullyesThe number, or null when the state does not determine it.
guessnumberThe most likely number, present even when value is null.
spanSystemOneSpan | nullWhere guess was read in the state text. Absent or null when guess was not read from the state text, for example when it was read from an image or computed.
p_nullSystemOneProbabilityyesProbability that the state does not determine a value.
confidenceSystemOneProbabilityyesConfidence in guess, from 0 to 1.

DateQuestion

A question answered with a calendar date read or computed from the state. Dates written without a year are resolved against the request's reference_date when present.

PropertyTypeRequiredDescription
type"date"yes
instructionsSystemOneInstructions
null_thresholdSystemOneNullThreshold

DateAnswer

A calendar date as YYYY-MM-DD. value is null when p_null is above the question's null_threshold, and not null otherwise.

PropertyTypeRequiredDescription
type"date"yes
valuestring | nullyesThe date, or null when the state does not determine it.
guessstringThe most likely date, present even when value is null.
spanSystemOneSpan | nullWhere guess was read in the state text. Absent or null when guess was not read from the state text, for example when it was read from an image or computed.
p_nullSystemOneProbabilityyesProbability that the state does not determine a value.
confidenceSystemOneProbabilityyesConfidence in guess, from 0 to 1.

TimeQuestion

A question answered with a time of day read or computed from the state.

PropertyTypeRequiredDescription
type"time"yes
instructionsSystemOneInstructions
null_thresholdSystemOneNullThreshold

TimeAnswer

A time of day as HH:MM or HH:MM:SS, 24-hour, without a time zone. value is null when p_null is above the question's null_threshold, and not null otherwise.

PropertyTypeRequiredDescription
type"time"yes
valueSystemOneTime | nullyesThe time, or null when the state does not determine it.
guessSystemOneTimeThe most likely time, present even when value is null.
spanSystemOneSpan | nullWhere guess was read in the state text. Absent or null when guess was not read from the state text, for example when it was read from an image or computed.
p_nullSystemOneProbabilityyesProbability that the state does not determine a value.
confidenceSystemOneProbabilityyesConfidence in guess, from 0 to 1.

DateTimeQuestion

A question answered with a date and time read or computed from the state.

PropertyTypeRequiredDescription
type"datetime"yes
instructionsSystemOneInstructions
null_thresholdSystemOneNullThreshold

DateTimeAnswer

An ISO 8601 date and time, YYYY-MM-DDTHH:MM[:SS[.fraction]], with a UTC offset only when the state gives one. value is null when p_null is above the question's null_threshold, and not null otherwise.

PropertyTypeRequiredDescription
type"datetime"yes
valueSystemOneDateTime | nullyesThe date and time, or null when the state does not determine it.
guessSystemOneDateTimeThe most likely date and time, present even when value is null.
spanSystemOneSpan | nullWhere guess was read in the state text. Absent or null when guess was not read from the state text, for example when it was read from an image or computed.
p_nullSystemOneProbabilityyesProbability that the state does not determine a value.
confidenceSystemOneProbabilityyesConfidence in guess, from 0 to 1.

DurationQuestion

A question answered with a length of time, as a number in the chosen unit.

PropertyTypeRequiredDescription
type"duration"yes
instructionsSystemOneInstructions
unitSystemOneDurationUnit
integerSystemOneInteger
decimalsSystemOneDecimals
null_thresholdSystemOneNullThreshold

DurationAnswer

A length of time as a number in the question's unit, honoring its integer and decimals settings. value is null when p_null is above the question's null_threshold, and not null otherwise.

PropertyTypeRequiredDescription
type"duration"yes
valuenumber | nullyesThe duration, or null when the state does not determine it.
guessnumberThe most likely duration, present even when value is null.
unitSystemOneDurationUnitThe unit of value and guess, the same as the question's.
spanSystemOneSpan | nullWhere guess was read in the state text. Absent or null when guess was not read from the state text, for example when it was read from an image or computed.
p_nullSystemOneProbabilityyesProbability that the state does not determine a value.
confidenceSystemOneProbabilityyesConfidence in guess, from 0 to 1.

ListQuestion

A question answered with every matching item in the state.

PropertyTypeRequiredDescription
type"list"yes
instructionsSystemOneInstructions
items"text" | "number" | "date"yesThe type of each item, with the same format as the answer of that type.
decimalsSystemOneDecimalsNumber of decimal places for number items, from 0 to 6.

ListAnswer

The matching items in the order they appear in the input. Never null: no match is an empty list.

PropertyTypeRequiredDescription
type"list"yes
valuearray of string | numberyesThe items, in input order. Empty when nothing matches.
spansarray of SystemOneSpan | nullOne entry per item, in the same order: the item's span, or null when the item was not read from the state text, for example when it was read from an image. Required for text items; for other items, present when they are read from the state text.
confidenceSystemOneProbabilityyesConfidence in the list, from 0 to 1.

EstimateQuestion

A question answered with a distribution over a value the state gives evidence for but may not determine. min and max are both numbers or both dates.

PropertyTypeRequiredDescription
type"estimate"yes
instructionsSystemOneInstructions
unitSystemOneUnitLabel
minSystemOneEstimateValueyesLowest value the answer may take.
maxSystemOneEstimateValueyesHighest value the answer may take.
stepSystemOneStep
scaleSystemOneScale
quantilesbooleanWhether the answer includes quantiles, the 1st to 99th percentiles. Defaults to false.

EstimateAnswer

A distribution over the estimated value. Never null.

PropertyTypeRequiredDescription
type"estimate"yes
quantilesarray of SystemOneEstimateValueThe 1st to 99th percentiles, in order. Present only when the question sets quantiles to true.

ForecastQuestion

A question answered with an estimate for each of the next horizon steps of a series in the state. min, max, step, and scale apply to every step.

PropertyTypeRequiredDescription
type"forecast"yes
instructionsSystemOneInstructions
unitSystemOneUnitLabel
minSystemOneEstimateValueyesLowest value any step may take.
maxSystemOneEstimateValueyesHighest value any step may take.
stepSystemOneStep
scaleSystemOneScale
horizonintegeryesNumber of steps to forecast.
interval"step" | "minute" | "hour" | "day" | "week" | "month" | "quarter" | "year"The time between steps of the series. step means one row of the series as given.

ForecastAnswer

One estimate per step ahead, as a steps array.

PropertyTypeRequiredDescription
type"forecast"yes
stepsarray of SystemOneDistributionyesExactly horizon estimates, nearest step first. Steps have no quantiles.

ExtensionQuestion

A question of a non-core type named owner:type. Its other fields are defined by the owner.

PropertyTypeRequiredDescription
typeSystemOneExtensionTypeyes

ExtensionAnswer

An answer to an extension question. Its other fields are defined by the owner of the type.

PropertyTypeRequiredDescription
typeSystemOneExtensionTypeyes

SystemOneExtensionType

A non-core type name: a lowercase owner prefix, a colon, and a lowercase type name, such as acme:sentiment.

Type: string

SystemOneInstructions

What the answer should contain.

Type: SystemOneContent | null

SystemOneNullThreshold

The answer's value is null when p_null is above this threshold.

Type: number

SystemOneUnitLabel

The unit of the value, such as USD or kg. It describes the value; it does not convert it.

Type: string

SystemOneDurationUnit

The unit of a duration.

Type: "seconds" | "minutes" | "hours" | "days" | "weeks" | "months" | "years"

SystemOneInteger

Whether the value must be a whole number.

Type: boolean

SystemOneDecimals

Number of decimal places in the value, from 0 to 6.

Type: integer

SystemOneTime

A 24-hour time of day as HH:MM or HH:MM:SS.

Type: string

SystemOneDateTime

An ISO 8601 date and time, YYYY-MM-DDTHH:MM[:SS[.fraction]], with an optional Z or +HH:MM offset.

Type: string

SystemOneSpan

Where guess was read in the input: a half-open range [start, end) of character offsets, counted in Unicode code points, into state, or into the response's state_text when present.

Type: array of integer

SystemOneEstimateValue

An estimated value: a number, or a date as YYYY-MM-DD for date estimates.

Type: number | string

SystemOneStep

The grid estimates fall on, starting at min: a positive number (in days for date estimates), or month or year for date estimates.

Type: number | "month" | "year"

SystemOneScale

Whether the model spreads its distribution evenly between min and max (linear) or across orders of magnitude (log).

Type: "linear" | "log"

SystemOneDistribution

A predicted distribution, of the same kind as the question's min and max (numbers or dates). value, median, p10, and p90 are within [min, max] and on the step grid; p10 <= median <= p90.

PropertyTypeRequiredDescription
valueSystemOneEstimateValueyesThe point estimate. Never null.
medianSystemOneEstimateValueyesThe 50th percentile.
p10SystemOneEstimateValueyesThe 10th percentile, the low end of the 80% interval.
p90SystemOneEstimateValueyesThe 90th percentile, the high end of the 80% interval.
meanSystemOneEstimateValueThe mean, a date for date estimates. It may fall between grid points.
p_belowSystemOneProbabilityProbability that the true value is below min.
p_aboveSystemOneProbabilityProbability that the true value is above max.

SystemOneProbability

A probability or confidence from 0 to 1.

Type: number

SystemOneFraction

A fraction of an image dimension from 0 to 1.

Type: number

SystemOneErrorResponse

An error envelope.

PropertyTypeRequiredDescription
errorSystemOneErroryes

SystemOneError

An error. Two codes are standardized: unsupported_question_type, when the server does not support a question's type, and unsupported_parameter, when it cannot honor a request field or question setting. Both use type invalid_request_error and name the rejected field in param. Other codes are implementer-defined.

PropertyTypeRequiredDescription
typestringyesThe error category, such as invalid_request_error.
codestring | nullyesA machine-readable error code.
paramstring | nullyesThe request field that caused the error, as a path such as reference_date or questions.<name>.type.
messagestringyesA human-readable description of the error.