All posts
AI Engineering

Structured Outputs on Amazon Bedrock: Schema-Valid JSON and Strict Tool Use Without Retry Loops

By

October 25, 2026

6 min read

Bedrock can now constrain generation to a JSON Schema, so a response that violates the schema cannot be produced. What it supports, what it does not (recursion, numeric and string constraints), the first-call latency, and how it changes extraction pipelines and agents.

Amazon Bedrock
Structured Outputs
JSON Schema
Tool Use
Claude

Getting JSON out of a model used to mean asking nicely, parsing, validating and retrying when it failed. Structured outputs on Bedrock, launched in February 2026, use constrained decoding: the model cannot emit a token that would break your schema. In October 2026 AWS extended support to every Claude model on Bedrock's runtime endpoints, alongside models from OpenAI, Mistral, Qwen, DeepSeek and others.

Two mechanisms

  • JSON Schema output format: the whole response conforms to a schema you pass. For extraction, classification and any response your code parses.

  • Strict tool use: tool arguments conform to the tool's declared input schema. For agents, where a malformed argument used to mean a failed call or a retry.

  • Both work through the Converse and InvokeModel APIs.

Want a second opinion on this for your system?

Book a free 30-minute call. You'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.

What the schema can and cannot express

Supported

Not supported

object, array, string, integer, number, boolean, null

Recursive schemas

enum, const, anyOf, allOf

External $ref

Internal $ref and $defs

Numeric constraints such as minimum and maximum

String formats: date-time, email, URI, UUID

String constraints such as minLength and pattern

minItems of 0 or 1

additionalProperties other than false

The gaps matter. A schema can guarantee that "amount" is a number, not that it is positive. Keep a validation step for business rules, and treat structured outputs as removing format failures, not logic failures.

Latency

The first request with a new schema compiles it into a grammar, which adds latency. Compiled grammars are cached for 24 hours per account. Keep schemas stable rather than generating them per request, and warm critical ones after a deploy.

What it changes

  • Extraction pipelines lose their retry loops and most of their parsing code.

  • Smaller, cheaper models become usable for extraction, because format adherence was often the reason to pay for a larger one. Re-run your eval set on a smaller model.

  • Agent tool calls fail less. Combine strict tool use with argument validation in the tool itself, because a well-formed argument can still be a wrong one.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of October 25, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.