diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java
index 132087463d5a3068d9c23e6e79f19246667c3e72..66e4082973b8017e4948cd14bf7b91e06bdb3ed2 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java
@@ -28,6 +28,7 @@ import jakarta.servlet.annotation.WebServlet;
 import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+import net.jami.jams.common.annotations.JsonContent;
 import net.jami.jams.common.authmodule.AuthTokenResponse;
 import net.jami.jams.common.serialization.tomcat.TomcatCustomErrorHandler;
 import net.jami.jams.server.servlets.api.auth.login.LoginRequest;
@@ -39,7 +40,8 @@ import static net.jami.jams.server.servlets.api.auth.login.AuthRequestProcessor.
 import static net.jami.jams.server.servlets.api.auth.login.AuthRequestProcessor.processX509Auth;
 
 @WebServlet("/api/login")
-//This method returns the token which is used for all the next calls to the API.
+// This method returns the token which is used for all the next calls to the
+// API.
 public class LoginServlet extends HttpServlet {
 
     /**
@@ -49,35 +51,33 @@ public class LoginServlet extends HttpServlet {
      * @apiGroup Login
      * @apiParam {header} [authorization] classical HTTP auth header
      * @apiParam {attribute} [X509Certificate] X509 User certificate
-     * @apiParam {body} [LoginRequest] username/password sent to server as JSON object
+     * @apiParam {body} [LoginRequest] username/password sent to server as JSON
+     *           object
      *
      * @apiSuccess (200) {body} AuthTokenResponse the 0Auth authentication token
      * @apiError (403) {null} null The user is unauthorized
      */
     @Override
+    @JsonContent
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         AuthTokenResponse res = null;
-        //Case 1: Authorization header.
-        if(req.getHeader("authorization") != null){
+        // Case 1: Authorization header.
+        if (req.getHeader("authorization") != null) {
             res = processUsernamePasswordAuth(req.getHeader("authorization"));
         }
-        //Case 2 SSL Certificate
-        else if(req.getAttribute("jakarta.servlet.request.X509Certificate") != null){
-            res = processX509Auth((X509Certificate[])req.getAttribute("jakarta.servlet.request.X509Certificate"));
-        }
-        else{
-            //Case 3: form submitted username/password
+        // Case 2 SSL Certificate
+        else if (req.getAttribute("jakarta.servlet.request.X509Certificate") != null) {
+            res = processX509Auth((X509Certificate[]) req.getAttribute("jakarta.servlet.request.X509Certificate"));
+        } else {
+            // Case 3: form submitted username/password
             LoginRequest object = JsonIterator.deserialize(req.getInputStream().readAllBytes(), LoginRequest.class);
-            if(object.getUsername() != null && object.getPassword() != null){
+            if (object.getUsername() != null && object.getPassword() != null) {
                 res = processUsernamePasswordAuth(object.getUsername(), object.getPassword());
             }
         }
-        if(res == null) TomcatCustomErrorHandler.sendCustomError(resp,401,"Invalid credentials provided!");
-        else resp.getOutputStream().write(JsonStream.serialize(res).getBytes());
-    }
-
-    @Override
-    protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException {
-        resp.setStatus(200);
+        if (res == null)
+            TomcatCustomErrorHandler.sendCustomError(resp, 401, "Invalid credentials provided!");
+        else
+            resp.getOutputStream().write(JsonStream.serialize(res).getBytes());
     }
 }
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/contacts/ContactServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/contacts/ContactServlet.java
index 4e2a5a85bea154cff604b47757b7cd1a5e2c1e21..7f1bbc8bcd76a73c0488f3ab0ea33ff72b7fce18 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/contacts/ContactServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/contacts/ContactServlet.java
@@ -29,6 +29,7 @@ import jakarta.servlet.annotation.WebServlet;
 import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+import net.jami.jams.common.annotations.JsonContent;
 import net.jami.jams.common.annotations.ScopedServletMethod;
 import net.jami.jams.common.dao.StatementElement;
 import net.jami.jams.common.dao.StatementList;
@@ -70,6 +71,7 @@ public class ContactServlet extends HttpServlet {
      */
     @Override
     @ScopedServletMethod(securityGroups = {AccessLevel.ADMIN})
+    @JsonContent
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         StatementList statementList = new StatementList();
         statementList.addStatement(new StatementElement("owner","=",req.getParameter("username").toString(),""));
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
index 67f550dd2f4beb717914c7304ca1e6d68950634b..1128dd454d1e53a9485c5c54d15301f2aef894cd 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/directory/DirectoryEntryServlet.java
@@ -31,6 +31,7 @@ import jakarta.servlet.http.HttpServlet;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
+import net.jami.jams.common.annotations.JsonContent;
 import net.jami.jams.common.annotations.ScopedServletMethod;
 import net.jami.jams.common.authentication.AuthenticationSourceType;
 import net.jami.jams.common.authmodule.AuthModuleKey;
@@ -54,6 +55,7 @@ public class DirectoryEntryServlet extends HttpServlet {
 
     @Override
     @ScopedServletMethod(securityGroups = {AccessLevel.ADMIN})
+    @JsonContent
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         //Create a user profile.
         String realm = "LOCAL";
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java
index 06de870081f1af41b834957aaf6ca55c94dfd067..eabe92fe596b0d2c8932ce36197631b7c49b7e60 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/update/SubscriptionServlet.java
@@ -57,6 +57,7 @@ public class SubscriptionServlet extends HttpServlet {
     // on disk..
     @Override
     @ScopedServletMethod(securityGroups = {AccessLevel.ADMIN})
+    @JsonContent
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         String license = new String(req.getInputStream().readAllBytes());
         final JSONObject obj = new JSONObject(license);
diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
index 842d76c30cbfa93ad39a9b51a0a34071ab376686..43ad9b34e21cc73856eaf6d284dee89c02cf38b9 100644
--- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
+++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/admin/users/UserServlet.java
@@ -88,6 +88,7 @@ public class UserServlet extends HttpServlet {
     //Create an internal user - this is always technically available, because internal users have the right to exist.
     @Override
     @ScopedServletMethod(securityGroups = {AccessLevel.ADMIN})
+    @JsonContent
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         final JSONObject obj = new JSONObject(req.getReader().lines().collect(Collectors.joining(System.lineSeparator())));
         String pw = obj.getString("password");