diff --git a/avers-server.cabal b/avers-server.cabal
--- a/avers-server.cabal
+++ b/avers-server.cabal
@@ -1,7 +1,7 @@
 name:                avers-server
-version:             0.0.18.0
+version:             0.0.19.0
 synopsis:            Server implementation of the Avers API
-description:         See README.md
+description:         Server implementation of the Avers API
 homepage:            http://github.com/wereHamster/avers-server
 license:             MIT
 license-file:        LICENSE
diff --git a/src/Avers/Server.hs b/src/Avers/Server.hs
--- a/src/Avers/Server.hs
+++ b/src/Avers/Server.hs
@@ -218,7 +218,7 @@
 
     ----------------------------------------------------------------------------
     serveObjectChanges :: Server ObjectChanges
-    serveObjectChanges objId _cred req respond = respond $
+    serveObjectChanges objId _cred = Tagged $ \req respond -> respond $
         case websocketsApp WS.defaultConnectionOptions wsApp req of
             Nothing  -> responseLBS status500 [] "Failed"
             Just res -> res
@@ -260,7 +260,7 @@
 
     ----------------------------------------------------------------------------
     serveFeed :: Server Feed
-    serveFeed _cred req respond = respond $
+    serveFeed _cred = Tagged $ \req respond -> respond $
         case websocketsApp WS.defaultConnectionOptions wsApp req of
             Nothing  -> responseLBS status500 [] "This is a WebSocket endpoint"
             Just res -> res
@@ -293,8 +293,12 @@
 
     ----------------------------------------------------------------------------
     serveChangeSecret :: Server ChangeSecret
-    serveChangeSecret _ _ = do
-        throwError err501
+    serveChangeSecret cred ChangeSecretBody{..} = do
+        reqAvers aversH $ do
+            Session{..} <- case cred of
+                SessionIdCredential sId -> lookupSession sId
+
+            updateSecret (SecretId $ unObjId sessionObjId) csbNewSecret
 
 
     ----------------------------------------------------------------------------
