canonical: https://jentic.com/apis/amazonaws.com/bedrock-runtime

# AWS Amazon Bedrock Runtime API

Jentic publishes the only available OpenAPI specification for Amazon Bedrock Runtime API, keeping it validated and agent-ready. Amazon Bedrock Runtime is the inference plane of Amazon Bedrock, AWS's managed service for foundation models from Anthropic, AI21, Cohere, Meta, Mistral, Stability, and Amazon's own Titan and Nova families. The runtime API lets you invoke a model with a request body in the model's native format, stream tokens as they are generated, run a unified Converse loop across providers, and apply Bedrock Guardrails to inputs and outputs for safety filtering.

## For AI agents

Invoke Amazon Bedrock foundation models for text generation, chat, and tool-use, with streaming and a unified Converse interface across providers, plus Guardrails for safety.

## Scope

Does not train or fine-tune models, manage agents and knowledge bases, or list available models. Use for foundation model inference and Guardrail application only.

## Capabilities

- Invoke any Amazon Bedrock-hosted foundation model with a model-specific JSON body via InvokeModel
- Stream tokens incrementally with InvokeModelWithResponseStream for chat UIs and progressive output
- Use the unified Converse API to run multi-turn chat across Anthropic, Meta, Mistral, Cohere, and Amazon models without rewriting the request body
- Stream Converse responses with ConverseStream including token-by-token deltas and tool-use events
- Apply Bedrock Guardrails to free-text inputs and outputs with ApplyGuardrail to enforce content and PII policies

## Use cases

### Cross-Provider Chat with Converse

Build a chat product that can swap between Claude, Llama, Mistral, and Amazon Nova without rewriting the request body for each provider. The Converse API normalises messages, system prompts, and tool definitions into one schema; the runtime handles each provider's idiosyncratic format internally. Switching providers becomes a model-id change rather than a code change.

Example prompt: Call Converse on modelId=anthropic.claude-3-5-sonnet-20241022-v2:0 with messages=[{role: 'user', content: [{text: 'Summarise: ...'}]}] and inferenceConfig={maxTokens: 1024, temperature: 0.2}.

### Streaming Chat UI

Power a chat interface where tokens render as the model produces them rather than waiting for the full response. ConverseStream emits messageStart, contentBlockDelta, and messageStop events that the front end consumes via SSE or WebSocket. Combined with low-latency models like Claude Haiku or Nova Micro, this delivers sub-second time-to-first-token for end users.

Example prompt: Call ConverseStream on modelId=anthropic.claude-3-haiku-20240307-v1:0 with the user's message, forwarding each contentBlockDelta event to the connected browser over WebSocket.

### Guardrail-Filtered Customer Chatbot

Wrap a customer-facing chatbot with Bedrock Guardrails so the model never returns disallowed content, leaks PII, or strays off the policy-defined topic list. ApplyGuardrail evaluates input text against the configured Guardrail and returns an action (NONE, GUARDRAIL_INTERVENED) plus the redacted output. Combine with Converse so model calls already inherit Guardrail enforcement.

Example prompt: Call ApplyGuardrail with guardrailIdentifier=gr-7abc, guardrailVersion=DRAFT, source=INPUT, and content=[{text: {text: 'user message ...', qualifiers: ['guard_content']}}].

### Agent Tool-Use with Claude on Bedrock

Let an AI agent use tools, such as searching a database, calling a payment API, or posting to a Slack channel, through Claude on Bedrock with Anthropic's structured tool-use schema. The agent sends tool definitions in the Converse request, Claude returns toolUse content blocks, the agent executes them via Jentic, and feeds toolResult content blocks back. Jentic handles credential isolation for both the Bedrock call and the downstream tool calls.

Example prompt: Call Converse on modelId=anthropic.claude-3-5-sonnet-20241022-v2:0 with toolConfig.tools=[<schemas loaded from Jentic>] and the user's request, then execute each toolUse content block via Jentic and pass the toolResult back in the next Converse call.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /model/{modelId}/invoke | Invoke a foundation model with a provider-native body |
| POST | /model/{modelId}/invoke-with-response-stream | Invoke a model with streaming response |
| POST | /model/{modelId}/converse | Run a unified Converse multi-turn chat call |
| POST | /model/{modelId}/converse-stream | Run a streaming Converse call |
| POST | /guardrail/{guardrailIdentifier}/version/{guardrailVersion}/apply | Apply a Guardrail to text input or output |

## Key resources

- **Models** — Foundation models from Anthropic, Meta, Mistral, Cohere, AI21, Stability, and Amazon, identified by modelId.
- **Converse** — Unified multi-turn chat schema across providers, with optional tool-use and streaming.
- **InvokeModel** — Provider-native invocation when you need full control over the request body.
- **Guardrails** — Configurable input and output filters for content, denied topics, sensitive information, and word policies.

## Why Jentic

- **Setup:** Wiring the Amazon Bedrock Runtime API by hand means holding an access key ID and secret access key, computing an AWS Signature Version 4 signature per request, resolving the correct regional bedrock-runtime host, and handling response streaming and retries yourself. Through Jentic you install once, import the Amazon Bedrock Runtime API from the API Directory, store the AWS access key once, and your agent calls it.
- **Permission scoping:** Bedrock Runtime puts the model and guardrail identifiers in the URL path (/model/{modelId}/... and /guardrail/{guardrailIdentifier}/...), so a rule can pin your agent to specific models or guardrails. You choose the operations it may call, so you can allow converse or invoke while leaving guardrail application out unless you add it.
- **Credential handling:** Your AWS access key ID and secret access key are stored once, encrypted, by your own Jentic One instance, and the Signature Version 4 signature is computed at execution time. The raw keys never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate a chat response with a foundation model' or 'stream model output', and Jentic returns the matching Bedrock Runtime operation with its input schema so the agent calls the right endpoint without crawling the AWS reference.

## Related APIs

- **OpenAI API** — Direct OpenAI access for GPT-4 and GPT-4o-class models with native function calling and JSON mode.
- **Anthropic Messages API** — Direct Anthropic access to Claude models with the same Messages schema Bedrock Converse adopted.
- **Amazon SageMaker** — Train, fine-tune, and host custom models for cases the foundation models on Bedrock cannot cover.

## FAQ

### Why is there no official OpenAPI spec for Amazon Bedrock Runtime API?

AWS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Amazon Bedrock Runtime API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Amazon Bedrock Runtime API use?

All requests are signed with AWS Signature Version 4 using an AWS access key ID and secret access key. Through Jentic, the credentials live encrypted in the vault and Jentic computes the signature server-side, so the agent only ever holds a scoped Jentic credential reference.

### Which models can I invoke through this API?

Any model your account has access to in Amazon Bedrock, including Anthropic Claude, Meta Llama, Mistral, Cohere Command, AI21 Jurassic, Stability SDXL, and Amazon Titan and Nova families, identified by its modelId (for example anthropic.claude-3-5-sonnet-20241022-v2:0). Access must be enabled per model in the Bedrock console first.

### How do I stream tokens from a Bedrock model through Jentic?

Search Jentic for 'stream a chat completion from Bedrock', load the ConverseStream schema, and execute it. The operation maps to POST /model/{modelId}/converse-stream and Jentic forwards the AWS event stream so the agent receives messageStart, contentBlockDelta, and messageStop events as they arrive.

### What are the rate limits for the Amazon Bedrock Runtime API?

Bedrock applies per-model and per-account quotas measured in requests per minute and tokens per minute (for input and output separately). Limits vary by model and region; on-demand and provisioned throughput modes have different ceilings, and ThrottlingException is returned when a quota is exceeded.

### Is Amazon Bedrock free to use?

Bedrock charges per token for on-demand inference, with separate input and output token rates per model, plus optional Provisioned Throughput pricing for guaranteed capacity. There is no monthly subscription; you pay only for the tokens consumed plus any Guardrails policy units you apply.

### Can I limit what my agent is allowed to do with the AWS Bedrock Runtime API?

Yes. Because you run Jentic One yourself, your own rules decide which of the five Bedrock Runtime operations your agent may call, so you can allow Converse and InvokeModel while withholding ApplyGuardrail. Since the model and guardrail identifiers sit in the request path (/model/{modelId}/... and /guardrail/{guardrailIdentifier}/...), a rule can also pin the agent to specific model IDs or a specific guardrail. The AWS access key stays with your instance and the agent only ever holds a scoped credential reference.
