Skip to main content
no_route_available means no model in the service’s model list can serve this run. Read this page if a run fails with this code; in almost every case today the fix is to send a decision run.

What happened

Route: POST /v1/runs, verdict runs. Before it calls a model, OpenType picks one that can serve the run. no_route_available means none could, or that every attempt failed without a more specific error. Every verdict run gets this code today. Neon 1.1 serves decision runs only, and verdict runs need a capability it does not offer. kind defaults to "verdict", so a request that leaves kind out is a verdict run and fails here, even when its body is otherwise valid. The run was admitted, then refused before any model was called. You are not charged, and the run’s hold is released, but the run stays pending. A replay with the same Idempotency-Key returns 202 with "state": "pending".

How to fix

  • Send a decision run. Set "kind": "decision" and express the task as typed questions about a state. A question that picks one of several labels is a choice question; a yes/no check is a noul question. See Decision runs.
  • Always send kind. Do not rely on the default.
  • Use a new Idempotency-Key for the corrected request. The old key now points at a pending verdict run, and a decision body under it would get 409 idempotency_conflict.
  • Retrying the same verdict request does not help: it gets the same 503.

Example

The same task as a decision run, with a new key per attempt and backoff on 5xx:
  • Verdict runs - the verdict contract, and why Neon 1.1 does not serve it.
  • Decision runs - the request shape that Neon 1.1 serves.
  • Idempotency - when to reuse an Idempotency-Key and when to send a new one.
  • Error handling - a status-to-action table and a retry helper for every error.
  • Problem codes - every code, its status, and whether a retry can help.