diff --git a/scripts/validate_response.py b/scripts/validate_response.py
index 1536bd2dd52bd6cac64fea1d2e393c0ff168f015..762a5b45c5f92ab1a791ff163bafe9bd0038b9c1 100644
--- a/scripts/validate_response.py
+++ b/scripts/validate_response.py
@@ -105,7 +105,13 @@ def compare_response_with_pattern(response, method=None, directory=None, ignore_
     os.remove(response_fname)
 
   response_json = response.json()
-  error = response_json.get("error", None)
+
+  error = None
+  if isinstance(response_json, dict) and all(key in response_json.keys() for key in ["code", "details", "hint", "message"]):
+    error = response_json
+  elif "error" in response_json:
+    error = response_json["error"]
+
   if os.getenv("IS_DIRECT_CALL_HAFAH", "").lower() == "true":
     result = response_json
   else: