fix: handle delete_verification_tokens dict return and add missing response_cost to vertex passthrough logging

This commit is contained in:
Harshit28j 2026-02-26 15:51:29 +05:30
parent 296a138195
commit 4beece83c2
2 changed files with 10 additions and 9 deletions

View file

@ -2274,7 +2274,7 @@ async def delete_key_fn(
num_keys_to_be_deleted = 0
deleted_keys = []
if data.keys:
number_deleted_keys, _keys_being_deleted = await delete_verification_tokens(
deletion_response, _keys_being_deleted = await delete_verification_tokens(
tokens=data.keys,
user_api_key_cache=user_api_key_cache,
user_api_key_dict=user_api_key_dict,
@ -2283,7 +2283,7 @@ async def delete_key_fn(
num_keys_to_be_deleted = len(data.keys)
deleted_keys = data.keys
elif data.key_aliases:
number_deleted_keys, _keys_being_deleted = await delete_key_aliases(
deletion_response, _keys_being_deleted = await delete_key_aliases(
key_aliases=data.key_aliases,
prisma_client=prisma_client,
user_api_key_cache=user_api_key_cache,
@ -2295,22 +2295,22 @@ async def delete_key_fn(
else:
raise ValueError("Invalid request type")
if number_deleted_keys is None:
if deletion_response is None:
raise ProxyException(
message="Failed to delete keys got None response from delete_verification_token",
type=ProxyErrorTypes.internal_server_error,
param="keys",
code=status.HTTP_500_INTERNAL_SERVER_ERROR,
)
verbose_proxy_logger.debug(f"/key/delete - deleted_keys={number_deleted_keys}")
verbose_proxy_logger.debug(f"/key/delete - deletion_response={deletion_response}")
try:
assert num_keys_to_be_deleted == len(deleted_keys)
except Exception:
actually_deleted = deletion_response.get("deleted_keys", [])
failed_tokens = deletion_response.get("failed_tokens", [])
if len(actually_deleted) != num_keys_to_be_deleted:
raise HTTPException(
status_code=400,
detail={
"error": f"Not all keys passed in were deleted. This probably means you don't have access to delete all the keys passed in. Keys passed in={num_keys_to_be_deleted}, Deleted keys ={number_deleted_keys}"
"error": f"Not all keys passed in were deleted. This probably means you don't have access to delete all the keys passed in. Keys passed in={num_keys_to_be_deleted}, Deleted keys={len(actually_deleted)}, Failed tokens={failed_tokens}"
},
)
@ -2324,7 +2324,7 @@ async def delete_key_fn(
keys_being_deleted=_keys_being_deleted,
user_api_key_dict=user_api_key_dict,
litellm_changed_by=litellm_changed_by,
response=number_deleted_keys,
response=deletion_response,
)
)

View file

@ -555,6 +555,7 @@ class VertexPassthroughLoggingHandler:
logging_obj.model = litellm_model_response.model or model
logging_obj.model_call_details["model"] = logging_obj.model
logging_obj.model_call_details["custom_llm_provider"] = custom_llm_provider
logging_obj.model_call_details["response_cost"] = response_cost
return kwargs
@staticmethod