Skip to content

Schema Changes - 2025-07-23

This document contains the changes to the schema files compared to the main branch.

Changes

diff --git a/schema/Api/OrderBroker/InternalNewOrderRequest.json b/schema/Api/OrderBroker/InternalNewOrderRequest.json
index 55e2407..654d2a9 100644
--- a/schema/Api/OrderBroker/InternalNewOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalNewOrderRequest.json
@@ -323,20 +323,7 @@
     },
     "orderVariables": {
       "description": "Manually entered variables for order within order management system (system where order lifecycle will be managed in)",
-      "oneOf": [
-        {"type": "null"},
-        {"type": "object", "maxProperties": 0},
-        {
-          "description": "Order.LineItems level additional properties details",
-          "type": "object",
-          "additionalProperties": false,
-          "properties": {
-            "key"  : { "type": ["string", "null"] },
-            "value": { "type": ["string", "null"] }
-          },
-          "required": ["key", "value"]
-        }
-      ]
+      "oneOf": [ {"type": "null"}, {"type": "object", "maxProperties": 0} ]
     },
     "orderedBys": {
       "description": "Order level ordered by contact and address details. Not required, but if present, each item must have required address fields and a non-null key.",
@@ -557,39 +544,28 @@
     {
       "oneOf": [
         {
-          "properties": { "defaultBillToKey": {"type": "integer"} },
+          "properties": { "defaultBillToKey": {"type": "integer", "minimum": 0} },
           "required": ["defaultBillToKey"]
         },
-        {
-          "not": {
-            "properties": { "defaultBillToKey": {"type": "integer"} },
-            "required": ["defaultBillToKey"]
-          },
-          "properties": {
-            "billTos"         : { "type": "array"            , "minItems": 1 },
-            "defaultBillToKey": { "type": ["null", "integer"]                }
-          },
-          "required": ["billTos"]
-        }
+        { "properties": { "defaultBillToKey": { "type": ["null", "integer"] } } }
       ]
     },
     {
       "oneOf": [
         {
-          "properties": { "defaultShipToKey": {"type": "integer"} },
+          "properties": { "defaultShipToKey": {"type": "integer", "minimum": 0} },
           "required": ["defaultShipToKey"]
         },
+        { "properties": { "defaultShipToKey": { "type": ["null", "integer"] } } }
+      ]
+    },
+    {
+      "oneOf": [
         {
-          "not": {
-            "properties": { "defaultShipToKey": {"type": "integer"} },
-            "required": ["defaultShipToKey"]
-          },
-          "properties": {
-            "defaultShipToKey": { "type": ["null", "integer"]                },
-            "shipTos"         : { "type": "array"            , "minItems": 1 }
-          },
-          "required": ["shipTos"]
-        }
+          "properties": { "defaultOrderedByKey": {"type": "integer", "minimum": 0} },
+          "required": ["defaultOrderedByKey"]
+        },
+        { "properties": { "defaultOrderedByKey": { "type": ["null", "integer"] } } }
       ]
     },
     {
@@ -616,7 +592,29 @@
           "properties": {
             "lineItems": {
               "type": "array",
-              "items": { "properties": { "shipToKey": {"type": "integer", "minimum": 0} } }
+              "items": {
+                "type": "object",
+                "properties": { "shipToKey": {"type": "integer", "minimum": 0} },
+                "required": ["shipToKey"]
+              }
+            }
+          }
+        }
+      ]
+    },
+    {
+      "oneOf": [
+        { "properties": { "defaultOrderedByKey": {"type": "integer"} } },
+        { "properties": { "orderedBys": {"type": "array", "minItems": 0} } },
+        {
+          "properties": {
+            "lineItems": {
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": { "orderedByKey": {"type": "integer", "minimum": 0} },
+                "required": ["orderedByKey"]
+              }
             }
           }
         }
diff --git a/schema/Api/OrderBroker/NewOrderRequest.json b/schema/Api/OrderBroker/NewOrderRequest.json
index 0a4f6dd..5cd4231 100644
--- a/schema/Api/OrderBroker/NewOrderRequest.json
+++ b/schema/Api/OrderBroker/NewOrderRequest.json
@@ -323,20 +323,7 @@
     },
     "orderVariables": {
       "description": "Manually entered variables for order within order management system (system where order lifecycle will be managed in)",
-      "oneOf": [
-        {"type": "null"},
-        {"type": "object", "maxProperties": 0},
-        {
-          "description": "Order.LineItems level additional properties details",
-          "type": "object",
-          "additionalProperties": false,
-          "properties": {
-            "key"  : { "type": ["string", "null"] },
-            "value": { "type": ["string", "null"] }
-          },
-          "required": ["key", "value"]
-        }
-      ]
+      "oneOf": [ {"type": "null"}, {"type": "object", "maxProperties": 0} ]
     },
     "orderedBys": {
       "description": "Order level ordered by contact and address details. Not required, but if present, each item must have required address fields and a non-null key.",
@@ -557,39 +544,28 @@
     {
       "oneOf": [
         {
-          "properties": { "defaultBillToKey": {"type": "integer"} },
+          "properties": { "defaultBillToKey": {"type": "integer", "minimum": 0} },
           "required": ["defaultBillToKey"]
         },
-        {
-          "not": {
-            "properties": { "defaultBillToKey": {"type": "integer"} },
-            "required": ["defaultBillToKey"]
-          },
-          "properties": {
-            "billTos"         : { "type": "array"            , "minItems": 1 },
-            "defaultBillToKey": { "type": ["null", "integer"]                }
-          },
-          "required": ["billTos"]
-        }
+        { "properties": { "defaultBillToKey": { "type": ["null", "integer"] } } }
       ]
     },
     {
       "oneOf": [
         {
-          "properties": { "defaultShipToKey": {"type": "integer"} },
+          "properties": { "defaultShipToKey": {"type": "integer", "minimum": 0} },
           "required": ["defaultShipToKey"]
         },
+        { "properties": { "defaultShipToKey": { "type": ["null", "integer"] } } }
+      ]
+    },
+    {
+      "oneOf": [
         {
-          "not": {
-            "properties": { "defaultShipToKey": {"type": "integer"} },
-            "required": ["defaultShipToKey"]
-          },
-          "properties": {
-            "defaultShipToKey": { "type": ["null", "integer"]                },
-            "shipTos"         : { "type": "array"            , "minItems": 1 }
-          },
-          "required": ["shipTos"]
-        }
+          "properties": { "defaultOrderedByKey": {"type": "integer", "minimum": 0} },
+          "required": ["defaultOrderedByKey"]
+        },
+        { "properties": { "defaultOrderedByKey": { "type": ["null", "integer"] } } }
       ]
     },
     {
@@ -616,7 +592,29 @@
           "properties": {
             "lineItems": {
               "type": "array",
-              "items": { "properties": { "shipToKey": {"type": "integer", "minimum": 0} } }
+              "items": {
+                "type": "object",
+                "properties": { "shipToKey": {"type": "integer", "minimum": 0} },
+                "required": ["shipToKey"]
+              }
+            }
+          }
+        }
+      ]
+    },
+    {
+      "oneOf": [
+        { "properties": { "defaultOrderedByKey": {"type": "integer"} } },
+        { "properties": { "orderedBys": {"type": "array", "minItems": 0} } },
+        {
+          "properties": {
+            "lineItems": {
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": { "orderedByKey": {"type": "integer", "minimum": 0} },
+                "required": ["orderedByKey"]
+              }
             }
           }
         }