You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by jk...@apache.org on 2022/06/09 17:18:04 UTC

[unomi] branch UNOMI-569-flatten-schemas updated: UNOMI-569: cleanup schemas

This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/UNOMI-569-flatten-schemas by this push:
     new eaf6c8cf7 UNOMI-569: cleanup schemas
eaf6c8cf7 is described below

commit eaf6c8cf757cfecf26417a83944e4d877459a084
Author: Kevan <ke...@jahia.com>
AuthorDate: Thu Jun 9 19:17:51 2022 +0200

    UNOMI-569: cleanup schemas
---
 .../resources/META-INF/cxs/schemas/condition.json  | 21 -------
 .../resources/META-INF/cxs/schemas/customitem.json | 25 --------
 .../cxs/schemas/customitem/properties.json         | 14 -----
 .../META-INF/cxs/schemas/{ => events}/event.json   |  2 +-
 .../META-INF/cxs/schemas/events/form.json          | 23 -------
 .../META-INF/cxs/schemas/events/goal.json          | 23 -------
 .../incrementInterest.flattenProperties.json       | 18 ++++++
 .../{ => incrementInterest}/incrementInterest.json |  7 +--
 .../events/incrementInterest/properties.json       | 19 ------
 .../incrementInterest/properties/interests.json    | 16 -----
 .../META-INF/cxs/schemas/events/login}/login.json  |  9 +--
 .../events/{ => modifyConsent}/modifyConsent.json  |  2 +-
 ...operties.json => modifyConsent.properties.json} |  2 +-
 .../{ => updateProperties}/updateProperties.json   |  5 +-
 .../events/view/view.flattenProperties.json        | 18 ++++++
 .../cxs/schemas/events/{ => view}/view.json        |  5 +-
 .../main/resources/META-INF/cxs/schemas/goal.json  | 25 --------
 .../cxs/schemas/{ => items/consent}/consent.json   |  2 +-
 .../schemas/{ => items/consent}/consentType.json   |  2 +-
 .../cxs/schemas/items/interests/interests.json     | 18 ++++++
 .../META-INF/cxs/schemas/{ => items}/item.json     |  2 +-
 .../cxs/schemas/{ => items/page}/page.json         |  8 +--
 .../page/page.properties.attributes.json}          |  0
 .../page/page.properties.json}                     |  2 +-
 .../page/page.properties.pageInfo.json}            |  0
 .../cxs/schemas/{ => items/site}/site.json         |  8 +--
 .../cxs/schemas/{ => items}/timestampeditem.json   |  2 +-
 .../resources/META-INF/cxs/schemas/metadata.json   | 51 ----------------
 .../META-INF/cxs/schemas/metadataitem.json         | 21 -------
 .../resources/META-INF/cxs/schemas/parameter.json  | 27 --------
 .../cxs/schemas/personalization/filter.json        | 26 --------
 .../schemas/personalization/filter/properties.json | 13 ----
 .../personalization/personalizationrequest.json    | 30 ---------
 .../personalizationrequest/strategyOptions.json    | 13 ----
 .../personalizedContent/properties.json            | 13 ----
 .../personalization/personalizedcontent.json       | 27 --------
 .../cxs/schemas/personalization/target.json        | 23 -------
 .../resources/META-INF/cxs/schemas/profile.json    | 46 --------------
 .../META-INF/cxs/schemas/values/boolean.json       | 13 ----
 .../META-INF/cxs/schemas/values/date.json          | 14 -----
 .../META-INF/cxs/schemas/values/email.json         | 14 -----
 .../META-INF/cxs/schemas/values/integer.json       | 13 ----
 .../META-INF/cxs/schemas/values/long.json          | 13 ----
 .../resources/META-INF/cxs/schemas/values/set.json | 14 -----
 .../META-INF/cxs/schemas/values/string.json        | 13 ----
 .../META-INF/cxs/schemas/articleCompleted.json     | 25 --------
 .../cxs/schemas/articleCompleted/properties.json   | 22 -------
 .../resources/META-INF/cxs/schemas/identify.json   | 25 --------
 .../META-INF/cxs/schemas/identify/properties.json  | 24 --------
 .../test/java/org/apache/unomi/itests/BasicIT.java | 12 ----
 .../schemas/events/float-property-type.json        |  2 +-
 .../resources/schemas/events/test-event-type.json  |  2 +-
 .../test/resources/schemas/schema-predefined.json  |  2 +-
 .../deserializers/ContextRequestDeserializer.java  |  2 +-
 .../EventsCollectorRequestDeserializer.java        |  2 +-
 .../unomi/rest/endpoints/ContextJsonEndpoint.java  | 10 +--
 .../rest/service/impl/RestServiceUtilsImpl.java    |  5 +-
 .../cxs/schemas/contextrequest/contextrequest.json | 71 ----------------------
 .../contextrequest/contextrequestparams.json       | 22 -------
 .../cxs/schemas/contextrequest/source/source.json  | 37 -----------
 .../resources/META-INF/cxs/schemas/cookie.json     | 18 ------
 .../schemas/{ => rest}/eventscollectorrequest.json |  9 +--
 .../META-INF/cxs/schemas/rest/requestIds.json      | 26 ++++++++
 .../main/resources/META-INF/cxs/schemas/login.json | 23 -------
 64 files changed, 119 insertions(+), 882 deletions(-)

diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
deleted file mode 100644
index 923ad23ef..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/condition/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "condition",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Condition",
-  "type": "object",
-  "properties" : {
-    "conditionTypeId" : {
-      "type" : "string"
-    },
-    "parameterValues" : {
-      "type" : "object",
-      "maxProperties": 50
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
deleted file mode 100644
index 5b9c6c570..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/customitem/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "customItem",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "CustomItem",
-  "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
-  "properties": {
-    "customItemType" : {
-      "type" : "string"
-    },
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
deleted file mode 100644
index 38bec226f..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "customItemProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "CustomItemProperties",
-  "type": "object",
-  "properties": {
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json
similarity index 94%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json
index 2d27d0245..29fa59c8f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/event/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "event",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
deleted file mode 100644
index c537eec11..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/form/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "form",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "FormEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/site/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    }
-  },
-  "unevaluatedProperties" : false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
deleted file mode 100644
index d6f9b6af0..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/goal/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "goal",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "GoalEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/goal/1-0-0"
-    }
-  },
-  "unevaluatedProperties" : false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json
new file mode 100644
index 000000000..1793e5c8d
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json
@@ -0,0 +1,18 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/flattenProperties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "incrementInterestFlattenProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "IncrementInterestFlattenProperties",
+  "type": "object",
+  "properties" : {
+    "interests": {
+      "$ref" : "https://unomi.apache.org/schemas/json/interests/1-0-0"
+    }
+  },
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json
similarity index 69%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json
index 270356086..73516acfb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "incrementInterest",
     "format":"jsonschema",
@@ -12,10 +12,9 @@
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0"
+    "flattenedProperties" : {
+      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/flattenProperties/1-0-0"
     }
   },
-  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object",
   "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
deleted file mode 100644
index 300f4e394..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "incrementInterestProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "IncrementInterestProperties",
-  "type": "object",
-  "properties" : {
-    "interests" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0"
-    }
-  },
-  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object",
-  "unevaluatedProperties" : false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
deleted file mode 100644
index bef45d957..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "incrementInterestPropertiesInterests",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "IncrementInterestPropertiesInterests",
-  "type": "object",
-  "properties" : {
-  },
-  "maxProperties" : 50,
-  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object"
-}
\ No newline at end of file
diff --git a/itests/src/test/resources/schemas/events/login.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
similarity index 71%
rename from itests/src/test/resources/schemas/events/login.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
index a134e56a9..fdb4c303c 100644
--- a/itests/src/test/resources/schemas/events/login.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "login",
     "format":"jsonschema",
@@ -15,10 +15,7 @@
     "properties" : {
       "type" : "object",
       "maxProperties": 50
-    },
-    "target" : {
-      "type" : "object",
-      "maxProperties": 50
     }
-  }
+  },
+  "$comment" : "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json
similarity index 94%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json
index 14db8d7fe..ecd26b8aa 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "modifyConsent",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json
similarity index 90%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json
index d7a97b80a..dec05c560 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "modifyConsentProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json
similarity index 72%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json
index b3916dcee..43c22ac4b 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/updateProperties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "updateProperties",
     "format":"jsonschema",
@@ -16,5 +16,6 @@
       "type" : "object",
       "maxProperties": 50
     }
-  }
+  },
+  "$comment" : "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json
new file mode 100644
index 000000000..c380b0d99
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json
@@ -0,0 +1,18 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/view/flattenProperties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "viewFlattenProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "ViewFlattenProperties",
+  "type": "object",
+  "properties" : {
+    "interests": {
+      "$ref" : "https://unomi.apache.org/schemas/json/interests/1-0-0"
+    }
+  },
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json
similarity index 79%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json
index ad7455abf..cefe46e2e 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/view/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "view",
     "format":"jsonschema",
@@ -17,6 +17,9 @@
     },
     "target" : {
       "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
+    },
+    "flattenedProperties": {
+      "$ref" : "https://unomi.apache.org/schemas/json/events/view/flattenProperties/1-0-0"
     }
   },
   "unevaluatedProperties": false
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
deleted file mode 100644
index 6d2abee31..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/goal/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "goal",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Goal",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0" }],
-  "properties" : {
-    "startEvent" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/condition/1-0-0"
-    },
-    "targetEvent" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/condition/1-0-0"
-    },
-    "campaignId" : {
-      "type" : "string"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json
similarity index 93%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json
index 8628228bf..557bb25fb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/consent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "consent",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json
similarity index 92%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json
index 32fc2e1c5..995f77f9a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/consentType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "consentType",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json
new file mode 100644
index 000000000..74bc6c84d
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json
@@ -0,0 +1,18 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/interests/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "interests",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "Interests",
+  "type": "object",
+  "patternProperties": {
+    "^.*$": {
+      "type": "number"
+    }
+  },
+  "unevaluatedProperties": false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json
similarity index 94%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json
index 79940c54e..5c71db49b 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/item/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "item",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json
similarity index 75%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json
index a11bbae43..ec52e5871 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json
@@ -2,18 +2,14 @@
   "$id": "https://unomi.apache.org/schemas/json/items/page/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name":"page",
     "format":"jsonschema",
     "version":"1-0-0"
   },
   "title": "PageCustomItem",
   "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
+  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }],
   "properties": {
     "properties" : {
       "$ref" : "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.attributes.json
similarity index 100%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.attributes.json
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json
similarity index 93%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json
index 36092791d..3abfd4d0e 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name":"pageProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json
similarity index 100%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json
similarity index 67%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json
index 4aa93a6db..c73afaf17 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json
@@ -2,17 +2,13 @@
   "$id": "https://unomi.apache.org/schemas/json/items/site/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "site",
     "format":"jsonschema",
     "version":"1-0-0"
   },
   "title": "SiteItem",
   "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
+  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }],
   "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json
similarity index 90%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json
index dd71b16c9..db8f078e2 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/timestampeditem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "timestampedItem",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
deleted file mode 100644
index 4098ccb20..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/metadata/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "metadata",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Metadata",
-  "type": "object",
-  "properties" : {
-    "id" : {
-      "type" : "string"
-    },
-    "name" : {
-      "type" : "string"
-    },
-    "description" : {
-      "type" : "string"
-    },
-    "scope" : {
-      "type" : "string"
-    },
-    "tags" : {
-      "type" : "array",
-      "items" : {
-        "type" : "string"
-      }
-    },
-    "systemTags" : {
-      "type" : "array",
-      "items" : {
-        "type" : "string"
-      }
-    },
-    "enabled" : {
-      "type" : "boolean"
-    },
-    "missingPlugins" : {
-      "type" : "boolean"
-    },
-    "hidden" : {
-      "type" : "boolean"
-    },
-    "readOnly" : {
-      "type" : "boolean"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
deleted file mode 100644
index 5f2371abe..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "metadataItem",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "MetadataItem",
-  "type": "object",
-  "allOf": [
-    { "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }
-  ],
-  "properties" : {
-    "metadata" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/metadata/1-0-0"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
deleted file mode 100644
index 3854def15..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/parameter/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "parameter",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Parameter",
-  "type": "object",
-  "properties" : {
-    "id" : {
-      "type" : "string"
-    },
-    "type" : {
-      "type" : "string"
-    },
-    "multivalued" : {
-      "type" : "boolean"
-    },
-    "defaultValue" : {
-      "type" : "string"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
deleted file mode 100644
index 8c1c638de..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "filter",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Filter",
-  "type": "object",
-  "properties": {
-    "appliesOn": {
-      "type": "array",
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0"
-      }
-    },
-    "condition": {
-      "$ref": "https://unomi.apache.org/schemas/json/condition/1-0-0"
-    },
-    "properties": {
-      "$ref" : "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
deleted file mode 100644
index ddab41a37..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "filterProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "FilterProperties",
-  "type": "object",
-  "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
deleted file mode 100644
index bd6eb3a5f..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "personalizationRequest",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "PersonalizationRequest",
-  "type": "object",
-  "properties": {
-    "id" : {
-      "type" : "string"
-    },
-    "strategy" : {
-      "type" : "string"
-    },
-    "strategyOptions" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0"
-    },
-    "contents" : {
-      "type" : "array",
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0"
-      },
-      "maxProperties": 50
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
deleted file mode 100644
index bed70d693..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "strategyOptions",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "StrategyOptions",
-  "type": "object",
-  "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
deleted file mode 100644
index d418c1aff..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "personalizedContentProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "PersonalizedContentProperties",
-  "type": "object",
-  "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
deleted file mode 100644
index 5ddccd51a..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "personalizedContent",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "PersonalizedContent",
-  "type": "object",
-  "properties": {
-    "id": {
-      "type": "string"
-    },
-    "filters": {
-      "type": "array",
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0"
-      },
-      "maxProperties": 50
-    },
-    "properties": {
-      "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
deleted file mode 100644
index 305162140..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "target",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Target",
-  "type": "object",
-  "properties": {
-    "target" : {
-      "type" : "string"
-    },
-    "values" : {
-      "type" : "array",
-      "items": {
-        "type": "string"
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
deleted file mode 100644
index a5d860cf7..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/profile/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "profile",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Profile",
-  "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
-  "properties": {
-    "properties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
-    "systemProperties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
-    "segments" : {
-      "type" : "array",
-      "items" : {
-        "type" : "string"
-      }
-    },
-    "scores" : {
-      "type" : "object",
-      "additionalProperties": { "type": "integer" },
-      "maxProperties": 100
-    },
-    "mergedWith" : {
-      "type" : "string"
-    },
-    "consents" : {
-      "type" : "object",
-      "additionalProperties": { "$ref" : "https://unomi.apache.org/schemas/json/consent.json" },
-      "maxProperties": 50
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
deleted file mode 100644
index ff6e646ac..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/values/boolean/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "values",
-    "name": "boolean",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Boolean",
-  "type": "boolean"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
deleted file mode 100644
index 17975cfdb..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/date/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "date",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Date",
-    "type": "string",
-    "format" : "date-time"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
deleted file mode 100644
index bd9585514..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/email/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "email",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Email",
-    "type": "string",
-    "format" : "email"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
deleted file mode 100644
index 9e7cbe6aa..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/integer/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "integer",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Integer",
-    "type": "integer"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
deleted file mode 100644
index 035ac5838..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/values/long/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "values",
-    "name": "long",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Long",
-  "type": "integer"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
deleted file mode 100644
index 5d411b3e5..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/set/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "set",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Set",
-    "type": "object",
-    "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
deleted file mode 100644
index 7a7875f99..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/string/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "string",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "String",
-    "type": "string"
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
deleted file mode 100644
index 90e5c5d86..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "articleCompleted",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ArticleCompletedEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0"
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json
deleted file mode 100644
index ab8b12d68..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self": {
-    "vendor": "org.apache.unomi",
-    "target": "events",
-    "name": "articleCompletedProperties",
-    "format": "jsonschema",
-    "version": "1-0-0"
-  },
-  "title": "ArticleCompletedProperties",
-  "type": "object",
-  "properties": {
-    "title": {
-      "type": "string"
-    },
-    "course": {
-      "type": "string"
-    }
-  }
-}
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
deleted file mode 100644
index f9e41fc63..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/identify/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "identify",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "IdentifyEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0"
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json
deleted file mode 100644
index 14279b280..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self": {
-    "vendor": "org.apache.unomi",
-    "target": "events",
-    "name": "identifyProperties",
-    "format": "jsonschema",
-    "version": "1-0-0"
-  },
-  "title": "IdentifyProperties",
-  "type": "object",
-  "properties": {
-    "nickname": {
-      "type": "string"
-    },
-    "favoriteCompiler": {
-      "type": "string"
-    },
-    "industry": {
-      "type": "string"
-    }
-  }
-}
\ No newline at end of file
diff --git a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
index 9606da312..06fc24ab0 100644
--- a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
@@ -154,12 +154,6 @@ public class BasicIT extends BaseIT {
     public void testMultipleLoginOnSameBrowser() throws IOException, InterruptedException {
         LOGGER.info("Start test testMultipleLoginOnSameBrowser");
 
-        schemaService.saveSchema(resourceAsString(EVENT_TYPE_LOGIN_SCHEMA));
-        keepTrying("Couldn't find login JSON schema",
-                () -> schemaService.getInstalledJsonSchemaIds(),
-                (schemaIds) -> (schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")),
-                DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES);
-
         // Add login event condition
         ConditionType conditionType = CustomObjectMapper.getObjectMapper().readValue(
                 new File("data/tmp/testLoginEventCondition.json").toURI().toURL(), ConditionType.class);
@@ -281,12 +275,6 @@ public class BasicIT extends BaseIT {
         Profile profileVisitor2 = profileService.load(profileIdVisitor2);
         checkVisitor2ResponseProperties(profileVisitor2.getProperties());
 
-        // cleanup schemas
-        schemaService.deleteSchema("https://unomi.apache.org/schemas/json/events/login/1-0-0");
-        keepTrying("Should not find login JSON schema anymore",
-                () -> schemaService.getInstalledJsonSchemaIds(),
-                (schemaIds) -> (!schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")),
-                DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES);
         LOGGER.info("End test testMultipleLoginOnSameBrowser");
     }
 
diff --git a/itests/src/test/resources/schemas/events/float-property-type.json b/itests/src/test/resources/schemas/events/float-property-type.json
index 024aef78a..93bb3f8ea 100644
--- a/itests/src/test/resources/schemas/events/float-property-type.json
+++ b/itests/src/test/resources/schemas/events/float-property-type.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/floatPropertyType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name":"floatPropertyType",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/events/test-event-type.json b/itests/src/test/resources/schemas/events/test-event-type.json
index 3fc4059fb..3a30f59d8 100644
--- a/itests/src/test/resources/schemas/events/test-event-type.json
+++ b/itests/src/test/resources/schemas/events/test-event-type.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/testEventType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target":"events",
     "name":"testEventType",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/schema-predefined.json b/itests/src/test/resources/schemas/schema-predefined.json
index 88af00600..b4da0ada6 100644
--- a/itests/src/test/resources/schemas/schema-predefined.json
+++ b/itests/src/test/resources/schemas/schema-predefined.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/event/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name":"testEventType",
     "format":"jsonschema",
     "target":"events",
diff --git a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
index 786744278..7e8b64790 100644
--- a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
+++ b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
@@ -56,7 +56,7 @@ public class ContextRequestDeserializer extends StdDeserializer<ContextRequest>
     public ContextRequest deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException, JsonProcessingException {
         JsonNode node = jsonParser.getCodec().readTree(jsonParser);
         // Validate schema on it
-        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/contextrequest/1-0-0")) {
+        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) {
             throw new InvalidRequestException("Invalid Context request object", "Invalid received data");
         }
         ContextRequest cr = new ContextRequest();
diff --git a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
index 28b96fb0f..1bb272a0e 100644
--- a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
+++ b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
@@ -50,7 +50,7 @@ public class EventsCollectorRequestDeserializer extends StdDeserializer<EventsCo
     @Override
     public EventsCollectorRequest deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException, JsonProcessingException {
         JsonNode node = jsonParser.getCodec().readTree(jsonParser);
-        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0")) {
+        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/rest/eventscollectorrequest/1-0-0")) {
             throw new InvalidRequestException("Invalid events collector object", "Invalid received data");
         }
 
diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java
index 3f84bf15b..91f617357 100644
--- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java
+++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java
@@ -154,13 +154,9 @@ public class ContextJsonEndpoint {
 
         // Schema validation
         ObjectNode paramsAsJson = JsonNodeFactory.instance.objectNode();
-        if (personaId != null) {
-            paramsAsJson.put("personaId", personaId);
-        }
-        if (sessionId != null) {
-            paramsAsJson.put("sessionId", sessionId);
-        }
-        if (!schemaService.isValid(paramsAsJson.toString(), "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0")) {
+        paramsAsJson.put("personaId", personaId);
+        paramsAsJson.put("sessionId", sessionId);
+        if (!schemaService.isValid(paramsAsJson.toString(), "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) {
             throw new InvalidRequestException("Invalid parameter", "Invalid received data");
         }
         Date timestamp = new Date();
diff --git a/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java b/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java
index ac617d3d7..55ba632f9 100644
--- a/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java
+++ b/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java
@@ -63,10 +63,11 @@ public class RestServiceUtilsImpl implements RestServiceUtils {
         Cookie[] cookies = httpServletRequest.getCookies();
 
         if (cookies != null) {
+            final Object profileIdCookieName = configSharingService.getProperty("profileIdCookieName");
             for (Cookie cookie : cookies) {
-                final Object profileIdCookieName = configSharingService.getProperty("profileIdCookieName");
                 if (profileIdCookieName.equals(cookie.getName())) {
-                    if (!schemaService.isValid(JsonNodeFactory.instance.objectNode().put("profileIdCookieName", cookie.getValue()).toString(), "https://unomi.apache.org/schemas/json/cookie/1-0-0")) {
+                    String profileIdJSON = JsonNodeFactory.instance.objectNode().put("profileId", cookie.getValue()).toString();
+                    if (!schemaService.isValid(profileIdJSON, "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) {
                         throw new InvalidRequestException("Invalid profile ID format in cookie", "Invalid received data");
                     }
                     cookieProfileId = cookie.getValue();
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
deleted file mode 100644
index 835dd8e79..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/contextrequest/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "contextRequest",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ContextRequest",
-  "type": "object",
-  "properties": {
-    "source": {
-      "$ref": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0"
-    },
-    "requireSegments": {
-      "type": ["null", "boolean"]
-    },
-    "requiredProfileProperties": {
-      "type": ["null", "array"],
-      "items": {
-        "type": "string"
-      }
-    },
-    "requiredSessionProperties": {
-      "type": ["null", "array"],
-      "items": {
-        "type": "string"
-      }
-    },
-    "requireScores": {
-      "type": ["null", "boolean"]
-    },
-    "events": {
-      "type": ["null", "array"],
-      "items": {
-        "type": "object"
-      }
-    },
-    "filters": {
-      "type": ["null", "array"],
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0"
-      }
-    },
-    "personalizations": {
-      "type": ["null", "array"],
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0"
-      }
-    },
-    "profileOverrides": {
-      "$ref": "https://unomi.apache.org/schemas/json/profile/1-0-0"
-    },
-    "sessionPropertiesOverrides": {
-      "type": ["null", "object"],
-      "maxProperties": 50
-    },
-    "sessionId": {
-      "type": ["null", "string"],
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    },
-    "profileId": {
-      "type": ["null", "string"],
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    },
-    "clientId": {
-      "type": ["null", "string"]
-    }
-  }
-}
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
deleted file mode 100644
index d90c6fa76..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "contextRequestParams",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ContextRequestParams",
-  "type": "object",
-  "properties": {
-    "personaId" : {
-      "type" : "string",
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    },
-    "sessionId" : {
-      "type" : "string",
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    }
-  }
-}
\ No newline at end of file
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
deleted file mode 100644
index 8f8e3a2fb..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "source",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Source",
-  "type": "object",
-  "properties" : {
-    "itemId" : {
-      "type" : ["null","string"],
-      "pattern" : "^(\\w|[-_@\\./]){0,100}$",
-      "description" : "The identifier for the item"
-    },
-    "itemType" : {
-      "type" : "string",
-      "description" : "The type for the item"
-    },
-    "scope" : {
-      "type" : ["null","string"],
-      "description" : "The item's scope"
-    },
-    "version" : {
-      "type" : ["null","integer"],
-      "minimum" : 0,
-      "description" : "The item's version number"
-    },
-    "systemMetadata" : {
-      "type" : ["null","object"],
-      "description" : "Any system metadata for the item",
-      "maxProperties" : 50
-    }
-  }
-}
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json b/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
deleted file mode 100644
index 8031450fd..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/cookie/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "cookie",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Cookie",
-  "type": "object",
-  "properties": {
-    "profileIdCookieName" : {
-      "type" : "string",
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    }
-  }
-}
\ No newline at end of file
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json
similarity index 61%
rename from rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
rename to rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json
index 76c541e8e..9828e95ef 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json
@@ -1,14 +1,15 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/rest/eventscollectorrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "eventsCollectorRequest",
     "format":"jsonschema",
     "version":"1-0-0"
   },
   "title": "EventsCollectorRequest",
   "type": "object",
+  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0" }],
   "properties": {
     "events" : {
       "type": ["array"],
@@ -16,10 +17,6 @@
         "type": "object"
       },
       "minItems": 1
-    },
-    "sessionId" : {
-      "type": ["null", "string"],
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
     }
   }
 }
\ No newline at end of file
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json b/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json
new file mode 100644
index 000000000..366a79524
--- /dev/null
+++ b/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json
@@ -0,0 +1,26 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "contextRequest",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "ContextRequest",
+  "type": "object",
+  "properties": {
+    "sessionId": {
+      "type": ["null", "string"],
+      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
+    },
+    "profileId": {
+      "type": ["null", "string"],
+      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
+    },
+    "personaId" : {
+      "type" : ["null", "string"],
+      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
+    }
+  }
+}
diff --git a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json b/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
deleted file mode 100644
index 8cc74e797..000000000
--- a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "login",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "LoginEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file