diff --git a/pinecone/openapi_support/api_client.py b/pinecone/openapi_support/api_client.py index afd6b96c..06b1cfe0 100644 --- a/pinecone/openapi_support/api_client.py +++ b/pinecone/openapi_support/api_client.py @@ -212,8 +212,9 @@ def __call_api( response_info = extract_response_info(headers) if isinstance(return_data, dict): return_data["_response_info"] = response_info - else: + elif not isinstance(return_data, (str, int, float, bool, list, tuple, bytes, type(None))): # Dynamic attribute assignment on OpenAPI models + # Skip primitive types that don't support setattr setattr(return_data, "_response_info", response_info) if _return_http_data_only: diff --git a/pinecone/openapi_support/asyncio_api_client.py b/pinecone/openapi_support/asyncio_api_client.py index 58a3a869..c274494d 100644 --- a/pinecone/openapi_support/asyncio_api_client.py +++ b/pinecone/openapi_support/asyncio_api_client.py @@ -177,8 +177,9 @@ async def __call_api( response_info = extract_response_info(headers) if isinstance(return_data, dict): return_data["_response_info"] = response_info - else: + elif not isinstance(return_data, (str, int, float, bool, list, tuple, bytes, type(None))): # Dynamic attribute assignment on OpenAPI models + # Skip primitive types that don't support setattr setattr(return_data, "_response_info", response_info) if _return_http_data_only: