GET

/v1/schemas/fal/chat/openrouter/router/decisions

kind inputactivity chathash 1374e025…extracted Nov 10, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
0a6ebcd134dfb2af01f2595b367cf593082d4e7976ee1936b10e77d1a0c8c1de
{
  "fetchedAt": 1794286801,
  "extractorVersion": "2",
  "verifiedAt": null
}

Request body

6 properties · 2 required · 4 $defs
propertytypedescriptionconstraints
state*string | object | any[]Text, structured JSON, or an array mixing text strings with OpenRouter media parts: image_url, input_audio, and video_url. Images and videos use base64 data URLs; input_audio uses raw base64 data and a format. Media support and limits depend on the selected De…
questions*objectQuestions keyed by caller-defined IDs. Each question is evaluated independently against the same state.
enable_safety_checkerbooleanAuthorized callers may set false to request relaxed screening.default: true
session_idstringIdentifier for grouping related decision requests.length ≤ 256 · nullable
image_urlsstring[]Optional image URLs or base64 image data URLs appended to state. Public images are downloaded and encoded inline for OpenRouter. Inline images are limited to 16 MiB per image. Up to 128 convenience images and 32 MiB of total encoded image data (including data URL metadata) are allowed per request. The selected Decisions model must support images.nullable
modelstringAny OpenRouter Decisions model ID or alias. Choose a model that supports the supplied input modalities.default: "typesafe/jev-1.13"

Types

4 $defs

DecisionsChoiceQuestionobject

instructions*string | object | any[]The question, as text or structured multimodal content.
criteria*objectAnswer options mapped to descriptions of each option.
type*const"choice"

DecisionsNoulCriteriaobject

true*string | object | any[]What should count as a yes/true outcome.
false*string | object | any[]What should count as a no/false outcome.

DecisionsNoulQuestionobject

instructions*string | object | any[]The yes/no question, as text or structured multimodal content.
criteriaDecisionsNoulCriteriaOptional descriptions clarifying true and false outcomes.nullable
type*const"noul"

DecisionsScoreQuestionobject

instructions*string | object | any[]The property to score, as text or structured multimodal content.
criteria*string | object | any[][]Ordered level descriptions, from the low end to the high end.items ≥ 2 · items ≤ 10
type*const"score"

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"fal","endpointId":"openrouter/router/decisions","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}