code: @Patch("/tokens/{appId}")
      @Consumes("application/json-patch+json")
      public CompletableFuture<Token> updateToken(ServiceRequestContext ctx,
                                                  @Param("appId") String appId,
                                                  JsonNode node, Author author, User loginUser) {
          if (node.equals(activation)) {
              return getTokenOrRespondForbidden(ctx, appId, loginUser).thenCompose(
                      token -> mds.activateToken(author, appId)
                                  .thenApply(unused -> token.withoutSecret()));
          }
          if (node.equals(deactivation)) {
              return getTokenOrRespondForbidden(ctx, appId, loginUser).thenCompose(
                      token -> mds.deactivateToken(author, appId)
                                  .thenApply(unused -> token.withoutSecret()));
          }
          throw new IllegalArgumentException("Unsupported JSON patch: " + node +
                                             " (expected: " + activation + " or " + deactivation + ')');
      }
docs: PATCH /tokens/{appId}
  
  <p>Activates or deactivates the token of the specified {@code appId}.