Renamed scim.spec.protocol package to scim.protocol to remove spit package issue
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;