Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · AWS Bedrock InvokeModel
model-transport:bedrock-invokea5c.ai
Search record views/
Record · tabs

Available views

II.Record viewspp. 1 - 1
overviewjsongraph
II.
ModelTransportProtocol JSON

model-transport:bedrock-invoke

Structured · live

AWS Bedrock InvokeModel json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · compute/model-transport-protocols/bedrock-invoke.yamlCluster · compute
Record JSON
{
  "id": "model-transport:bedrock-invoke",
  "_kind": "ModelTransportProtocol",
  "_file": "compute/model-transport-protocols/bedrock-invoke.yaml",
  "_cluster": "compute",
  "attributes": {
    "displayName": "AWS Bedrock InvokeModel",
    "vendor": "Amazon Web Services",
    "specUrl": "https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html",
    "streamingFraming": "aws-event-stream",
    "toolUseSchema": "Tool-use schema is delegated to the underlying model provider's\nnative body shape. For Anthropic models on Bedrock, the request /\nresponse body is a wire-compatible Anthropic Messages payload (with\nBedrock-specific fields removed: `model` is set via URL path, and\n`anthropic_version` is set in the body). Tool calls therefore\nappear as `tool_use` content blocks; tool results as `tool_result`\nblocks — identical to Anthropic Messages.\n",
    "thinkingChannel": "content-block",
    "cacheControl": "explicit",
    "firstSpecVersion": "2023-09-28",
    "currentSpecVersion": "2023-09-28",
    "status": "standard",
    "requestBodyShape": "POST /model/{modelId}/invoke\nPOST /model/{modelId}/invoke-with-response-stream\nHeaders:\n  - `Content-Type: application/json`\n  - `Accept: application/json` (for InvokeModel) or\n    `application/vnd.amazon.eventstream` (for InvokeModelWithResponseStream)\n  - AWS SigV4 `Authorization` header\nBody: opaque JSON payload defined by the underlying model provider.\nFor Anthropic Claude on Bedrock the body is the Anthropic Messages\nrequest shape with these adjustments:\n  - `anthropic_version` (required, e.g. \"bedrock-2023-05-31\") instead of\n    the `anthropic-version` header\n  - no top-level `model` field (it is supplied via the URL `modelId`)\n  - all other fields (`messages`, `system`, `max_tokens`, `tools`,\n    `tool_choice`, `temperature`, `top_p`, `top_k`, `stop_sequences`,\n    `thinking`, `metadata`) match Anthropic Messages\n",
    "responseBodyShape": "Non-streaming (InvokeModel):\n  HTTP 200, `application/json` — the full provider-native response\n  payload as the response body. For Anthropic Claude this is the\n  Anthropic Messages response (`{id, type, role, model, content,\n  stop_reason, stop_sequence, usage}`).\nStreaming (InvokeModelWithResponseStream):\n  HTTP 200, `application/vnd.amazon.eventstream` — AWS EventStream\n  frames. Each frame carries a base64-encoded `bytes` field whose\n  decoded payload is a JSON event in the provider-native streaming\n  shape (e.g. Anthropic `message_start` / `content_block_delta` /\n  `message_stop` events). Bedrock additionally injects a\n  `amazon-bedrock-invocationMetrics` object on the terminal event\n  (input/output token counts, latency).\n",
    "streamingEventTypes": [
      "chunk",
      "message_start",
      "content_block_start",
      "content_block_delta",
      "content_block_stop",
      "message_delta",
      "message_stop",
      "ping",
      "internalServerException",
      "modelStreamErrorException",
      "modelTimeoutException",
      "validationException",
      "throttlingException"
    ],
    "toolCallWireFormat": "Provider-native. For Anthropic on Bedrock: a `tool_use` content\nblock on the response message:\n  { \"type\": \"tool_use\", \"id\": \"toolu_...\", \"name\": \"<tool>\", \"input\": { ... } }\n",
    "toolResultWireFormat": "Provider-native. For Anthropic on Bedrock: a `tool_result` content\nblock in a subsequent user-role message in the request `messages`\narray:\n  { \"type\": \"tool_result\",\n    \"tool_use_id\": \"toolu_...\",\n    \"content\": string | ContentBlock[],\n    \"is_error\"?: bool }\n",
    "errorEnvelope": "Non-2xx response, `application/json` (Bedrock runtime error envelope):\n  { \"message\": string,\n    \"__type\": \"<ExceptionName>\" }\nCommon `__type` values: `ValidationException`, `AccessDeniedException`,\n`ThrottlingException`, `ServiceQuotaExceededException`,\n`ModelTimeoutException`, `ModelStreamErrorException`,\n`ModelNotReadyException`, `InternalServerException`.\nAWS request-id is returned in the `x-amzn-RequestId` response header.\n",
    "cacheControlWireFormat": "Anthropic-on-Bedrock supports prompt caching using the same\n`cache_control` annotation as Anthropic Messages:\n  { \"type\": \"text\", \"text\": \"...\", \"cache_control\": { \"type\": \"ephemeral\" } }\nUp to four cache breakpoints per request. Cache hit accounting is\nreported as `usage.cache_creation_input_tokens` and\n`usage.cache_read_input_tokens` on the response.\ncurrent Bedrock TTL options (default 5m; 1h availability varies\nby region/model).\n",
    "rateLimitSignaling": "On HTTP 429 `ThrottlingException`: standard AWS retry semantics\napply. Bedrock does not document per-tenant remaining-budget\nheaders; clients should rely on exponential backoff and the\n`retry-after` header when present. Quota state is observable via\nCloudWatch service-quotas metrics rather than per-response headers.\n",
    "reasoningWireFormat": "Provider-native. For Anthropic on Bedrock, extended thinking is\nrequested via `thinking: { type: \"enabled\", budget_tokens }` in the\nrequest body and returned as `thinking` / `redacted_thinking`\ncontent blocks on the response — identical to Anthropic Messages.\n",
    "authHeaderFormat": "AWS Signature Version 4 over the request:\n  `Authorization: AWS4-HMAC-SHA256 Credential=..., SignedHeaders=..., Signature=...`\n  `x-amz-date: <ISO8601>`\n  `x-amz-security-token: <session-token>`   (for STS / role creds)\nNo API key. Endpoint: `https://bedrock-runtime.<region>.amazonaws.com`.\n",
    "versioningHeader": "No protocol-version header. Provider-payload versioning is carried\nin-body (e.g. `anthropic_version: \"bedrock-2023-05-31\"` for\nAnthropic Claude). Bedrock control-plane API version is implicit\nin the signed endpoint.\n"
  },
  "outgoingEdges": [
    {
      "from": "model-transport:bedrock-invoke",
      "to": "layer:3-transport",
      "kind": "realizes",
      "attributes": {}
    },
    {
      "from": "model-transport:bedrock-invoke",
      "to": "provider:aws-bedrock",
      "kind": "served_by"
    },
    {
      "from": "model-transport:bedrock-invoke",
      "to": "model:claude-opus-4-7@current",
      "kind": "spoken_by"
    }
  ],
  "incomingEdges": []
}

Shortcuts

Back to overview
Open graph tab