Changelog
Each release is a dated, immutable OpenAPI file in openapi/. Entries describe contract changes.
Unreleased
- Breaking: the contract fixes no endpoint path. The operation moves from
paths./v1/systemonetocomponents.pathItems.SystemOne, served asPOSTat a URL the implementer chooses. Clients take the full endpoint URL as configuration. modelstays required when an implementer serves a single model at its URL, and an implementer rejects a model it does not serve.
2026-11-07
First release: openapi/2026-11-07.json.
POST /v1/systemonewith TypeSafe’s request, response, and decision question types (noul,choice,score,box). Image assets also accept thewebpformat.- Optional request
reference_date, and optional responsetruncatedandstate_text. When the state was truncated,state_textmay be only the portion the model read. Implementers may reject oversized input instead of truncating it. - Error envelope with standard codes
unsupported_question_typeandunsupported_parameter. - Extraction question and answer types:
text,number,date,time,datetime,duration,list,estimate, andforecast. - Extension question and answer types named
owner:type, kept apart from the core types inSystemOneCoreQuestionandSystemOneCoreAnswer. SPEC.mdwith the normative rules: answer guarantees, truncation andstate_text, the standard errors, extension types and their promotion to core, versioning, and compatibility with TypeSafe.- Spans count Unicode code points. A value not read from the state text, such as one read from an image, has no span:
spanis absent or null, and a list’sspansentry is null. timeanswers areHH:MMorHH:MM:SS.forecastanswers are astepsarray; steps have no quantiles. Estimatequantilesare present only when the question requests them, and a date estimate’smeanis a date.choicemust be one of the criteria and should be the most likely one.