Skip to content

Schema Changes - 2025-10-27

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

Changes

diff --git a/schema/Api/CustomerBroker/CreateCustomerRequest.json b/schema/Api/CustomerBroker/CreateCustomerRequest.json
index 5e47bb5..432f19e 100644
--- a/schema/Api/CustomerBroker/CreateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/CreateCustomerRequest.json
@@ -27,7 +27,7 @@
           "id": {"description": "Required. Billing entity identifier.", "type": "string"},
           "xmlSenderId": { "description": "Optional. XmlSenderId override.", "type": ["string", "null"] },
           "addresses": {
-            "description": "Required. Child addresses.",
+            "description": "Required. Child addresses. Must be an empty array [] for create operations (business rule override).",
             "type": "array",
             "items": {
               "type": "object",
@@ -37,7 +37,8 @@
                 "code"       : { "description": "Required. Code for the address.", "type": "string"           }
               },
               "required": ["code"]
-            }
+            },
+            "maxItems": 0
           },
           "isDefaultForCustomer": {
             "description": "Required. Indicates whether this is the default billing entity for the customer.",
diff --git a/schema/Api/CustomerBroker/GetCustomerResponse.json b/schema/Api/CustomerBroker/GetCustomerResponse.json
index 8a9b595..a43fa53 100644
--- a/schema/Api/CustomerBroker/GetCustomerResponse.json
+++ b/schema/Api/CustomerBroker/GetCustomerResponse.json
@@ -38,29 +38,32 @@
                   "additionalProperties": false,
                   "properties": {
                     "xmlSenderId": { "description": "Optional. XmlSenderId.", "type": ["string", "null"] },
-                    "address1": { "description": "Optional. Address line 1.", "type": ["string", "null"] },
+                    "address1": {"description": "Required. Address line 1.", "type": "string"},
                     "address2": { "description": "Optional. Address line 2.", "type": ["string", "null"] },
                     "address3": { "description": "Optional. Address line 3.", "type": ["string", "null"] },
-                    "city": { "description": "Optional. City.", "type": ["string", "null"] },
+                    "city": {"description": "Required. City.", "type": "string"},
                     "code": {"description": "Required. Code for the address.", "type": "string"},
                     "company": { "description": "Optional. Company name.", "type": ["string", "null"] },
-                    "country": { "description": "Optional. Country.", "type": ["string", "null"] },
+                    "country": {"description": "Required. Country.", "type": "string"},
                     "emailAddress": { "description": "Optional. Email address.", "type": ["string", "null"] },
                     "faxNumber": { "description": "Optional. Fax number.", "type": ["string", "null"] },
                     "isBillToDefault": {
-                      "description": "Optional. Indicates whether this is the default bill-to address.",
-                      "type": ["boolean", "null"]
+                      "description": "Required. Indicates whether this is the default bill-to address.",
+                      "type": "boolean"
                     },
                     "isShipToDefault": {
-                      "description": "Optional. Indicates whether this is the default ship-to address.",
-                      "type": ["boolean", "null"]
+                      "description": "Required. Indicates whether this is the default ship-to address.",
+                      "type": "boolean"
                     },
-                    "name": { "description": "Optional. Address name.", "type": ["string", "null"] },
+                    "name": {"description": "Required. Address name.", "type": "string"},
                     "phoneNumber": { "description": "Optional. Phone number.", "type": ["string", "null"] },
-                    "postalCode": { "description": "Optional. Postal code.", "type": ["string", "null"] },
-                    "stateProvince": { "description": "Optional. State or province.", "type": ["string", "null"] }
+                    "postalCode": {"description": "Required. Postal code.", "type": "string"},
+                    "stateProvince": {"description": "Required. State or province.", "type": "string"}
                   },
-                  "required": ["code"]
+                  "required": [
+                    "code", "name", "address1", "city", "country", "stateProvince", "postalCode",
+                    "isBillToDefault", "isShipToDefault"
+                  ]
                 }
               },
               "isDefaultForCustomer": {
@@ -196,7 +199,7 @@
                     "fulfillmentSystemName": {"description": "Required. Fulfillment system name.", "type": "string"}
                   },
                   "required": [
-                    "fulfillmentSystemId", "fulfillmentSystemShipMethodId", "fulfillmentSystemName"
+                    "fulfillmentSystemId", "fulfillmentSystemName", "fulfillmentSystemShipMethodId"
                   ]
                 }
               },
diff --git a/schema/Api/CustomerBroker/UpdateCustomerRequest.json b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
index 5c0da62..3a78269 100644
--- a/schema/Api/CustomerBroker/UpdateCustomerRequest.json
+++ b/schema/Api/CustomerBroker/UpdateCustomerRequest.json
@@ -168,12 +168,9 @@
                 "fulfillmentSystemShipMethodId": {
                   "description": "Required. Fulfillment system ship method identifier.",
                   "type": "string"
-                },
-                "fulfillmentSystemName": {"description": "Required. Fulfillment system name.", "type": "string"}
+                }
               },
-              "required": [
-                "fulfillmentSystemId", "fulfillmentSystemShipMethodId", "fulfillmentSystemName"
-              ]
+              "required": ["fulfillmentSystemId", "fulfillmentSystemShipMethodId"]
             }
           },
           "trackingUrl": { "description": "Optional. Tracking URL.", "type": ["string", "null"] }
diff --git a/schema/Api/OfferBroker/CreateOfferRequest.json b/schema/Api/OfferBroker/CreateOfferRequest.json
index fad90e1..7712be2 100644
--- a/schema/Api/OfferBroker/CreateOfferRequest.json
+++ b/schema/Api/OfferBroker/CreateOfferRequest.json
@@ -102,7 +102,7 @@
         "type": "object",
         "additionalProperties": false,
         "properties": {
-          "name": { "type": ["string", "null"] },
+          "name": {"type": "string"},
           "price": { "type": ["number", "null"], "format": "double" },
           "priceTiers": {
             "type": ["array", "null"],
@@ -146,9 +146,11 @@
               "type": "object",
               "additionalProperties": false,
               "properties": {
-                "productId"             : { "type": "string"                               },
-                "pageCount"             : { "type": ["integer", "null"], "format": "int32" },
-                "productQuantityInOffer": { "type": "integer"          , "format": "int32" }
+                "productId"             : { "type": "string"                                },
+                "associatedFileName"    : { "type": ["string", "null"]                      },
+                "pageCount"             : { "type": ["integer", "null"], "format": "int32"  },
+                "productQuantityInOffer": { "type": "integer"          , "format": "int32"  },
+                "surcharge"             : { "type": ["number", "null"] , "format": "double" }
               },
               "required": ["productId", "productQuantityInOffer"]
             },
diff --git a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
index a9ef9fc..306ab38 100644
--- a/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
+++ b/schema/Api/OfferBroker/GetOfferCategoriesResponse.json
@@ -15,7 +15,7 @@
           "categoryLevel": { "type": ["integer", "null"], "format": "int32" },
           "categoryName": {"type": "string"},
           "subCategories": {
-            "type": ["array", "null"],
+            "type": "array",
             "items": {
               "type": "object",
               "additionalProperties": false,
diff --git a/schema/Api/OrderBroker/InternalUpdateOrderRequest.json b/schema/Api/OrderBroker/InternalUpdateOrderRequest.json
index 5a90d8f..c112044 100644
--- a/schema/Api/OrderBroker/InternalUpdateOrderRequest.json
+++ b/schema/Api/OrderBroker/InternalUpdateOrderRequest.json
@@ -166,7 +166,8 @@
                   "format": "int32"
                 },
                 "size": { "description": "Size", "type": ["string", "null"] }
-              }
+              },
+              "required": ["productId"]
             }
           },
           "quantityOrdered": {
@@ -180,8 +181,10 @@
             "type": ["string", "null"],
             "pattern": "^[0-9]+$"
           },
-          "taxAmount": { "description": "Tax amount", "type": ["number", "null"], "format": "decimal" }
-        }
+          "taxAmount": { "description": "Tax amount", "type": ["number", "null"], "format": "decimal" },
+          "unitPrice": { "description": "Unit price", "type": ["number", "null"], "format": "decimal" }
+        },
+        "required": ["quantityOrdered", "price", "taxAmount", "lineItemFee"]
       }
     },
     "orderFee": { "description": "Order fee", "type": ["number", "null"], "format": "decimal" },
@@ -300,7 +303,8 @@
               "phoneNumber"  : { "description": "Phone number"     , "type": ["string", "null"] },
               "postalCode"   : { "description": "Postal code"      , "type": ["string", "null"] },
               "stateProvince": { "description": "State or province", "type": ["string", "null"] }
-            }
+            },
+            "required": ["address1", "city", "country", "name", "postalCode", "stateProvince"]
           },
           "shippingCost": {
             "description": "Shipping cost",
@@ -318,7 +322,10 @@
             "format": "decimal"
           }
         },
-        "required": ["key"]
+        "required": [
+          "key", "sourceSystemShippingMethodId", "shippingCost", "shippingHandlingTax",
+          "shipToAddress"
+        ]
       }
     },
     "shippingHandlingTax": {
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
index 3a0290d..e311185 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderRequest.json
@@ -154,7 +154,7 @@
           "shippingService": { "type": ["string", "null"] },
           "status": { "type": ["string", "null"] }
         },
-        "required": ["key", "fulfillmentSystemShippingMethodId"]
+        "required": ["key", "fulfillmentSystemShippingMethodId", "shipToAddress"]
       }
     },
     "shipments": {
@@ -163,6 +163,8 @@
         "type": "object",
         "additionalProperties": false,
         "properties": {
+          "fulfillmentSystemId": { "type": ["string", "null"] },
+          "fulfillmentSystemLocationId": { "type": ["string", "null"] },
           "shipmentId": {"type": "string"},
           "carrier": { "type": ["string", "null"] },
           "freight": {"type": "number", "format": "double"},
@@ -172,7 +174,20 @@
             "items": {
               "type": "object",
               "additionalProperties": false,
-              "properties": { "packageNumber": {"type": "string"}, "trackingNumber": {"type": "string"} },
+              "properties": {
+                "packageNumber": {"type": "string"},
+                "products": {
+                  "type": ["array", "null"],
+                  "items": {
+                    "type": "object",
+                    "properties": {
+                      "productLineId": { "type": ["string", "null"]                     },
+                      "shipQuantity" : { "type": ["number", "null"], "format": "double" }
+                    }
+                  }
+                },
+                "trackingNumber": {"type": "string"}
+              },
               "required": ["packageNumber", "trackingNumber"]
             }
           },
diff --git a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
index 14b0a3c..50f37b3 100644
--- a/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
+++ b/schema/Api/OrderBroker/UpdateFulfillmentOrderResponse.json
@@ -4,14 +4,7 @@
   "type": "object",
   "additionalProperties": false,
   "properties": {
-    "data": {
-      "type": ["object", "null"],
-      "additionalProperties": false,
-      "properties": {
-        "fulfillmentOrderId": { "type": ["string", "null"] },
-        "status"            : { "type": ["string", "null"] }
-      }
-    },
+    "data": { "description": "Updated fulfillment order data", "type": ["object", "null"] },
     "failureMessages": { "type": "array", "items": {"type": "string"} },
     "informationalMessages": { "type": "array", "items": {"type": "string"} },
     "operationWasSuccessful": {"type": "boolean"}