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"]
+ }
}
}
}