GET
/v1/schemas/typesafe/decision/v1/systemone
Accept:
kind inputactivity decisionhash 3d0d521b…extracted Nov 11, 2026version currentsource upstream spec ↗
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace3ca93b6e6b9aa8d7820531b78c66ed7a9798b11e6e163ad96b140fb3d75fbcf4{
"fetchedAt": 1794374486,
"extractorVersion": "2",
"verifiedAt": null
} |
Request body
4 properties · 3 required · 7 $defs| property | type | description | constraints |
|---|---|---|---|
| model* | string | Name or alias of the model to use. Available names are returned by GET /v1/models. | |
| state* | string | object | any[] | The content all questions in this request refer to. | |
| questions* | object | Questions to ask about the content, each with a name you choose. The response uses those names to identify the answers. | |
| assets | object | Media assets keyed by an opaque placeholder (recommend 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. Image assets require a vision-language model. |
Types
7 $defsAssetobject
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. Requests with images must send the header TypeSafe-Danger-Zone-Images: true.
| type | const | Identifies an image asset. | "image" |
| format | enum | The image format, required with data_base64. The actual format is detected from the bytes. | png | jpg | jpeg |
| data_base64 | string | Base64-encoded image data. | |
| part | string | In a multipart request, the name of the image part this asset uses. With part, data_base64 is ignored. |
BoxQuestionobject
A question that locates what its instructions describe in the request's image. Requests with box questions must send the header TypeSafe-Danger-Zone-Images: true.
| type* | const | Identifies a box question. | "box" |
| instructions | string | object | any[] | What to locate in the image. | nullable |
ChoiceQuestionobject
A question that selects one option from the choices you define.
| type* | const | Identifies a question that selects one of the choices in criteria. | "choice" |
| instructions | string | object | any[] | What the model should decide when choosing an option. | nullable |
| criteria* | object | Choice names and descriptions of when each applies. A choice without a description is interpreted by its name alone. |
NoulCriteriaobject
Criteria defining what counts as a yes or no answer.
| true | string | object | any[] | What counts as a yes answer. | nullable |
| false | string | object | any[] | What counts as a no answer. | nullable |
NoulQuestionobject
A yes/no question or statement, answered with the probability of yes or true.
| type* | const | Identifies a yes/no question or statement. | "noul" |
| instructions | string | object | any[] | The yes/no question or statement to evaluate. | nullable |
| criteria | NoulCriteria | Criteria defining what counts as a yes or no answer. | nullable |
QuestionNoulQuestion | ChoiceQuestion | ScoreQuestion | …
A question about the supplied content.
ScoreQuestionobject
A question that assigns a score using an ordered rubric.
| type* | const | Identifies a question that rates the content using the levels in criteria. | "score" |
| instructions | string | object | any[] | What the model should rate. | nullable |
| criteria* | string | object | any[][] | Ordered descriptions of the score levels. Each description's position determines its score, starting at zero. | items ≥ 1 · items ≤ 10 |
Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"typesafe","endpointId":"v1/systemone","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}