diff --git a/src/client.lisp b/src/client.lisp
index 06145be..6683783 100644
--- a/src/client.lisp
+++ b/src/client.lisp
@@ -62,7 +62,10 @@
 
 (defun %camel-case-hash-table->kebab-case-plist (hash-table)
   (loop :for (key . val) :in (hash-table-alist hash-table)
-        :append (list (make-keyword (string-upcase (to-kebab-case key))) val)))
+        :append (list (make-keyword (string-upcase (to-kebab-case key)))
+                      (if (typep val 'hash-table)
+                          (%camel-case-hash-table->kebab-case-plist val)
+                          val))))
 
 (defun %build-query (query)
   (%kebab-case-plist->camel-case-alist query))