diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+0.4.0.6:
+  - ?
+
+0.4.0.5:
+  - ?
+
 0.4.0.4:
   - update README
 
diff --git a/hscim.cabal b/hscim.cabal
--- a/hscim.cabal
+++ b/hscim.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.12
 name:               hscim
-version:            0.4.0.4
+version:            0.4.0.6
 synopsis:           hscim json schema and server implementation
 description:
   The README file will answer all the questions you might have
@@ -86,7 +86,7 @@
       aeson                >=2.1.2   && <2.2
     , aeson-qq             >=0.8.4   && <0.9
     , attoparsec           >=0.14.4  && <0.15
-    , base                 >=4.17.2  && <4.19
+    , base                 >=4.17.2  && <4.21
     , bytestring           >=0.10.4  && <0.12
     , case-insensitive     >=1.2.1   && <1.3
     , email-validate       >=2.3.2   && <2.4
@@ -147,14 +147,14 @@
     -Wunused-packages
 
   build-depends:
-      base
-    , email-validate
+      base            >=4.18.2 && <4.21
+    , email-validate  >=2.3.2  && <2.4
     , hscim
-    , network-uri
-    , stm
-    , stm-containers
-    , time
-    , warp <= 3.5
+    , network-uri     >=2.6.4  && <2.7
+    , stm             >=2.5.1  && <2.6
+    , stm-containers  >=1.2.1  && <1.3
+    , time            >=1.12.2 && <1.13
+    , warp            >=3      && <3.5
 
   default-language:   Haskell2010
 
@@ -203,25 +203,25 @@
 
   build-tool-depends: hspec-discover:hspec-discover
   build-depends:
-      aeson
+      aeson                >=2.1.2  && <2.2
     , attoparsec
     , base
     , bytestring
-    , email-validate
+    , email-validate       >=2.3.2  && <2.4
     , hedgehog
-    , hscim
+    , hscim                >=0.4.0  && <0.5
     , hspec
     , hspec-expectations
     , hspec-wai
-    , http-types
+    , http-types           >=0.12.4 && <0.13
     , hw-hspec-hedgehog
     , indexed-traversable
     , microlens
     , network-uri
-    , servant
+    , servant              >=0.19   && <0.21
     , servant-server
     , stm-containers
-    , text
+    , text                 >=2.0.2  && <2.1
     , wai
     , wai-extra
 
diff --git a/src/Web/Scim/Client.hs b/src/Web/Scim/Client.hs
--- a/src/Web/Scim/Client.hs
+++ b/src/Web/Scim/Client.hs
@@ -31,6 +31,7 @@
     getUsers,
     getUser,
     postUser,
+    putUser,
     patchUser,
     deleteUser,
 
@@ -132,6 +133,15 @@
   User tag ->
   IO (StoredUser tag)
 postUser env tok = case users (scimClients env) tok of ((_ :<|> (_ :<|> r)) :<|> (_ :<|> (_ :<|> _))) -> r
+
+putUser ::
+  (HasScimClient tag) =>
+  ClientEnv ->
+  Maybe (AuthData tag) ->
+  UserId tag ->
+  User tag ->
+  IO (StoredUser tag)
+putUser env tok = case users (scimClients env) tok of ((_ :<|> (_ :<|> _)) :<|> (r :<|> (_ :<|> _))) -> r
 
 patchUser ::
   (HasScimClient tag) =>
