# Claude on third-party cloud platforms — Bedrock, Google Cloud, Microsoft Foundry, Claude Platform on AWS Status: DOCUMENTED (no cloud credentials — nothing live-tested) Sources (all retrieved 2026-09-18, canonical URLs): - https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock - https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy - https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws - https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions - https://platform.claude.com/docs/en/build-with-claude/claude-on-vertex-ai - https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry - https://platform.claude.com/docs/en/build-with-claude/overview (Feature availability tables) - https://platform.claude.com/docs/en/models/overview and `models/*/overview` pages, https://platform.claude.com/docs/en/about-claude/models/model-ids-and-versions, https://platform.claude.com/docs/en/about-claude/model-deprecations - https://platform.claude.com/docs/en/about-claude/pricing, https://platform.claude.com/docs/en/manage-claude/data-residency, https://platform.claude.com/docs/en/api/supported-regions, https://platform.claude.com/docs/en/api/rate-limits, https://platform.claude.com/docs/en/api/beta-headers, https://platform.claude.com/docs/en/api/overview - Feature guides under `build-with-claude/*` and `agents-and-tools/**` (platform notes), `cli-sdks-libraries/sdks/{python,typescript}` - Machine-readable twins: `generated/fragments/compatibility/anthropic-feature-platform-matrix.json`, `generated/fragments/compatibility/anthropic-model-platform-ids.json`, `generated/fragments/endpoints/anthropic-cloud-endpoints.json` Last verified: 2026-09-18 (docs only; every record carries `verification.result = "restricted"`, `request_note = "no cloud credentials"`) Other platforms checked: `grep -rli 'snowflake|databricks|oracle|cloudflare|salesforce'` over `sources/anthropic/pages` returns no platform pages (only unrelated hits in `api/errors.md`, `api/compliance.md`, MCP-tunnels pages). The Anthropic docs document exactly five API platforms. --- ## 1. Platform overview | | Claude API (first-party) | Claude Platform on AWS | Claude in Amazon Bedrock (Opus 4.7+) | Amazon Bedrock legacy (Opus 4.6 and earlier) | Google Cloud (Vertex AI / "Agent Platform") | Microsoft Foundry | |---|---|---|---|---|---|---| | Operator of the stack | Anthropic | **Anthropic** (AWS = auth/IAM/billing layer) | AWS ("zero operator access") | AWS | Google | Anthropic (Hosted on Azure infra, or Hosted on Anthropic infra) | | Base URL | `https://api.anthropic.com` | `https://aws-external-anthropic.{region}.api.aws` | `https://bedrock-mantle.{region}.api.aws` | `https://bedrock-runtime.{region}.amazonaws.com` | `https://{region}-aiplatform.googleapis.com` / `https://aiplatform.googleapis.com` (global) / `https://aiplatform.{us\|eu}.rep.googleapis.com` | `https://{resource}.services.ai.azure.com/anthropic` | | API surface | Claude API `/v1/*` | Claude API `/v1/*` (identical) | Messages API at `/anthropic/v1/messages` | `InvokeModel`, `InvokeModelWithResponseStream`, `Converse`, `ConverseStream` | `…/publishers/anthropic/models/{model}:rawPredict` (+ `:streamRawPredict`) | Messages API at `/anthropic/v1/*` | | `model` passed in | body | body (Claude API ids) | body (`anthropic.claude-…`) | **URL** (`modelId` = inference-profile id or ARN) | **URL** (`claude-…@date` or dateless id) | body (= **deployment name**, defaults to Claude API id) | | Version | `anthropic-version: 2023-06-01` header | same header | same header | body `"anthropic_version": "bedrock-2023-05-31"` | body `"anthropic_version": "vertex-2023-10-16"` | `anthropic-version` header | | Auth | `x-api-key` | AWS SigV4 (service `aws-external-anthropic`) **or** API key generated in the AWS Console (`x-api-key`, IAM `CallWithBearerToken`); short-term tokens via `token-generator-for-aws-external-anthropic` (≤12 h) | SigV4 (service `bedrock-mantle`) via Bedrock service role / assumed IAM role (12 h) / short-term bearer token in `x-api-key` (`aws-bedrock-token-generator`) | SigV4 (service `bedrock`) or bearer token (`AWS_BEARER_TOKEN_BEDROCK`) | Google OAuth2 access token (ADC, `gcloud auth print-access-token`) | `api-key` / `x-api-key` header, or Entra ID `Authorization: Bearer` (scope `https://ai.azure.com/.default`; RBAC Foundry User / Cognitive Services User) | | Extra required header | — | `anthropic-workspace-id: wrkspc_…` on inference/resource requests | — | — | — | — | | Streaming | SSE | SSE | SSE | AWS EventStream | SSE via `:streamRawPredict` (SDK) | SSE | | Beta features | `anthropic-beta` header / SDK `betas=[…]` | `anthropic-beta` pass-through, same as Claude API | "`anthropic-beta` header not supported" | "`anthropic-beta` header not supported" | Unknown mechanics (see §7) | Unknown mechanics (betas exist, e.g. MCP connector) | | Billing | Anthropic (prepaid credits / invoice) | AWS Marketplace, **Claude Consumption Units** ($0.01/CCU, 100 CCU = $1 after discounts), metered hourly | AWS native service | AWS native service | Google Cloud | Azure Marketplace, CCUs ($0.01/CCU) | | Rate limits / quotas | Anthropic tiers | Anthropic (Start tier at sign-up; tier increases via account rep; monthly spend caps) | AWS: default 2M input TPM, up to 5M input / 500k output TPM without Anthropic approval; RPM set by AWS | AWS quotas | Google quotas | Azure (429 → back off; no `anthropic-ratelimit-*` headers) | | Console | Claude Console | Claude Console (federated via AWS IAM `AssumeConsole`; "Account managed by AWS") | Bedrock console | Bedrock console | Model Garden | Foundry portal | | Data processor for inference | Anthropic | Anthropic (data use terms; ZDR on request; **no HIPAA program**) | AWS | AWS | Google | Anthropic (Azure-hosted deployments keep prompts/completions in Azure; **no HIPAA program**) | | Model lifecycle dates | Anthropic | Anthropic schedule | AWS sets own dates | AWS sets own dates | Google sets own dates | follows Claude API schedule | | Request payload limit | 32 MB standard | same as Claude API | 20 MB | 20 MB | 30 MB | not stated | | SDK client (Python / Node) | `Anthropic` / `@anthropic-ai/sdk` | `AnthropicAWS` (`anthropic[aws]`) / `AnthropicAws` (`@anthropic-ai/aws-sdk`) — **beta** | `AnthropicBedrockMantle` (`anthropic[bedrock]`) / `AnthropicBedrockMantle` (`@anthropic-ai/bedrock-sdk`) | `AnthropicBedrock` (`anthropic[bedrock]`) / `AnthropicBedrock` (`@anthropic-ai/bedrock-sdk`), or boto3 | `AnthropicVertex` (`anthropic[vertex]`) / `AnthropicVertex` (`@anthropic-ai/vertex-sdk`) | `AnthropicFoundry` (base `anthropic`) / `AnthropicFoundry` (`@anthropic-ai/foundry-sdk`); Go and Ruby: base client + `base_url` workaround | | `ant` CLI | yes | yes (`--base-url … --workspace-id …`, key in `ANTHROPIC_API_KEY`) | no | no | no | yes (`--base-url`, key via `ANTHROPIC_API_KEY`) | **Is Claude Platform on AWS a distinct endpoint?** Yes. It is a separate product from Bedrock: Anthropic-operated infrastructure reached through an AWS-owned gateway (`aws-external-anthropic.{region}.api.aws`), billed by AWS Marketplace, IAM-scoped per **workspace** (ARN `arn:aws:aws-external-anthropic:{region}:{account-id}:workspace/wrkspc_…`), with a separate capacity pool from both the first-party API and Bedrock. Signing up provisions a *new* Anthropic organization (no conversion of an existing org). Prerequisite: `aws iam enable-outbound-web-identity-federation` once per account (otherwise every request fails with "Outbound web identity federation is disabled for your account"). Same-day feature parity with the Claude API except the items in §6. All AWS commercial regions; PrivateLink supported. Workspaces are bound to one region; the region controls the gateway, *not* where inference runs (use `inference_geo`). --- ## 2. Per-platform details ### 2.1 Claude in Amazon Bedrock (Messages-API endpoint, "bedrock-mantle") - `POST https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages`; curl: `--aws-sigv4 "aws:amz:{region}:bedrock-mantle"`. Standard `Anthropic` client also works with `base_url=https://bedrock-mantle.{region}.api.aws/anthropic` + bearer token as `api_key` (bearer only; SigV4 needs the dedicated client). - Models: `anthropic.claude-fable-5-1`, `anthropic.claude-fable-5`, `anthropic.claude-opus-5` (access criteria), `anthropic.claude-opus-4-8`, `anthropic.claude-opus-4-7`, `anthropic.claude-sonnet-5`, `anthropic.claude-haiku-4-5`, `anthropic.claude-mythos-preview` (invite, dedicated allowlisted account, regional `us-east-1` only). - Endpoint types: **Global** (dynamic routing, no premium) and **Regional** (+10 %, data residency; inference profiles US / EU / JP / AU). 27 regions listed (`af-south-1` … `us-west-2`); "In-region only" = direct single-region routing without inference profile: `ap-northeast-1`, `ap-southeast-4`, `eu-north-1`, `eu-west-1`, `us-east-1`, `us-east-2`, `us-west-2`. Fable 5.1 regional = `us-east-1` only. - Supported highlights: Messages API, prompt caching, thinking, tool use (bash, computer use beta versions, memory, text editor), citations. **Not supported**: structured outputs (see contradiction in §8), URL/Files input sources, server-side tools (code execution, web search, web fetch, advisor), Agent Skills, MCP connector, programmatic tool calling, Message Batches / Models / Admin / Compliance / Usage-Cost endpoints, Managed Agents, server-side `fallbacks`, `computer_toolset_20260801` / `browser_toolset_20260801`. - Logs: CloudWatch + CloudTrail; support `bedrock-ant-eap@amazon.com` with `request-id`. ### 2.2 Amazon Bedrock legacy integration (InvokeModel / Converse, Opus 4.6 and earlier) - ARN-versioned ids; newer models (Fable 5.1/5, Opus 5/4.8/4.7, Sonnet 5) are *also* reachable through `InvokeModel` on `bedrock-runtime` (served by the Mantle infrastructure) but have no ARN-versioned id. - Passing a base id fails with HTTP 400 *"…with on-demand throughput isn't supported. Retry your request with the ID or ARN of an inference profile…"* → use an inference-profile id (`global.`, `us.`, `eu.`, `jp.`, `apac.` prefix) or ARN `arn:aws:bedrock:{region}:{account-id}:inference-profile/{id}`. | Model | Base Bedrock id | global | us | eu | jp | apac | |---|---|---|---|---|---|---| | Opus 4.6 | `anthropic.claude-opus-4-6-v1` (last id with `-v1`) | ✓ | ✓ | ✓ | ✓ | ✓ | | Sonnet 4.6 | `anthropic.claude-sonnet-4-6` | ✓ | ✓ | ✓ | ✓ | – | | Sonnet 4.5 | `anthropic.claude-sonnet-4-5-20250929-v1:0` | ✓ | ✓ | ✓ | ✓ | – | | Opus 4.5 | `anthropic.claude-opus-4-5-20251101-v1:0` | ✓ | ✓ | ✓ | – | – | | Haiku 4.5 | `anthropic.claude-haiku-4-5-20251001-v1:0` | ✓ | ✓ | ✓ | – | – | | Sonnet 4 (deprecated) | `anthropic.claude-sonnet-4-20250514-v1:0` | ✓ | ✓ | ✓ | – | ✓ | | Opus 4.1 (deprecated) | `anthropic.claude-opus-4-1-20250805-v1:0` | – | ✓ | – | – | – | | Haiku 3.5 (deprecated) | `anthropic.claude-3-5-haiku-20241022-v1:0` | – | ✓ | – | – | – | | Sonnet 3.7, Opus 4 | retired on Bedrock (no profiles) | | | | | | - Body: Messages API minus `model`, plus `"anthropic_version": "bedrock-2023-05-31"`. Streaming = AWS EventStream. Global vs regional (CRIS) pricing (+10 %) applies from Sonnet 4.5 onward. - Legacy-only differences: **no automatic prompt caching** (top-level `cache_control` → 400; use explicit breakpoints); structured outputs *are* available for Opus 4.6 / Sonnet 4.6 / Sonnet 4.5 / Opus 4.5 / Haiku 4.5; PDF via Converse needs citations for visual analysis (InvokeModel for full control); tool search via InvokeModel only; mid-conversation system messages only via InvokeModel for Mantle-served models; 1M context on Opus 4.6 / Sonnet 4.6, 200k on Sonnet 4.5 and older. - List models: `aws bedrock list-foundation-models --by-provider anthropic`. ### 2.3 Claude Platform on AWS (Anthropic-operated) - `POST https://aws-external-anthropic.{region}.api.aws/v1/messages` with `--aws-sigv4 "aws:amz:{region}:aws-external-anthropic"` (region in URL must match the SigV4 region) + `anthropic-version` + `anthropic-workspace-id`. Env: `AWS_REGION` (required, no default), `ANTHROPIC_AWS_WORKSPACE_ID`, `ANTHROPIC_AWS_API_KEY`. Credential precedence: `apiKey` arg → `awsAccessKey`+secret → `awsProfile` → `ANTHROPIC_AWS_API_KEY` → default AWS chain. - Models (Claude API ids, no prefixes): `claude-fable-5-1`, `claude-fable-5`, `claude-opus-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6`, `claude-opus-4-5`, `claude-sonnet-5`, `claude-sonnet-4-6`, `claude-sonnet-4-5`, `claude-haiku-4-5`. Mythos models are not listed. - IAM: namespace `aws-external-anthropic`, 71 actions, `VerbNoun` (e.g. `CreateInference` → `POST /v1/messages`, `CountTokens`, `CreateBatchInference`/`GetBatchInference` (metadata + results)/`ListBatchInferences`/`CancelBatchInference`/`DeleteBatchInference`, `GetModel`/`ListModels`, `CreateFile`/`GetFile`/`ListFiles`/`DeleteFile`, workspace actions, `ListComplianceActivities`, `AssumeConsole`, `CallWithBearerToken` (route-less, needed for API-key auth)). Managed policies: `AnthropicFullAccess`, `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, `AnthropicLimitedAccess`, `AnthropicSelfHostedEnvironmentAccess`. Details are in the compliance-and-iam page (other worker). - Data residency: `inference_geo` `"us"` (1.1x) or `"global"`; workspace `allowed_inference_geos` / `default_inference_geo`; workspace geo fixed to `"us"`. Workspaces created before 2026-09-18 00:00 UTC may have been processed outside AWS. - Billing: AWS Marketplace, CCUs; Start/Build/Scale tiers each with a monthly spend cap (HTTP 400 at cap until month rollover); self-set org/workspace spend limits. Private offers must be accepted *before* usage. - Logging: CloudTrail (management events by default; inference/batch/file/skill/model/agent ops are Data events, extra cost). Response headers `x-amzn-requestid` (primary) + `request-id`. - Managed Agents differences: 6-hour autonomous-session reauthentication (send any user event); no memory stores on self-hosted environments. ### 2.4 Google Cloud (Vertex AI / Agent Platform) - `POST https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT}/locations/{LOCATION}/publishers/anthropic/models/{MODEL}:rawPredict` (regional, e.g. `us-east5`, `europe-west1`; Sonnet 4.6 and earlier only); global: `https://aiplatform.googleapis.com/v1/projects/{PROJECT}/locations/global/...`; multi-region: `https://aiplatform.{us|eu}.rep.googleapis.com/v1/projects/{PROJECT}/locations/{us|eu}/...`. `Authorization: Bearer $(gcloud auth print-access-token)`. Body carries `"anthropic_version": "vertex-2023-10-16"`, no `model`. - Endpoint types: global (recommended, pay-as-you-go only), multi-region `us`/`eu` (+10 %), regional (+10 %, required for provisioned throughput). Pricing premium applies from Sonnet 4.5 onward. - Ids: `claude-fable-5-1`, `claude-fable-5`, `claude-opus-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6`, `claude-opus-4-5@20251101`, `claude-opus-4-1@20250805` (dep.), `claude-opus-4@20250514` (dep.), `claude-sonnet-5`, `claude-sonnet-4-6`, `claude-sonnet-4-5@20250929`, `claude-sonnet-4@20250514` (dep.), `claude-haiku-4-5@20251001`, `claude-3-5-haiku@20241022` (dep.). Mythos Preview by invitation. - Supported: Messages, prompt caching (auto + 5m + 1h), thinking, tool use incl. **browser use and computer use toolsets**, **web search (basic version only)**, citations, structured outputs. Not supported: URL/Files sources, code execution, web fetch, advisor, Skills, MCP connector, programmatic tool calling, Batches/Models/Admin/Compliance/Usage endpoints, Managed Agents, server-side fallback. 1M context on Fable 5.1/5, Opus 5/4.8/4.7/4.6, Sonnet 5/4.6. Payload limit 30 MB. ### 2.5 Microsoft Foundry - `https://{resource}.services.ai.azure.com/anthropic/v1/*`; `model` = deployment name (default = Claude API id). Two-level hierarchy: Foundry resource → deployments. Two **hosting options** chosen per deployment: *Hosted on Azure* (Global Standard or **US Data Zone Standard** = `inference_geo: "us"` equivalent, 1.1x) and *Hosted on Anthropic* (Global Standard only). Model version 1 = Hosted on Anthropic, version 2 = Hosted on Azure. - Ids/deployments: `claude-fable-5-1`, `claude-fable-5`, `claude-opus-5`*, `claude-opus-4-8`*, `claude-opus-4-7`, `claude-opus-4-6`, `claude-opus-4-5`, `claude-sonnet-5`*, `claude-sonnet-4-6`, `claude-sonnet-4-5`, `claude-haiku-4-5`* (* = also Hosted on Azure; all Hosted on Anthropic). Mythos Preview by invitation. - Env: `ANTHROPIC_FOUNDRY_API_KEY`, `ANTHROPIC_FOUNDRY_RESOURCE` xor `ANTHROPIC_FOUNDRY_BASE_URL` (C# ignores the latter). SDKs: C#, Java, PHP, Python, TypeScript; not Go/Ruby. - Not supported anywhere on Foundry: Admin API, advisor tool, Managed Agents, Compliance API, Models API, Message Batches, server-side fallback, computer/browser toolsets (beta computer-use versions remain). **Additionally not supported when Hosted on Azure** (400 by design): code execution, web search/fetch versions newer than `web_search_20250305` / `web_fetch_20250910`, Agent Skills, programmatic tool calling, Files API. - Response headers: `request-id` + `apim-request-id`; **no** `anthropic-ratelimit-*` headers. `usage` object identical across platforms. Billing: Azure Marketplace CCUs. --- ## 3. Regions and data residency | Platform | Region mechanism | Residency control | Price effect | |---|---|---|---| | Claude API | global routing by default | `inference_geo: "us"` (Claude 4.6+; 400 on 4.5 and earlier); workspace `allowed_inference_geos`/`default_inference_geo`; workspace geo `"us"` only | 1.1x for `us` | | Claude Platform on AWS | any AWS commercial region (gateway + IAM scope only) | `inference_geo` us/global (+ workspace defaults); workspace geo not configurable (effective `us`) | 1.1x for `us` | | Bedrock (Mantle) | 27 AWS regions; Global vs Regional endpoints; US/EU/JP/AU inference profiles | endpoint choice | +10 % regional | | Bedrock legacy | inference-profile prefixes `global.`/`us.`/`eu.`/`jp.`/`apac.` (CRIS) | prefix choice | +10 % regional (Sonnet 4.5+) | | Google Cloud | global / multi-region (`us`, `eu`) / regional | endpoint choice | +10 % non-global (Sonnet 4.5+) | | Foundry | Global Standard / US Data Zone Standard (Hosted on Azure only) | deployment type | 1.1x for US Data Zone | `inference_geo` is *not applicable* on Bedrock, Google Cloud and Foundry. Supported customer countries (`api/supported-regions`) is a jurisdiction list (≈175 countries), independent of cloud regions. ZDR/HIPAA: Anthropic programs apply to Claude API and (ZDR only, on request) Claude Platform on AWS; not to Bedrock/Google Cloud (cloud provider is processor); HIPAA program unavailable on Claude Platform on AWS and Foundry. ## 4. Pricing differences - Bedrock and Google Cloud: partner price lists (aws.amazon.com/bedrock/pricing, cloud.google.com/vertex-ai/generative-ai/pricing); regional/multi-region **+10 %** over global for Sonnet 4.5 and later. - Claude Platform on AWS and Foundry: same per-model/per-feature USD rates as the Claude API, converted to **CCUs at $0.01/CCU** after discounts; single CCU line item; no prepaid balance. Batch discount (50 %) applies where Batches exist (Claude API, Claude Platform on AWS). Fast mode premium pricing is Claude API only. - Retired-on-API models still billed on partners: Opus 4.1, Sonnet 4, Haiku 3.5 (Bedrock + Google Cloud), Opus 4 (Google Cloud only). ## 5. Endpoint availability summary (count_tokens, batches, admin, agents, skills, files) | Endpoint family | Claude API | Claude Platform on AWS | Bedrock (Mantle) | Bedrock legacy | Google Cloud | Foundry | |---|---|---|---|---|---|---| | `POST /v1/messages` | Yes | Yes | Yes (`/anthropic/v1/messages`) | via InvokeModel/Converse | via `:rawPredict` | Yes (`/anthropic/v1/messages`) | | `count_tokens` | Yes | Yes (`CountTokens`) | Yes¹ | Yes¹ | Yes¹ | Yes¹ | | Message Batches | Yes | Yes | No | No | No | No | | Models API | Yes | Yes | No (`list-foundation-models`) | No | No (Model Garden) | No | | Files API | Yes | Yes (beta) | No | No | No | Beta, Hosted on Anthropic only | | Skills API | Yes | Yes (beta) | No | No | No | Beta, Hosted on Anthropic only | | Admin API | Yes | Partial (workspaces + external_keys only) | No | No | No | No | | Usage & Cost API | Yes | No (Console only) | No | No | No | No | | Compliance API | Yes | Yes (`ListComplianceActivities`) | No | No | No | No | | Managed Agents | Yes | Yes (6 h reauth; no memory stores on self-hosted) | No | No | No | No | | OpenAI-compatible endpoint | Yes | No | Unknown | Unknown | Unknown | Unknown | ¹ Listed in the Features overview for all platforms; the exact REST path on Bedrock/Google Cloud/Foundry is not shown in Anthropic's docs (SDKs expose `messages.count_tokens`). --- ## 6. Feature × Platform matrix Legend: **Yes** · **No** · **Partial** · **Unknown** (docs silent). Footnotes a–z after the table. Columns: API = Claude API, CPA = Claude Platform on AWS, BR = Claude in Amazon Bedrock (Mantle, Opus 4.7+), BRL = Bedrock legacy InvokeModel/Converse, GC = Google Cloud, MF = Microsoft Foundry. Beta header names in the JSON twin. | Feature | API | CPA | BR | BRL | GC | MF | |---|---|---|---|---|---|---| | Model availability | Yes | Yes (11 ids, no Mythos) | Yes (8 ids) | Yes (ARN ids + newer via InvokeModel) | Yes (15 ids) | Yes (11 ids, hosting split) | | Streaming | Yes SSE | Yes SSE | Yes SSE | Yes EventStream | Yes (SDK; `:streamRawPredict`) | Yes SSE | | Tool use (client tools: bash, text editor, memory) | Yes | Yes | Yes | Yes | Yes | Yes | | Web search | Yes | Yes | No | No | Partial ᵃ | Partial ᵇ | | Web fetch | Yes | Yes | No | No | No | Partial ᵇ | | Code execution | Yes | Yes | No | No | No | Partial ᶜ | | Computer use | Yes (toolset) | Partial ᵈ | Partial ᵈ | Partial ᵈ | Yes (toolset) | Partial ᵈ | | Browser use | Yes | No | No | No | Yes | No | | Tool search | Yes | Yes | Yes | Partial (InvokeModel only) | Yes | Yes | | Programmatic tool calling | Yes | Yes | No | No | No | Partial ᶜ | | Advisor tool (beta `advisor-tool-2026-03-01`) | Yes | Yes | No | No | No | No | | Prompt caching 5 m | Yes | Yes | Yes | Yes | Yes | Yes | | Prompt caching 1 h | Yes | Yes | Yes | Yes | Yes | Yes | | Automatic prompt caching (top-level `cache_control`) | Yes | Yes | Yes | No (400) | Yes | Yes | | Structured outputs | Yes | Yes | **No** ᵉ | Yes (5 models) | Yes | Yes | | Extended thinking, manual `enabled` (model-gated) | Yes | Yes | Yes | Yes | Yes | Yes | | Adaptive thinking | Yes | Yes | Yes | Yes | Yes | Yes | | Interleaved thinking (`interleaved-thinking-2025-05-14` for manual mode) | Yes | Yes | Yes ᶠ | Yes ᶠ | Yes ᶠ | Unknown | | Preserved-thinking controls (beta `thinking-binding-controls-2026-08-01`) | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | | Effort (top-level) | Yes | Yes | Yes | Yes | Yes | Yes | | Per-message effort (beta `mid-conversation-output-config-2026-07-01`) | Yes | Unknown | Unknown | Unknown | Yes | Unknown | | Fast mode (`fast-mode-2026-02-01`) | Yes (preview) | No | No | No | No | No | | Files API | Yes | Yes (beta) | No | No | No | Partial ᶜ (beta) | | PDF support | Yes | Yes | Yes (base64) | Yes (Converse needs citations) | Yes (base64) | Yes | | Vision (image input) | Yes | Yes | Yes (base64, 5 MB) | Yes (base64, 5 MB) | Yes (base64, 5 MB) | Yes | | Citations | Yes | Yes | Yes | Yes | Yes | Yes | | Search results blocks | Yes | Yes | Yes | Yes | Yes | Yes | | Message Batches (+ `output-300k-2026-03-24`) | Yes | Yes | No | No | No | No | | count_tokens | Yes | Yes | Yes ¹ | Yes ¹ | Yes ¹ | Yes ¹ | | Models API | Yes | Yes | No | No | No | No | | Admin API | Yes | Partial | No | No | No | No | | Usage & Cost API | Yes | No | No | No | No | No | | Compliance API | Yes | Yes | No | No | No | No | | Managed Agents | Yes | Yes ᵍ | No | No | No | No | | Agent Skills | Yes | Yes (beta) | No | No | No | Partial ᶜ (beta) | | MCP connector (beta `mcp-client-2025-11-20`) | Yes | Yes (no MCP tunnels) | No | No | No | Yes | | Context editing (beta `context-management-2025-06-27`) | Yes | Yes | Yes | Yes | Yes | Yes | | Compaction, threshold (beta `compact-2026-01-12`) | Yes | Yes | Yes | Yes | Yes | Yes | | Compaction, on-demand (beta `compact-2026-09-04`) | Yes | Unknown | No | No | No | Unknown | | 1M context window | Yes | Yes | Yes ʰ | Yes ʰ | Yes ʰ | Yes ʰ | | Task budgets (beta `task-budgets-2026-03-13`) | Yes | Unknown | Unknown | Unknown | Unknown | Unknown | | Fallback credit (beta `fallback-credit-2026-07-01`) | Yes | Yes | Yes ⁱ | Yes ⁱ | Yes ⁱ | Yes ⁱ | | Server-side fallback (`fallbacks`, beta `server-side-fallback-2026-07-01`) | Yes | No ʲ | No | No | No | No | | Data residency `inference_geo` | Yes | Yes | Partial (endpoint) | Partial (prefix) | Partial (endpoint) | Partial (US Data Zone) | | Beta header mechanics | Yes (header / SDK `betas`) | Yes (pass-through) | No | No ᵏ | Unknown ᵏ | Unknown | | `usage` object in response | Yes | Yes | Yes | Yes | Yes | Yes | | `anthropic-ratelimit-*` headers | Yes | Unknown | Unknown | Unknown | Unknown | No | | Request-id headers | `request-id` | `x-amzn-requestid` + `request-id` | `request-id` | Unknown | Unknown | `request-id` + `apim-request-id` | | Mid-conversation system messages | Yes | Unknown | Yes | Partial (InvokeModel, Mantle-served models) | Yes | Unknown | | Fine-grained tool streaming (`eager_input_streaming`) | Yes | Yes | Yes | Yes | Yes | Yes | | Cache diagnostics (beta `cache-diagnosis-2026-04-07`) | Yes | No | No | No | No | No | | CMEK | Yes | Yes (AWS KMS only) | Unknown | Unknown | Unknown | Unknown | | HIPAA-ready program | Yes | No | Partial (AWS program) | Partial | Unknown | No | | Zero data retention | Yes | Yes (on request) | Partial (AWS is processor) | Partial | Partial (Google is processor) | Unknown | | OpenAI-compatible endpoint | Yes | No | Unknown | Unknown | Unknown | Unknown | Footnotes: ᵃ basic `web_search_20250305` only (no dynamic filtering). ᵇ Hosted on Azure: basic versions `web_search_20250305` / `web_fetch_20250910` only; Hosted on Anthropic: all versions. ᶜ Hosted on Anthropic deployments only; Hosted on Azure returns 400. ᵈ `computer_toolset_20260801` unavailable; earlier beta versions `computer_20251124` (`computer-use-2025-11-24`) and `computer_20250124` (`computer-use-2025-01-24`) remain. ᵉ Contradiction: the Bedrock (Mantle) page lists structured outputs under "not supported", the Features overview lists Bedrock with a footnote limited to Opus 4.6 / Sonnet 4.6 / Sonnet 4.5 / Opus 4.5 / Haiku 4.5 — i.e. the legacy-integration models. ᶠ Header accepted on any model without error, ignored where unsupported (Haiku 4.5 never supports it). ᵍ 6-hour autonomous-session reauthentication; no memory stores on self-hosted environments. ʰ 1M on Fable 5.1/5, Opus 5/4.8/4.7/4.6, Sonnet 5/4.6 (Bedrock Mantle: not Opus 4.6 which is legacy-path); Haiku 4.5 and Sonnet 4.5 = 200k. ⁱ Token bound to caller identity (no workspaces) on Bedrock/Google Cloud; `allowed_fallback_models` not exposed on partners/Foundry; `fallback_credit` field may be absent while rollout continues. ʲ Features overview marks server-side fallback as Claude API beta only; CPA page does not list it as unsupported — treated as No. ᵏ Thinking/mid-conversation pages say "on Amazon Bedrock, Google Cloud, and Microsoft Foundry, pass the beta value as described in Beta headers", but the Beta headers page in this snapshot only documents the `anthropic-beta` header; no body-level `anthropic_beta` array is documented anywhere in the corpus (grep `anthropic_beta` = 0 hits). Bedrock comparison table states the header is "not supported". --- ## 7. Model × Platform id table Status column = Claude API lifecycle (`about-claude/model-deprecations`); partner platforms set their own dates (Bedrock/Google), Foundry and Claude Platform on AWS follow Anthropic's. | Model (display) | Status | Claude API id (alias) | Bedrock Messages-API id | Bedrock legacy id → inference profiles | Google Cloud id | Foundry deployment (hosting) | Claude Platform on AWS id | |---|---|---|---|---|---|---|---| | Claude Fable 5.1 | Active, latest | `claude-fable-5-1` | `anthropic.claude-fable-5-1` (regional: us-east-1 only) | via InvokeModel, no ARN id | `claude-fable-5-1` | `claude-fable-5-1` (Anthropic) | `claude-fable-5-1` | | Claude Mythos 5.1 | Active, invite only | `claude-mythos-5-1` | `anthropic.claude-mythos-5-1` | — | `claude-mythos-5-1` | `claude-mythos-5-1` | not listed | | Claude Fable 5 | Legacy | `claude-fable-5` | `anthropic.claude-fable-5` | via InvokeModel | `claude-fable-5` | `claude-fable-5` (Anthropic) | `claude-fable-5` | | Claude Mythos 5 | Legacy, invite only | `claude-mythos-5` | `anthropic.claude-mythos-5` | — | `claude-mythos-5` | `claude-mythos-5` | not listed | | Claude Mythos Preview | Deprecated (2026-06-09) | `claude-mythos-preview` | `anthropic.claude-mythos-preview` (us-east-1, allowlist) | — | available by invitation (id not given) | available by invitation (id not given) | not listed | | Claude Opus 5 | Active, latest | `claude-opus-5` | `anthropic.claude-opus-5` (access criteria) | via InvokeModel | `claude-opus-5` | `claude-opus-5` (Azure + Anthropic) | `claude-opus-5` | | Claude Opus 4.8 | Legacy | `claude-opus-4-8` | `anthropic.claude-opus-4-8` | via InvokeModel | `claude-opus-4-8` | `claude-opus-4-8` (Azure + Anthropic) | `claude-opus-4-8` | | Claude Opus 4.7 | Legacy | `claude-opus-4-7` | `anthropic.claude-opus-4-7` | via InvokeModel | `claude-opus-4-7` | `claude-opus-4-7` (Anthropic) | `claude-opus-4-7` | | Claude Opus 4.6 | Legacy | `claude-opus-4-6` | — | `anthropic.claude-opus-4-6-v1` → global/us/eu/jp/apac | `claude-opus-4-6` | `claude-opus-4-6` (Anthropic) | `claude-opus-4-6` | | Claude Opus 4.5 | Legacy | `claude-opus-4-5-20251101` (`claude-opus-4-5`) | — | `anthropic.claude-opus-4-5-20251101-v1:0` → global/us/eu | `claude-opus-4-5@20251101` | `claude-opus-4-5` (Anthropic) | `claude-opus-4-5` | | Claude Opus 4.1 | Retired on API 2026-08-05 | `claude-opus-4-1-20250805` | — | `anthropic.claude-opus-4-1-20250805-v1:0` → us (deprecated) | `claude-opus-4-1@20250805` (deprecated) | — | — | | Claude Opus 4 | Retired on API 2026-06-15 | `claude-opus-4-20250514` | — | retired | `claude-opus-4@20250514` (deprecated) | — | — | | Claude Sonnet 5 | Active, latest | `claude-sonnet-5` | `anthropic.claude-sonnet-5` | via InvokeModel | `claude-sonnet-5` | `claude-sonnet-5` (Azure + Anthropic) | `claude-sonnet-5` | | Claude Sonnet 4.6 | Legacy | `claude-sonnet-4-6` | — | `anthropic.claude-sonnet-4-6` → global/us/eu/jp | `claude-sonnet-4-6` | `claude-sonnet-4-6` (Anthropic) | `claude-sonnet-4-6` | | Claude Sonnet 4.5 | Legacy | `claude-sonnet-4-5-20250929` (`claude-sonnet-4-5`) | — | `anthropic.claude-sonnet-4-5-20250929-v1:0` → global/us/eu/jp | `claude-sonnet-4-5@20250929` | `claude-sonnet-4-5` (Anthropic) | `claude-sonnet-4-5` | | Claude Sonnet 4 | Retired on API 2026-06-15 | `claude-sonnet-4-20250514` | — | `anthropic.claude-sonnet-4-20250514-v1:0` → global/us/eu/apac (deprecated) | `claude-sonnet-4@20250514` (deprecated) | — | — | | Claude Sonnet 3.7 | Retired 2026-02-19 | `claude-3-7-sonnet-20250219` | — | retired | — | — | — | | Claude Haiku 4.5 | Active, latest | `claude-haiku-4-5-20251001` (`claude-haiku-4-5`) | `anthropic.claude-haiku-4-5` | `anthropic.claude-haiku-4-5-20251001-v1:0` → global/us/eu | `claude-haiku-4-5@20251001` | `claude-haiku-4-5` (Azure + Anthropic) | `claude-haiku-4-5` | | Claude Haiku 3.5 | Retired on API 2026-02-19 | `claude-3-5-haiku-20241022` | — | `anthropic.claude-3-5-haiku-20241022-v1:0` → us (deprecated) | `claude-3-5-haiku@20241022` (deprecated) | — | — | Id-format rules (`model-ids-and-versions`): 4.6+ dateless `claude-{name}-{major}[-{minor}]` ↔ Bedrock `anthropic.claude-…` (Opus 4.6 is the last with `-v1`) ↔ Google identical; pre-4.6 dated `claude-…-{YYYYMMDD}` ↔ Bedrock `anthropic.claude-…-{YYYYMMDD}-v1:0` ↔ Google `claude-…@{YYYYMMDD}`. Dateless ids are pinned snapshots, not evergreen aliases. Claude Code `/claude-api migrate` rewrites ids per platform. --- ## 8. Notable gaps and contradictions 1. **Structured outputs on Bedrock**: platform page (Mantle) says *not supported*; Features overview says supported with a model footnote covering only legacy-path models. Recorded as No (Mantle) / Yes (legacy, 5 models). 2. **Beta mechanics on partner platforms**: several feature pages point to "Beta headers" for Bedrock/Google Cloud/Foundry, but that page has no partner section and no `anthropic_beta` body field exists in the corpus; the CPA comparison table says the header is *not supported* on Bedrock. Yet Bedrock/Google Cloud are listed as (beta) for compaction, context editing, fallback credit, computer-use beta versions and accept `interleaved-thinking-2025-05-14`. How those betas are switched on there is undocumented → **Unknown**. 3. `count_tokens` paths on Bedrock, Google Cloud and Foundry are not shown (only "available" in the overview) → endpoint records flagged `DOCUMENTATION_INCOMPLETE`. 4. Google Cloud streaming REST method (`:streamRawPredict`) is not in the Anthropic snapshot; only the SDK is documented as streaming. 5. Foundry supports several betas (MCP connector, Skills, Files) but the Beta-header classification note names only Claude API and Claude Platform on AWS. 6. Rate-limit response headers are documented only for the Claude API (present) and Foundry (absent). 7. Model availability nuance: Claude Platform on AWS lists no Mythos models; Bedrock Mantle omits Opus 4.6 / Sonnet 4.6 / 4.5 / Opus 4.5 (legacy path only); Foundry hosts Fable, Opus 4.7/4.6/4.5, Sonnet 4.6/4.5 on Anthropic infrastructure only. 8. Retired-on-API models (Opus 4.1, Opus 4, Sonnet 4, Haiku 3.5, Sonnet 3.7) keep separate partner lifecycles; Bedrock already lists Sonnet 3.7 and Opus 4 as retired while Google Cloud still lists Opus 4. ## 9. Examples (all UNVERIFIED, Haiku 4.5, `max_tokens: 8`, "Reply with OK.") `examples/anthropic/cloud/{bedrock,vertex,foundry}_messages.{py,ts,sh}` — records in `tmp/platform-anthropic/examples-cloud.json`. Bedrock scripts use `AnthropicBedrockMantle` / `--aws-sigv4 bedrock-mantle` with the legacy `InvokeModel` path in comments; Vertex uses `AnthropicVertex` / `gcloud auth print-access-token` + `:rawPredict`; Foundry uses `AnthropicFoundry` / `api-key` with Entra ID alternative.