For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
WebsiteStatusSupportDashboard
DocumentationAPI ReferenceMCPSDKsCLI (new)What's New?
DocumentationAPI ReferenceMCPSDKsCLI (new)What's New?
  • Get started
    • Introduction
    • Phone calls
    • Web calls
    • Vapi Guides
    • Composer
    • CLI quickstart
  • Assistants
    • Quickstart
    • Tools
    • Custom keywords
    • Custom voices
    • Custom transcriber
    • Custom TTS
  • Observability
    • Boards
  • Squads
    • Quickstart
    • Overview
    • Handoff tool
    • Passing data between assistants
  • Best practices
    • Prompting guide
    • Debugging voice agents
    • Enterprise environments (DEV/UAT/PROD)
    • IVR navigation
  • Phone numbers
    • Free Vapi number
    • Inbound SMS
    • Phone Number Hooks
  • Calls
    • Call end reasons
    • Troubleshoot call errors
  • Outbound Campaigns
    • Quickstart
    • Overview
  • Chat
    • Quickstart
    • Streaming
    • Non-streaming
    • OpenAI compatibility
    • Session management
    • Variable substitution
    • SMS chat
    • Web widget
    • Webhooks
  • Workflows
    • Quickstart
    • Overview
      • FAQ
          • OpenAI
          • Azure OpenAI
          • Anthropic Bedrock
          • Gemini
          • Groq
          • DeepInfra
          • Perplexity
          • TogetherAI
          • OpenRouter
      • Support
LogoLogo
WebsiteStatusSupportDashboard
On this page
  • Prerequisites
  • Configuration steps
  • Example credential configuration
  • Benefits of using Anthropic Bedrock
  • Troubleshooting
  • Common error: “Access Denied”
  • Common error: “Invalid External ID”
  • Common error: “Model access denied”
  • Common error: “Region not supported”
ResourcesIntegrationsLarge language models

Anthropic Bedrock

Use Anthropic Claude models via AWS Bedrock with your own AWS resources
Was this page helpful?
Edit this page
Previous

Gemini by Google

What is Gemini?
Next
Built with

What is Anthropic Bedrock?

Amazon Bedrock is a fully managed service that provides access to foundation models from leading AI companies, including Anthropic’s Claude models. With Bedrock, you can use Claude models through AWS infrastructure, benefiting from enterprise-grade security, regional data residency, and seamless integration with your existing AWS environment.

Custom Anthropic Bedrock Integration with Vapi:

Vapi’s Anthropic Bedrock integration allows you to connect your own AWS Bedrock resources to power voice assistants with Claude models. This enables you to maintain full control over your AWS billing, use your own rate limits, and ensure data stays within your AWS environment.

Prerequisites

Before configuring Anthropic Bedrock with Vapi, ensure you have:

  • An active AWS account with Bedrock access enabled
  • Model access granted for Anthropic Claude models in your Bedrock console
  • IAM permissions to create roles and policies

Configuration steps

1

Create an IAM Role in AWS

Create a new IAM role that Vapi will assume to access your Bedrock resources.

  1. Go to the IAM Console in AWS
  2. Navigate to Roles and click Create role
  3. Select Custom trust policy as the trusted entity type
  4. Add the trust policy from the next step

Choose a descriptive name for your role, such as VapiBedrockRole, so you can easily identify its purpose.

2

Attach the Trust Policy

Configure the trust policy to allow Vapi’s AWS account to assume this role.

Without External ID
With External ID

Use this simpler policy if you don’t need the additional security of an External ID:

Trust Policy (Basic)
1{
2 "Version": "2012-10-17",
3 "Statement": [
4 {
5 "Effect": "Allow",
6 "Principal": {
7 "AWS": "arn:aws:iam::533267069243:root"
8 },
9 "Action": "sts:AssumeRole"
10 }
11 ]
12}

About External ID: The External ID is an optional security feature that provides an additional layer of protection for cross-account access. If you choose to use one, specify the same value in both your IAM trust policy and the Vapi credential configuration.

3

Attach the Permissions Policy

Create and attach a permissions policy that grants access to Bedrock model invocation.

Broad Access
Restrictive Access

Use this policy to grant access to all Anthropic models across all regions:

Permissions Policy (All Models)
1{
2 "Version": "2012-10-17",
3 "Statement": [
4 {
5 "Effect": "Allow",
6 "Action": [
7 "bedrock:InvokeModel",
8 "bedrock:InvokeModelWithResponseStream"
9 ],
10 "Resource": [
11 "arn:aws:bedrock:*::foundation-model/anthropic.*",
12 "arn:aws:bedrock:*:*:inference-profile/us.anthropic.*"
13 ]
14 }
15 ]
16}

To attach the policy:

  1. In the IAM Console, go to Policies and click Create policy
  2. Select JSON and paste your chosen policy
  3. Name the policy (e.g., VapiBedrockInvokePolicy)
  4. Attach the policy to your IAM role
4

Create the Vapi Credential

Use the Vapi API to create a credential with your AWS role information:

Create Credential via API
$curl -X POST "https://api.vapi.ai/credential" \
> -H "Authorization: Bearer YOUR_VAPI_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "provider": "anthropic-bedrock",
> "region": "us-east-1",
> "authenticationPlan": {
> "type": "aws-sts",
> "roleArn": "arn:aws:iam::YOUR_AWS_ACCOUNT_ID:role/VapiBedrockRole",
> "externalId": "your-optional-external-id"
> }
> }'
FieldDescription
providerMust be anthropic-bedrock
regionAWS region where Bedrock is enabled (e.g., us-east-1)
authenticationPlan.typeMust be aws-sts for role assumption
authenticationPlan.roleArnThe ARN of the IAM role you created
authenticationPlan.externalIdOptional: Your chosen External ID for additional security

If you don’t need an External ID, you can remove the Condition block from your trust policy entirely.

Example credential configuration

Here is a complete example of a Vapi credential configuration for Anthropic Bedrock:

Credential Configuration
1{
2 "provider": "anthropic-bedrock",
3 "region": "us-east-1",
4 "authenticationPlan": {
5 "type": "aws-sts",
6 "roleArn": "arn:aws:iam::123456789012:role/VapiBedrockRole",
7 "externalId": "my-secure-external-id"
8 }
9}

Benefits of using Anthropic Bedrock

Enterprise security:

  • Data residency control with regional deployments
  • Enterprise-grade security and compliance (SOC 2, HIPAA eligible, etc.)
  • Private VPC connectivity options through AWS

Custom rate limits:

  • Use your own AWS Bedrock quotas and rate limits
  • Avoid shared resource constraints
  • Predictable costs and billing through AWS

AWS ecosystem integration:

  • Seamless integration with existing AWS infrastructure
  • Use AWS CloudWatch for monitoring and logging
  • Leverage AWS IAM for fine-grained access control

Troubleshooting

Common error: “Access Denied”

  • Cause: The IAM role trust policy doesn’t allow Vapi to assume the role
  • Solution: Verify the trust policy includes Vapi’s AWS account ID (533267069243) and the correct External ID

Common error: “Invalid External ID”

  • Cause: The External ID in your trust policy doesn’t match the one in your Vapi credential
  • Solution: Ensure the externalId value in your Vapi credential exactly matches the sts:ExternalId in your IAM trust policy. If you’re not using an External ID, remove the Condition block from your trust policy

Common error: “Model access denied”

  • Cause: The IAM permissions policy doesn’t grant access to the requested model, or model access isn’t enabled in Bedrock
  • Solution:
    1. Verify the permissions policy includes the correct model ARNs
    2. Ensure you’ve enabled access to the model in the AWS Bedrock console

Common error: “Region not supported”

  • Cause: The specified region doesn’t have Bedrock or the requested model available
  • Solution: Use a supported region such as us-east-1, us-west-2, or eu-west-1