invalid_verdict_schema means OpenType refused the JSON Schema of a verdict run, or the capability_hint list of any run. Read this page when a run is refused with this code and you need to know which bound the schema broke.
What happened
Route:POST /v1/runs.
OpenType checks every schema against fixed bounds before it admits a run. The schema, or the capability hints, broke one of them. The run was refused before it existed. Nothing was stored and nothing was charged.
Every message starts with the verdict schema is not acceptable: and ends with one of these reasons. The limits in the right-hand column are not part of the message text.
Size and shape
References and keywords
Capability hints
These reasons use this code on decision runs too.
The accepted
capability_hint values are chat, reasoning, tools, vision, streaming, embedding and structured_read. Hints can only narrow routing.
How to fix
- Find the reason after the prefix in the tables above.
- Flatten deep nesting, split very large schemas into smaller runs, or move shared parts under
$defsand point at them with local#/...references. - Remove
$id,$anchorand the other identity keywords. Inline or$defsthe subschema instead. - Remove duplicate and unneeded
capability_hintvalues. - Send the corrected request. It was refused before a run existed, so you may keep the same
Idempotency-Key.
verdict_schema_violation.
Example
no_route_available until a model that serves verdicts is available.
Related
- Verdict runs - how a verdict run uses your schema.
- Limits - the schema bounds next to every other limit.
- verdict_schema_violation - the schema was accepted but no answer satisfied it.
- Problem codes - every code, its status, and whether a retry can help.