{"record":{"id":"7688f95ce369a875","repo":"BerriAI/litellm","slug":"invalid-encrypted-content","errorCode":"invalid_encrypted_content","errorMessage":"AzureException - {message}\n\nThis error occurs when load balancing Responses API across deployments with different API keys.\n   Encrypted content is tied to the organization that created it and cannot be decrypted by other organizations.\n\n   Solution: Enable 'encrypted_content_affinity' to route follow-up requests to the correct deployment:\n\n   router_settings:\n     enable_pre_call_checks: true\n     optional_pre_call_checks:\n       - encrypted_content_affinity\n\n   Learn more: https://docs.litellm.ai/docs/response_api#encrypted-content-affinity-multi-region-load-balancing","messagePattern":"AzureException - \\{message\\}\n\nThis error occurs when load balancing Responses API across deployments with different API keys\\.\n   Encrypted content is tied to the organization that created it and cannot be decrypted by other organizations\\.\n\n   Solution: Enable 'encrypted_content_affinity' to route follow-up requests to the correct deployment:\n\n   router_settings:\n     enable_pre_call_checks: true\n     optional_pre_call_checks:\n       - encrypted_content_affinity\n\n   Learn more: https://docs\\.litellm\\.ai/docs/response_api#encrypted-content-affinity-multi-region-load-balancing","errorType":"exception","errorClass":"BadRequestError","httpStatus":400,"severity":"error","filePath":"litellm/litellm_core_utils/exception_mapping_utils.py","lineNumber":1945,"sourceCode":"        raise AzureOpenAIExceptionMapping.create_content_policy_violation_error(\n            message=message,\n            model=model,\n            extra_information=extra_information,\n            original_exception=original_exception,\n        )\n    elif azure_error_code == \"invalid_encrypted_content\" or \"could not be verified\" in error_str:\n        helpful_message: Final = (\n            f\"AzureException - {message}\\n\\n\"\n            \"This error occurs when load balancing Responses API across deployments with different API keys.\\n\"\n            \"   Encrypted content is tied to the organization that created it and cannot be decrypted by other organizations.\\n\\n\"\n            \"   Solution: Enable 'encrypted_content_affinity' to route follow-up requests to the correct deployment:\\n\\n\"\n            \"   router_settings:\\n\"\n            \"     enable_pre_call_checks: true\\n\"\n            \"     optional_pre_call_checks:\\n\"\n            \"       - encrypted_content_affinity\\n\\n\"\n            \"   Learn more: https://docs.litellm.ai/docs/response_api#encrypted-content-affinity-multi-region-load-balancing\"\n        )\n        raise BadRequestError(\n            message=helpful_message,\n            llm_provider=\"azure\",\n            model=model,\n            litellm_debug_info=extra_information,\n            response=getattr(original_exception, \"response\", None),\n            body=getattr(original_exception, \"body\", None),\n        )\n    elif \"invalid_request_error\" in error_str and getattr(original_exception, \"status_code\", None) in (None, 400):\n        raise BadRequestError(\n            message=f\"AzureException BadRequestError - {message}\",\n            llm_provider=\"azure\",\n            model=model,\n            litellm_debug_info=extra_information,\n            response=getattr(original_exception, \"response\", None),\n            body=getattr(original_exception, \"body\", None),\n        )\n    elif \"The api_key client option must be set either by passing api_key to the client or by setting\" in error_str:\n        raise AuthenticationError(","sourceCodeStart":1927,"sourceCodeEnd":1963,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/litellm_core_utils/exception_mapping_utils.py#L1927-L1963","documentation":"Error \"AzureException - {message}\n\nThis error occurs when load balancing Responses API across deployments with different API keys.\n   Encrypted content is tied to the organization that created it and cannot be decrypted by other organizations.\n\n   Solution: Enable 'encrypted_content_affinity' to route follow-up requests to the correct deployment:\n\n   router_settings:\n     enable_pre_call_checks: true\n     optional_pre_call_checks:\n       - encrypted_content_affinity\n\n   Learn more: https://docs.litellm.ai/docs/response_api#encrypted-content-affinity-multi-region-load-balancing\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/litellm_core_utils/exception_mapping_utils.py:1945 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Enable 'encrypted_content_affinity' pre-call check so follow-up requests route to the deployment that created the encrypted content.","Use a single Azure deployment/API key per Responses API conversation."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}