diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
index ddcf0c3..56ef572 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
@@ -32,17 +32,17 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.apache.directory.scim.spec.adapter.FilterWrapper;
+import org.apache.directory.scim.protocol.adapter.FilterWrapper;
 import org.apache.directory.scim.spec.annotation.ScimResourceType;
-import org.apache.directory.scim.spec.protocol.BaseResourceTypeResource;
-import org.apache.directory.scim.spec.protocol.Constants;
+import org.apache.directory.scim.protocol.BaseResourceTypeResource;
+import org.apache.directory.scim.protocol.Constants;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReference;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReferenceListWrapper;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
-import org.apache.directory.scim.spec.protocol.data.ListResponse;
-import org.apache.directory.scim.spec.protocol.data.PatchRequest;
-import org.apache.directory.scim.spec.protocol.data.SearchRequest;
-import org.apache.directory.scim.spec.protocol.exception.ScimException;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.data.ListResponse;
+import org.apache.directory.scim.protocol.data.PatchRequest;
+import org.apache.directory.scim.protocol.data.SearchRequest;
+import org.apache.directory.scim.protocol.exception.ScimException;
 import org.apache.directory.scim.spec.filter.Filter;
 import org.apache.directory.scim.spec.filter.SortOrder;
 import org.apache.directory.scim.spec.resources.ScimResource;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
index a1f247f..a93955f 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
@@ -28,7 +28,7 @@
 import jakarta.ws.rs.core.GenericType;
 import jakarta.ws.rs.core.Response;
 
-import org.apache.directory.scim.spec.protocol.ResourceTypesResource;
+import org.apache.directory.scim.protocol.ResourceTypesResource;
 import org.apache.directory.scim.spec.schema.ResourceType;
 
 public class ResourceTypesClient implements AutoCloseable {
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestException.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestException.java
index 8a6779c..adfed4f 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestException.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/RestException.java
@@ -35,7 +35,7 @@
 
 import jakarta.ws.rs.ProcessingException;
 import jakarta.ws.rs.core.Response;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 
 public class RestException extends Exception {
   private static final long serialVersionUID = 7360783673606191577L;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
index 16775ef..bc35fec 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
@@ -22,7 +22,7 @@
 import jakarta.ws.rs.client.Client;
 import jakarta.ws.rs.core.GenericType;
 
-import org.apache.directory.scim.spec.protocol.data.ListResponse;
+import org.apache.directory.scim.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.resources.ScimGroup;
 
 public class ScimGroupClient extends BaseScimClient<ScimGroup> {
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
index 746ce15..49ede61 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
@@ -25,11 +25,11 @@
 import jakarta.ws.rs.client.WebTarget;
 import jakarta.ws.rs.core.Response;
 
-import org.apache.directory.scim.spec.protocol.Constants;
-import org.apache.directory.scim.spec.protocol.SelfResource;
+import org.apache.directory.scim.protocol.Constants;
+import org.apache.directory.scim.protocol.SelfResource;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReferenceListWrapper;
-import org.apache.directory.scim.spec.protocol.data.PatchRequest;
-import org.apache.directory.scim.spec.protocol.exception.ScimException;
+import org.apache.directory.scim.protocol.data.PatchRequest;
+import org.apache.directory.scim.protocol.exception.ScimException;
 import org.apache.directory.scim.spec.resources.ScimUser;
 
 // purposefully does not extend BaseScimClient, has a different utility than other clients
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
index d5554e5..9dda2bd 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
@@ -22,7 +22,7 @@
 import jakarta.ws.rs.client.Client;
 import jakarta.ws.rs.core.GenericType;
 
-import org.apache.directory.scim.spec.protocol.data.ListResponse;
+import org.apache.directory.scim.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.resources.ScimUser;
 
 public class ScimUserClient extends BaseScimClient<ScimUser> {
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java b/scim-server/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java
index 521e36a..e91dfbe 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java
@@ -23,8 +23,8 @@
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.ws.rs.ext.ExceptionMapper;
 
-import org.apache.directory.scim.spec.protocol.ErrorMessageType;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.ErrorMessageType;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 import org.apache.directory.scim.spec.filter.FilterParseException;
 
 public class FilterParseExceptionMapper implements ExceptionMapper<FilterParseException> {
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java b/scim-server/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java
index d9f6774..af1804e 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java
@@ -21,8 +21,8 @@
 
 import jakarta.ws.rs.core.Response.Status;
 
-import org.apache.directory.scim.spec.protocol.ErrorMessageType;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.ErrorMessageType;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 import lombok.Getter;
 
 public class ScimServerException extends Exception {
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java
index f4489cd..332aae1 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java
@@ -51,15 +51,15 @@
 import org.apache.directory.scim.core.repository.extensions.ProcessingExtension;
 import org.apache.directory.scim.spec.filter.attribute.ScimRequestContext;
 import org.apache.directory.scim.core.repository.extensions.ClientFilterException;
-import org.apache.directory.scim.spec.adapter.FilterWrapper;
-import org.apache.directory.scim.spec.protocol.BaseResourceTypeResource;
-import org.apache.directory.scim.spec.protocol.ErrorMessageType;
+import org.apache.directory.scim.protocol.adapter.FilterWrapper;
+import org.apache.directory.scim.protocol.BaseResourceTypeResource;
+import org.apache.directory.scim.protocol.ErrorMessageType;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReference;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReferenceListWrapper;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
-import org.apache.directory.scim.spec.protocol.data.ListResponse;
-import org.apache.directory.scim.spec.protocol.data.PatchRequest;
-import org.apache.directory.scim.spec.protocol.data.SearchRequest;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.data.ListResponse;
+import org.apache.directory.scim.protocol.data.PatchRequest;
+import org.apache.directory.scim.protocol.data.SearchRequest;
 import org.apache.directory.scim.spec.filter.FilterResponse;
 import org.apache.directory.scim.spec.filter.Filter;
 import org.apache.directory.scim.spec.filter.PageRequest;
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java
index 659cd6e..482c288 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java
@@ -37,13 +37,13 @@
 import org.apache.directory.scim.core.repository.Repository;
 import org.apache.directory.scim.core.repository.RepositoryRegistry;
 import org.apache.directory.scim.core.repository.UpdateRequest;
-import org.apache.directory.scim.spec.protocol.BulkResource;
-import org.apache.directory.scim.spec.protocol.data.BulkOperation;
-import org.apache.directory.scim.spec.protocol.data.BulkOperation.Method;
-import org.apache.directory.scim.spec.protocol.data.BulkOperation.StatusWrapper;
-import org.apache.directory.scim.spec.protocol.data.BulkRequest;
-import org.apache.directory.scim.spec.protocol.data.BulkResponse;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.BulkResource;
+import org.apache.directory.scim.protocol.data.BulkOperation;
+import org.apache.directory.scim.protocol.data.BulkOperation.Method;
+import org.apache.directory.scim.protocol.data.BulkOperation.StatusWrapper;
+import org.apache.directory.scim.protocol.data.BulkRequest;
+import org.apache.directory.scim.protocol.data.BulkResponse;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 import org.apache.directory.scim.spec.resources.BaseResource;
 import org.apache.directory.scim.spec.resources.ScimResource;
 import org.apache.directory.scim.spec.schema.Schema;
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java
index a76d9fa..ec2e59c 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java
@@ -26,7 +26,7 @@
 import jakarta.inject.Inject;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.directory.scim.core.repository.RepositoryRegistry;
-import org.apache.directory.scim.spec.protocol.GroupResource;
+import org.apache.directory.scim.protocol.GroupResource;
 import org.apache.directory.scim.spec.resources.ScimGroup;
 import org.apache.directory.scim.core.schema.SchemaRegistry;
 
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java
index 0566901..9d2bbad 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java
@@ -28,8 +28,8 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.apache.directory.scim.spec.protocol.ResourceTypesResource;
-import org.apache.directory.scim.spec.protocol.data.ListResponse;
+import org.apache.directory.scim.protocol.ResourceTypesResource;
+import org.apache.directory.scim.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.schema.Meta;
 import org.apache.directory.scim.spec.schema.ResourceType;
 import org.apache.directory.scim.core.schema.SchemaRegistry;
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java
index fb6d21c..9815428 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java
@@ -29,8 +29,8 @@
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.ws.rs.core.UriInfo;
 
-import org.apache.directory.scim.spec.protocol.SchemaResource;
-import org.apache.directory.scim.spec.protocol.data.ListResponse;
+import org.apache.directory.scim.protocol.SchemaResource;
+import org.apache.directory.scim.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.schema.Meta;
 import org.apache.directory.scim.spec.schema.Schema;
 import org.apache.directory.scim.core.schema.SchemaRegistry;
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonXmlBindJsonProvider.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonXmlBindJsonProvider.java
index 5cc844c..446d16f 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonXmlBindJsonProvider.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonXmlBindJsonProvider.java
@@ -21,7 +21,7 @@
 
 import com.fasterxml.jackson.jakarta.rs.json.JacksonXmlBindJsonProvider;
 import org.apache.directory.scim.spec.json.ObjectMapperFactory;
-import org.apache.directory.scim.spec.protocol.Constants;
+import org.apache.directory.scim.protocol.Constants;
 
 import jakarta.inject.Inject;
 import jakarta.ws.rs.Consumes;
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/SearchResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/SearchResourceImpl.java
index c6daed0..93ce2d1 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/SearchResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/SearchResourceImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.rest;
 
-import org.apache.directory.scim.spec.protocol.SearchResource;
+import org.apache.directory.scim.protocol.SearchResource;
 
 public class SearchResourceImpl implements SearchResource {
 
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java
index afc4b12..a8ed01f 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java
@@ -30,12 +30,12 @@
 import org.apache.directory.scim.core.repository.ResourceException;
 import org.apache.directory.scim.server.exception.UnableToResolveIdResourceException;
 import org.apache.directory.scim.core.repository.SelfIdResolver;
-import org.apache.directory.scim.spec.protocol.SelfResource;
-import org.apache.directory.scim.spec.protocol.UserResource;
+import org.apache.directory.scim.protocol.SelfResource;
+import org.apache.directory.scim.protocol.UserResource;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReferenceListWrapper;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
-import org.apache.directory.scim.spec.protocol.data.PatchRequest;
-import org.apache.directory.scim.spec.protocol.exception.ScimException;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.data.PatchRequest;
+import org.apache.directory.scim.protocol.exception.ScimException;
 import org.apache.directory.scim.spec.resources.ScimUser;
 import lombok.extern.slf4j.Slf4j;
 
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java
index cf27c16..26582a4 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java
@@ -34,8 +34,8 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 
 import org.apache.directory.scim.server.configuration.ServerConfiguration;
-import org.apache.directory.scim.spec.protocol.ServiceProviderConfigResource;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.ServiceProviderConfigResource;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 import org.apache.directory.scim.spec.schema.Meta;
 import org.apache.directory.scim.spec.schema.ServiceProviderConfiguration;
 import org.apache.directory.scim.spec.schema.ServiceProviderConfiguration.AuthenticationSchema;
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java
index daee288..1ee2c5a 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java
@@ -26,7 +26,7 @@
 import jakarta.inject.Inject;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.directory.scim.core.repository.RepositoryRegistry;
-import org.apache.directory.scim.spec.protocol.UserResource;
+import org.apache.directory.scim.protocol.UserResource;
 import org.apache.directory.scim.spec.resources.ScimUser;
 import org.apache.directory.scim.core.schema.SchemaRegistry;
 
diff --git a/scim-server/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java b/scim-server/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java
index 2289944..cd96d80 100644
--- a/scim-server/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java
+++ b/scim-server/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java
@@ -28,8 +28,8 @@
 import jakarta.ws.rs.ext.ExceptionMapper;
 import jakarta.ws.rs.ext.Provider;
 
-import org.apache.directory.scim.spec.protocol.Constants;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.Constants;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 
 @Provider
 @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
diff --git a/scim-server/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java b/scim-server/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
index a44b908..f2996b6 100644
--- a/scim-server/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
+++ b/scim-server/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
@@ -52,9 +52,9 @@
 import org.apache.directory.scim.spec.extension.EnterpriseExtension.Manager;
 import org.apache.directory.scim.spec.phonenumber.PhoneNumberParseException;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReferenceListWrapper;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
-import org.apache.directory.scim.spec.protocol.data.PatchRequest;
-import org.apache.directory.scim.spec.protocol.data.SearchRequest;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.data.PatchRequest;
+import org.apache.directory.scim.protocol.data.SearchRequest;
 import org.apache.directory.scim.spec.resources.Address;
 import org.apache.directory.scim.spec.resources.Name;
 import org.apache.directory.scim.spec.resources.PhoneNumber;
diff --git a/scim-server/src/test/java/org/apache/directory/scim/server/rest/BulkResourceImplTest.java b/scim-server/src/test/java/org/apache/directory/scim/server/rest/BulkResourceImplTest.java
index bacb3b7..7389367 100644
--- a/scim-server/src/test/java/org/apache/directory/scim/server/rest/BulkResourceImplTest.java
+++ b/scim-server/src/test/java/org/apache/directory/scim/server/rest/BulkResourceImplTest.java
@@ -27,10 +27,10 @@
 import org.apache.directory.scim.core.repository.Repository;
 import org.apache.directory.scim.core.repository.RepositoryRegistry;
 import org.apache.directory.scim.spec.extension.ScimExtensionRegistry;
-import org.apache.directory.scim.spec.protocol.data.BulkOperation;
-import org.apache.directory.scim.spec.protocol.data.BulkRequest;
-import org.apache.directory.scim.spec.protocol.data.BulkResponse;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.data.BulkOperation;
+import org.apache.directory.scim.protocol.data.BulkRequest;
+import org.apache.directory.scim.protocol.data.BulkResponse;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 import org.apache.directory.scim.spec.resources.ScimGroup;
 import org.apache.directory.scim.spec.resources.ScimResource;
 import org.apache.directory.scim.spec.resources.ScimUser;
diff --git a/scim-server/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java b/scim-server/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
index ebb0ace..3c20e3c 100644
--- a/scim-server/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
+++ b/scim-server/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
@@ -35,9 +35,9 @@
 import jakarta.ws.rs.core.SecurityContext;
 import org.apache.directory.scim.core.repository.ResourceException;
 import org.apache.directory.scim.core.repository.SelfIdResolver;
-import org.apache.directory.scim.spec.protocol.UserResource;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
-import org.apache.directory.scim.spec.protocol.exception.ScimException;
+import org.apache.directory.scim.protocol.UserResource;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.exception.ScimException;
 import org.junit.jupiter.api.Test;
 
 public class SelfResourceImplTest {
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/BaseResourceTypeResource.java
similarity index 86%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/BaseResourceTypeResource.java
index c53235e..2278ea1 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/BaseResourceTypeResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.Hidden;
 import io.swagger.v3.oas.annotations.Operation;
@@ -42,17 +42,15 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.apache.directory.scim.spec.adapter.FilterWrapper;
+import org.apache.directory.scim.protocol.data.PatchRequest;
+import org.apache.directory.scim.protocol.exception.ScimException;
+import org.apache.directory.scim.protocol.adapter.FilterWrapper;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReference;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReferenceListWrapper;
-import org.apache.directory.scim.spec.protocol.data.PatchRequest;
-import org.apache.directory.scim.spec.protocol.data.SearchRequest;
-import org.apache.directory.scim.spec.protocol.exception.ScimException;
+import org.apache.directory.scim.protocol.data.SearchRequest;
 import org.apache.directory.scim.spec.filter.SortOrder;
 import org.apache.directory.scim.spec.resources.ScimResource;
 
-import static org.apache.directory.scim.spec.protocol.Constants.SCIM_CONTENT_TYPE;
-
 @Tag(name="SCIM")
 @Hidden
 public interface BaseResourceTypeResource<T> {
@@ -61,15 +59,15 @@
    * @see <a href="https://tools.ietf.org/html/rfc7644#section-3.4.1">Scim spec,
    *      retrieving known resources</a>
    * @return
-   * @throws ScimException 
+   * @throws ScimException
    * @throws UnableToRetrieveResourceException
    */
   @GET
   @Path("{id}")
-  @Produces({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description="Find by id")
   @ApiResponses(value={
-    @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+    @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                  schema = @Schema(implementation = ScimResource.class))),
     @ApiResponse(responseCode="400", description="Bad Request"),
     @ApiResponse(responseCode="404", description="Not found"),
@@ -88,10 +86,10 @@
    * @return
    */
   @GET
-  @Produces({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description="Find by a combination of query parameters")
   @ApiResponses(value={
-    @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+    @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                  schema = @Schema(implementation = ScimResource.class))),
     @ApiResponse(responseCode="400", description="Bad Request"),
     @ApiResponse(responseCode="404", description="Not found"),
@@ -114,18 +112,18 @@
    * @return
    */
   @POST
-  @Consumes({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
-  @Produces({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Consumes({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description = "Create")
   @ApiResponses(value = {
     @ApiResponse(responseCode = "201",
-                 content = @Content(mediaType = SCIM_CONTENT_TYPE,
+                 content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                  schema = @Schema(implementation = ScimResource.class))),
     @ApiResponse(responseCode = "400", description = "Bad Request"),
     @ApiResponse(responseCode = "409", description = "Conflict"),
     @ApiResponse(responseCode = "500", description = "Internal Server Error"),
     @ApiResponse(responseCode = "501", description = "Not Implemented") })
-  default Response create(@RequestBody(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+  default Response create(@RequestBody(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                                        schema = @Schema(implementation = ScimResource.class)),
                                        required = true) T resource,
                           @Parameter(name="attributes") @QueryParam("attributes") AttributeReferenceListWrapper attributes,
@@ -140,15 +138,15 @@
    */
   @POST
   @Path("/.search")
-  @Produces({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description = "Search")
   @ApiResponses(value = {
-    @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+    @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                  schema = @Schema(implementation = ScimResource.class))),
     @ApiResponse(responseCode = "400", description = "Bad Request"),
     @ApiResponse(responseCode = "500", description = "Internal Server Error"),
     @ApiResponse(responseCode = "501", description = "Not Implemented") })
-  default Response find(@RequestBody(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+  default Response find(@RequestBody(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                                      schema = @Schema(implementation = SearchRequest.class)),
                                      required = true) SearchRequest request) throws ScimException {
     return Response.status(Status.NOT_IMPLEMENTED).build();
@@ -161,16 +159,16 @@
    */
   @PUT
   @Path("{id}")
-  @Consumes({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
-  @Produces({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Consumes({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description = "Update")
   @ApiResponses(value = {
-    @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+    @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                  schema = @Schema(implementation = ScimResource.class))),
     @ApiResponse(responseCode = "400", description = "Bad Request"),
     @ApiResponse(responseCode = "500", description = "Internal Server Error"),
     @ApiResponse(responseCode = "501", description = "Not Implemented") })
-  default Response update(@RequestBody(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+  default Response update(@RequestBody(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                                        schema = @Schema(implementation = ScimResource.class)),
                                        required = true) T resource,
                           @PathParam("id") String id,
@@ -181,8 +179,8 @@
 
   @PATCH
   @Path("{id}")
-  @Consumes({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
-  @Produces({SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Consumes({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
+  @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description = "Patch a portion of the backing store")
   @ApiResponses(value = {
     @ApiResponse(responseCode = "204", description = "No Content"),
@@ -190,7 +188,7 @@
     @ApiResponse(responseCode = "404", description = "Not found"),
     @ApiResponse(responseCode = "500", description = "Internal Server Error"),
     @ApiResponse(responseCode = "501", description = "Not Implemented") })
-  default Response patch(@RequestBody(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+  default Response patch(@RequestBody(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
                                       schema = @Schema(implementation = PatchRequest.class)),
                                       required = true) PatchRequest patchRequest,
                          @PathParam("id") String id,
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/BulkResource.java
similarity index 91%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/BulkResource.java
index 220acff..13be2cc 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/BulkResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
@@ -36,10 +36,10 @@
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.ws.rs.core.UriInfo;
 
-import org.apache.directory.scim.spec.protocol.data.BulkRequest;
-import org.apache.directory.scim.spec.protocol.data.BulkResponse;
+import org.apache.directory.scim.protocol.data.BulkRequest;
+import org.apache.directory.scim.protocol.data.BulkResponse;
 
-import static org.apache.directory.scim.spec.protocol.Constants.SCIM_CONTENT_TYPE;
+import static org.apache.directory.scim.protocol.Constants.SCIM_CONTENT_TYPE;
 
 //@formatter:off
 /**
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/Constants.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/Constants.java
similarity index 94%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/Constants.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/Constants.java
index bf95c63..364f63c 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/Constants.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/Constants.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 public final class Constants {
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ErrorMessageType.java
similarity index 98%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ErrorMessageType.java
index 280e8ea..0d15b5c 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ErrorMessageType.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import jakarta.xml.bind.annotation.XmlEnum;
 import jakarta.xml.bind.annotation.XmlEnumValue;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/GroupResource.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/GroupResource.java
index 0fb10ea..dbe1e5f 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/GroupResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.ws.rs.Path;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ResourceTypesResource.java
similarity index 91%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ResourceTypesResource.java
index d625d8d..a3b2766 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ResourceTypesResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.ArraySchema;
@@ -35,8 +35,6 @@
 import jakarta.ws.rs.core.Response.Status;
 import org.apache.directory.scim.spec.schema.ResourceType;
 
-import static org.apache.directory.scim.spec.protocol.Constants.SCIM_CONTENT_TYPE;
-
 /**
  * From SCIM Protocol Specification, section 4, page 74
  * 
@@ -71,7 +69,7 @@
   @GET
   @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description = "Get All Resource Types")
-  @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+  @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
     array = @ArraySchema(schema = @Schema(implementation = ResourceType.class))))
   default Response getAllResourceTypes(@QueryParam("filter") String filter) throws Exception {
 
@@ -86,7 +84,7 @@
   @Path("{name}")
   @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description = "Get Resource Type by URN")
-  @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE, schema = @Schema(implementation = ResourceType.class)))
+  @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE, schema = @Schema(implementation = ResourceType.class)))
   default Response getResourceType(@PathParam("name") String name) throws Exception {
     return Response.status(Status.NOT_IMPLEMENTED).build();
   }
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SchemaResource.java
similarity index 93%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SchemaResource.java
index 2b704f9..de1d3ab 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SchemaResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.ArraySchema;
@@ -36,8 +36,6 @@
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.ws.rs.core.UriInfo;
 
-import static org.apache.directory.scim.spec.protocol.Constants.SCIM_CONTENT_TYPE;
-
 /**
  * From SCIM Protocol Specification, section 4, page 74
  * 
@@ -76,7 +74,7 @@
   @GET
   @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description="Get All Schemas")
-  @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+  @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
     array = @ArraySchema(schema = @Schema(implementation = org.apache.directory.scim.spec.schema.Schema.class))))
   default Response getAllSchemas(@QueryParam("filter") String filter, @Context UriInfo uriInfo) {
 
@@ -91,7 +89,7 @@
   @Path("{uri}")
   @Produces({Constants.SCIM_CONTENT_TYPE, MediaType.APPLICATION_JSON})
   @Operation(description="Get Schemas by URN")
-  @ApiResponse(content = @Content(mediaType = SCIM_CONTENT_TYPE,
+  @ApiResponse(content = @Content(mediaType = Constants.SCIM_CONTENT_TYPE,
     schema = @Schema(implementation = org.apache.directory.scim.spec.schema.Schema.class)))
   default Response getSchema(@PathParam("uri") String uri, @Context UriInfo uriInfo) {
     return Response.status(Status.NOT_IMPLEMENTED).build();
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SearchResource.java
similarity index 94%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SearchResource.java
index 4eea3b4..1ee85ea 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SearchResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.ArraySchema;
@@ -34,10 +34,10 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.apache.directory.scim.spec.protocol.data.SearchRequest;
+import org.apache.directory.scim.protocol.data.SearchRequest;
 import org.apache.directory.scim.spec.resources.ScimResource;
 
-import static org.apache.directory.scim.spec.protocol.Constants.SCIM_CONTENT_TYPE;
+import static org.apache.directory.scim.protocol.Constants.SCIM_CONTENT_TYPE;
 
 //@formatter:off
 /**
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SelfResource.java
similarity index 97%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SelfResource.java
index d7d18c1..201fd44 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/SelfResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -40,12 +40,12 @@
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
+import org.apache.directory.scim.protocol.data.PatchRequest;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReferenceListWrapper;
-import org.apache.directory.scim.spec.protocol.data.PatchRequest;
 import org.apache.directory.scim.spec.resources.ScimResource;
 import org.apache.directory.scim.spec.resources.ScimUser;
 
-import static org.apache.directory.scim.spec.protocol.Constants.SCIM_CONTENT_TYPE;
+import static org.apache.directory.scim.protocol.Constants.SCIM_CONTENT_TYPE;
 
 //@formatter:off
 /**
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ServiceProviderConfigResource.java
similarity index 95%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ServiceProviderConfigResource.java
index dd016dd..d110f63 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/ServiceProviderConfigResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
@@ -34,7 +34,7 @@
 import jakarta.ws.rs.core.UriInfo;
 import org.apache.directory.scim.spec.schema.ServiceProviderConfiguration;
 
-import static org.apache.directory.scim.spec.protocol.Constants.SCIM_CONTENT_TYPE;
+import static org.apache.directory.scim.protocol.Constants.SCIM_CONTENT_TYPE;
 
 //@formatter:off
 /**
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/UserResource.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/UserResource.java
index fee885d..3a1f093 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/UserResource.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol;
+package org.apache.directory.scim.protocol;
 
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.ws.rs.Path;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/AttributeReferenceAdapter.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/AttributeReferenceAdapter.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/AttributeReferenceAdapter.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/AttributeReferenceAdapter.java
index 13b5673..8a43fb2 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/AttributeReferenceAdapter.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/AttributeReferenceAdapter.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.adapter;
+package org.apache.directory.scim.protocol.adapter;
 
 import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterAdapter.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/FilterAdapter.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterAdapter.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/FilterAdapter.java
index ccac5cf..c99f6cf 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterAdapter.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/FilterAdapter.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.adapter;
+package org.apache.directory.scim.protocol.adapter;
 
 import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterWrapper.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/FilterWrapper.java
similarity index 90%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterWrapper.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/FilterWrapper.java
index 04b0662..44438dd 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterWrapper.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/adapter/FilterWrapper.java
@@ -17,14 +17,14 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.adapter;
+package org.apache.directory.scim.protocol.adapter;
 
 import jakarta.ws.rs.WebApplicationException;
 import jakarta.ws.rs.core.Response;
 import jakarta.ws.rs.core.Response.Status;
 
-import org.apache.directory.scim.spec.protocol.ErrorMessageType;
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.ErrorMessageType;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 import org.apache.directory.scim.spec.filter.FilterParseException;
 import org.apache.directory.scim.spec.filter.Filter;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkOperation.java
similarity index 97%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkOperation.java
index 835f4a2..869275f 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkOperation.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.xml.bind.annotation.XmlAccessType;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkRequest.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkRequest.java
index e4b9a97..0e1c974 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkRequest.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import java.util.List;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkResponse.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkResponse.java
index b032641..c410541 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/BulkResponse.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import java.util.List;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/ErrorResponse.java
similarity index 95%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/ErrorResponse.java
index 38e769a..4c27bc5 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/ErrorResponse.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -30,7 +30,7 @@
 import jakarta.xml.bind.annotation.XmlRootElement;
 import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
-import org.apache.directory.scim.spec.protocol.ErrorMessageType;
+import org.apache.directory.scim.protocol.ErrorMessageType;
 import org.apache.directory.scim.spec.resources.BaseResource;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/ListResponse.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/ListResponse.java
index c5f594a..601d578 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/ListResponse.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import java.util.List;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/PatchRequest.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/PatchRequest.java
index 941bda8..712d917 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/PatchRequest.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import java.util.List;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/SearchRequest.java
similarity index 93%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/SearchRequest.java
index 89eea52..f34de34 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/SearchRequest.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import java.util.Set;
 
@@ -29,8 +29,8 @@
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.apache.directory.scim.spec.adapter.AttributeReferenceAdapter;
-import org.apache.directory.scim.spec.adapter.FilterAdapter;
+import org.apache.directory.scim.protocol.adapter.AttributeReferenceAdapter;
+import org.apache.directory.scim.protocol.adapter.FilterAdapter;
 import org.apache.directory.scim.spec.filter.attribute.AttributeReference;
 import org.apache.directory.scim.spec.filter.Filter;
 import org.apache.directory.scim.spec.filter.PageRequest;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/StatusAdapter.java
similarity index 96%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/StatusAdapter.java
index 8887d0c..4a13397 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/data/StatusAdapter.java
@@ -17,7 +17,7 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.data;
+package org.apache.directory.scim.protocol.data;
 
 import jakarta.ws.rs.core.Response.Status;
 import jakarta.xml.bind.annotation.adapters.XmlAdapter;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/exception/ScimException.java
similarity index 90%
rename from scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
rename to scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/exception/ScimException.java
index c8e0e19..48ce882 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/protocol/exception/ScimException.java
@@ -17,11 +17,11 @@
 * under the License.
 */
 
-package org.apache.directory.scim.spec.protocol.exception;
+package org.apache.directory.scim.protocol.exception;
 
 import jakarta.ws.rs.core.Response.Status;
 
-import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
+import org.apache.directory.scim.protocol.data.ErrorResponse;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
