diff --git a/client/src/services/conversation.js b/client/src/services/conversation.js
new file mode 100644
index 0000000..f6b0f49
--- /dev/null
+++ b/client/src/services/conversation.js
@@ -0,0 +1,34 @@
+import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
+import axios from "axios"
+
+export const useConversationQuery = (accountId, conversationId) => {
+    return useQuery(
+        ["conversation", accountId, conversationId],
+        () => fetchConversation(accountId, conversationId),
+        {
+            "enabled": !!(accountId && conversationId),
+        }
+    )
+}
+
+export const useMessagesQuery = (accountId, conversationId) => {
+    return useQuery(
+        ["messages", accountId, conversationId],
+        () => fetchMessages(accountId, conversationId),
+        {
+            "enabled": !!(accountId && conversationId),
+        }
+    )
+}
+
+const fetchConversation = (accountId, conversationId) => (
+    axios
+    .get(`/api/accounts/${accountId}/conversations/${conversationId}`)
+    .then((result) => result.data)
+)
+
+const fetchMessages = (accountId, conversationId) => (
+    axios
+    .get(`/api/accounts/${accountId}/conversations/${conversationId}/messages`)
+    .then((result) => result.data)
+)
\ No newline at end of file
