# What are common mistakes or misconfigurations that could cause a Bedrock integration to fail (such as wrong endpoint URLs, incorrect request payload format, or missing parameters)?

Source: https://zilliz.com/ai-faq/what-are-common-mistakes-or-misconfigurations-that-could-cause-a-bedrock-integration-to-fail-such-as-wrong-endpoint-urls-incorrect-request-payload-format-or-missing-parameters
Author: zilliz

**Common Mistakes in Bedrock Integrations** 
The most frequent issues stem from incorrect endpoint configurations. Amazon Bedrock requires region-specific endpoints (e.g., `us-east-1` vs. `us-west-2`), and using the wrong region or an outdated URL will block access. For example, invoking `claude-v2` in `us-east-1` requires the endpoint `bedrock-runtime.us-east-1.amazonaws.com`—a typo or mismatched region here causes immediate failure. Additionally, some models may have unique service names or paths in their URLs, which developers might overlook when switching between models.

**Payload Format and Parameter Errors** 
Models in Bedrock have strict input requirements. For instance, Anthropic’s Claude expects a `prompt` field, while Cohere’s Command model uses `text_prompts`. Sending a `messages` array (common in OpenAI-style APIs) to Claude will fail. Similarly, omitting required parameters like `maxTokens` or `temperature` or using incorrect data types (e.g., a string instead of an integer for `temperature`) triggers validation errors. Developers often reuse code from other AI services without adapting the payload structure, leading to silent failures or unexpected behavior.

**IAM and Region Misconfigurations** 
Bedrock requires explicit IAM permissions (e.g., `bedrock:InvokeModel`) for the role/user making the request. Overlooking these permissions results in `AccessDenied` errors. Region mismatches are another pitfall: if the AWS SDK is configured for `eu-central-1` but the model is only available in `us-west-2`, the call fails. Developers might also forget to enable model access in the Bedrock console before invoking it. For example, models like Claude require manual activation via the UI/API, and skipping this step blocks all requests to that model. Finally, omitting retry logic for throttling (e.g., handling `429 Too Many Requests`) can cause avoidable failures under load.
