Skip to main content
/analyze researches each schema field independently. /decide answers the whole schema in a single reasoning pass — use it when the fields are facets of one judgment: where to file a document, which branch a workflow should take, what to rename a file.

When to use Decide vs Analyze

Rule of thumb: if the fields are separate questions about the document, use /analyze. If they describe one decision — where every field must be consistent with the others — use /decide.

What makes it different

  • instructions is a first-class parameter — you state the task and what makes a decision correct, instead of encoding it into field descriptions.
  • context carries your situational data — folder trees, sibling decisions, established facts. Labeled blocks the agent treats as authoritative.
  • One reasoning pass — every field comes from the same judgment, so reasoning is a single string and the fields never contradict each other.
  • Failures are errors — provider overload returns 503 with Retry-After, provider errors return 502. A 200 always contains a real decision, never null answers with zero confidence.
  • The document is optional — pass only context for pure-context decisions.

Example

Works with Pydantic and Zod too — see Schemas.

Request parts

At least one of file, url, or context is required — a decision needs something to decide from.

Response

Error handling

A 200 always contains a real decision. Upstream AI failures surface as real HTTP errors:

Pricing